昔の Linux ボードの OS を更新する(Lichee Nano 編)
やっぱり積みボードとなっている Lichee Nano の FW を更新する
現状
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI
U-Boot 2018.01-05679-g013ca457fd-dirty (Aug 02 2019 - 09:57:28 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected xt25f128b with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Setting up a 800x480 lcd console (overscan 0x0)
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected xt25f128b with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x4000
SF: 16384 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
SF: 4194304 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 80e03000, end 80e07ddc ... OK
これもほぼ初期状態ですかね。
Welcome to Buildroot
nano login: root
Password:
Jan 1 00:01:29 login[108]: root login on 'console'
# uname -a
Linux nano 5.2.0-licheepi-nano+ #2 Thu Aug 1 09:45:44 UTC 2019 armv5tejl GNU/Linux
カーネルのバージョンはそんなに古くないです。
SD イメージのビルド
Edison はフラッシュ2GBありましたが、これは 16MB しかありません。 Lichee Nano 自体は Buildroot に設定があるので、そのまま使えば 16MB に収まるイメージを作ることもできます。 しかしサイズを縮小するために、必要最低限の機能しか有効にされていません。
ここでは 高機能カーネルを使って、SD カードからブートします。
偉大な先達のおかげでほぼ自動で Build できます。 docker を使うので、一般ユーザ権限で docker を使えるようにしておきます。
$ git clone https://github.com/goediy/licheepi-nano-mainline.git
$ cd licheepi-nano-mainline
$ cd docker/
$ ./00create-docker.sh
$ cd ../
$ ./download-and-build.sh
こちらは、比較的速く2時間ほどで終わりました。サイズは 137MB でした。 これを適当なツールで MicroSD カードに書き込みます。
Welcome to Buildroot for the Lichee Pi Nano
nano login: root
# uname -a
Linux nano 6.4.16-licheepi-nano #1 Sat Mar 30 07:40:14 UTC 2024 armv5tejl GNU/Linux