SSブログ
前の3件 | -

Raspberry Pi 4 で LineageOS 16.0 Android 9 Pie をUSB SSDから起動 [Raspberry Pi]

ラズパイ4で Android 9 を MicroSDから起動して Amazon Prime Video アプリを使っていたが,MicroSD が低速のせいか Android の動作がちょっと遅く,使いにくい状況だった。
それを USB 接続の SSD に切り替えた。
方法は,USB Boot できるようラズパイ4のブートローダーをアップデート,Androidが入ったMicroSDをSSDに丸ごとコピー,bootパーティション内のファイル3つの置き換えで,詳細は以下のとおり。
DSC01985

Screenshot_20200630-085453_Trebuchet

Screenshot_20200630-085525_

ラズパイ4は電源が 3A5Vしかないので,SSDに電源供給できるHDDドッキング台を使っている。
MicroSD から SSD への移行は Linuxパソコンを使っている。

ラズパイ4で USB Boot するにはブートローダーを書き換える。
https://tynick.com/blog/05-22-2020/raspberry-pi-4-boot-from-usb/
Raspberry Pi OS (64 bit) beta をダウンロードして別の MicroSD にライトする。それでラズパイ4を起動したらapt でアップデートする。

raspios 64ビットのダウンロード
https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370&fbclid=IwAR0YAbnFVdmKMb1of7UMAVWTtksFk5akMTgubS6a2XGzdY0vx9lD7XBDj78
https://downloads.raspberrypi.org/raspios_arm64/images/

MicroSD にライト

zcat 2020-05-27-raspios-buster-arm64.zip > /dev/sdb && sync

ラズパイ4でraspios 64ビットを起動してアップデートする。

apt update
apt full-upgrade

/lib/firmware/raspberrypi/bootloader/stable/に pieeprom-2020-06-15.bin が入ってくるのでブートローダーをアップデートする。

sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-06-15.bin
sudo reboot

ブートローダーのバージョン確認

vcgencmd bootloader_version

Android 9 でPrime Video アプリも入っている MicroSD を丸ごと SSD にコピーする。
ラズパイ4で Android を起動できる MicroSD の作り方,Google Play のインストールはこちらを参照し,既にラズパイ4で Android が起動できるMicroSDを作っていた。

dd if=/dev/sdc of=/dev/sdb bs=1M status=progress
MIcroSD: /dev/sdc   SSD: /dev/sdb

続いてSSDのbootパーティションにあるファイル3個を入れ替える。
こちらのサイトの下の方のコメントにGuide for USB Bootという題のコメントがあり,そこから3つのファイルをダウンロードする。
https://konstakang.com/devices/rpi4/LineageOS16.0/

fixup4x.dat
start4x.elf
ramdisk.img

これらをSSDの1番目のbootパーティションにファイル単位で上書きする。
SSD をラズパイ4の USB3.0 に接続して MicroSD は外す。これで SSD から Android が起動した。


nice!(0)  コメント(0) 

パソコン不調の原因はハードディスクの劣化

DSC01939

ハードディスクを交換して問題解決したが,以下のような不調があった。

・Windows がフリーズする。
・Windows 起動に失敗し,何も表示されない。
主電源を切って,しばらくしてから電源ONするとWindows が起動する。
・Windows をシャットダウンしても電源が切れない。
・Linux をUSBブートで起動するが,フリーズする。

マザーボードはECS P35T-A。CPUはCore 2 Duo。ハードディスク3台。2008年のパソコン。
ハードディスクの1台が crystaldiskinfo で「注意」と表示され,エラーがカウントされていた。

劣化したのは1TBのシステムディスク。これを外し,USB接続のHDDスタンドにマウントして,別の1TBハードディスクにclonezilla の disk to disk で丸ごとコピーしたところ,不良セクターでコピーがアベンドしてしまった。

clonezilla をexpert モードでRescueオプション(読み取りエラーがあっても続行)を付けてコピーを実行したら無事終了した。

Windowsも無事起動し,何も問題ないような感じだったが,念のため,chkdsk c: /f でファイルシステム修復, sfc /scannow でシステムファイルの修復を行った。


nice!(0)  コメント(0) 

Raspberry Pi Zero で無線LANのレピーター [Raspberry Pi]

インターネットにつながっている無線LANルーターから,ちょっと離れている電波が届きにくい所があるので,ラズパイZeroで無線LANのレピーターをやってみた。
無線LAN内蔵のZero Wじゃないので,USBハブでUSB無線LANアダプターを2個接続している。
また,有線から無線LANのNATもやってみたので,USBイーサーネットアダプターもUSBハブに接続している。
(実際はbridgeではなく,無線→無線又は有線→無線のNAT)


DSC01937


USB無線LANアダプターは,Buffalo WLI-UC-GN とRalink RT2870/RT3070ワイヤレスアダプター。
USBイーサーネットアダプターはELECOM EDC-GUA3-B。
写真にはないが,実際にはパソコンをUSBシリアルコンバーターでラズパイZeroに接続して,コンソールで操作した。ラズパイZeroのsshdを有効にしてssh接続でもいい。


Raspbian Buster lite を起動して raspi-config のWiFIで SSID とパスフレーズを入力。無線LANにラズパイZeroを接続しておく。


apt update && apt –y upgrade


無線AP機能のhostapdとDNS/DHCPサーバ機能のdnsmasq をインストール


apt –y install hostapd dnsmasq


wlan0 がラズパイZeroのAPで固定IP,wlan1は無線LANルーターにWPA2で接続するので動的IP。


/etc/dhcpcd.conf
(追記)


interface wlan0
static ip_address=192.168.2.254/24
static routers=192.168.2.0


/etc/dnsmasq.conf
(追記)


interface=wlan0
dhcp-range=192.168.2.50,192.168.2.150,255.255.255.0,12h


/etc/hostapd/hostapd.conf
(新規作成ファイル)


interface=wlan0
driver=nl80211
ssid=pizero
hw_mode=g
channel=6
country_code=JP
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=fujiko3210
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP


/etc/default/hostapd


DAEMON_CONF="/etc/hostapd/hostapd.conf"


hostapdの自動起動


systemctl unmask hostapd
systemctl enable hostapd


iptablesの実行(コマンド入力)


iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
iptables -A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT


iptables –L で確認。間違えたら iptables –F で全削除。


iptables をファイルにセーブ


iptables-save > /etc/iptables.ipv4.nat


/etc/rc.local の exit 0 の前にiptables をリストアするコマンドを追加


iptables-restore < /etc/iptables.ipv4.nat


/etc/sysctl.conf
(# Uncomment the next line to enable packet forwarding for IPv4の次の行をコメントアウト)


net.ipv4.ip_forward=1


リブート! ラズパイZeroが無線AP(SSID: pizero)になるので,pizeroに接続すればインターネットにつながる。USBハブがボトルネックなのか,無線の干渉なのか分かってないが,speedtestでは遅い。


apt install speedtest-cli
speedtest-cli


次は,USB無線LANアダプタの1つを取り外して,一方をUSBイーサネットアダプターにしてみたら,こちらの方は速かった。無線はwlan0,有線はeth0。


hostpadを停止する(使わない)。


systemctl stop hostapd
systemctl disable hostapd


/etc/dhcpcd.conf


interface eth0
static ip_address=192.168.2.254/24
static routers=192.168.2.0


/etc/dnsmasq.conf


interface=eth0
dhcp-range=192.168.2.50,192.168.2.150,255.255.255.0,12h


iptablesの実行


iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT


iptables のセーブファイルを書き換え。


iptables-save > /etc/iptables.ipv4.nat


/etc/rc.local の exit 0 の前にiptables をリストアするコマンドを追加


iptables-restore < /etc/iptables.ipv4.nat


/etc/sysctl.conf
(# Uncomment the next line to enable packet forwarding for IPv4の次の行をコメントアウト)


net.ipv4.ip_forward=1


リブート! ラズパイZeroのUSBイーサーアダプターにLANケーブル(クロス)で接続すればインターネットにつながる。   無線→有線の方は遅くない。



nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット
前の3件 | -