ジャンル不定の日記です。

Orange pi R1でArch Linux起動した

前の記事に書いたが、朝原因わかったので昨日断念したOrange pi R1でArch Linuxを再トライ。

同じSD使ったんで、u-boot本体はパーティションの外に入ってるんで、フォーマットしてrootfs展開してboot.scrだけ更新。
rootfsはext4にした。
自ビルドカーネルのmenuconfigみたらext4しかチェックされてなかったので、とりあえずext4が無難と判断。
最終的にはフラッシュメモリ向きのFSにしたいかな。

boot.cmd
setenv bootargs root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200
load mmc 0:1 ${kernel_addr_r} /boot/zImage
load mmc 0:1 ${fdt_addr_r} /boot/${fdtfile}
if load mmc 0:1 ${ramdisk_addr_r} /boot/initramfs.img;then
    bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
else
    bootz ${kernel_addr_r} - ${fdt_addr_r};
fi;
こんな感じにした。
/boot/initramfs.img がない場合はinitramfsを使わない。ある場合は使う。あってもなくても起動した。
注意点はカーネルパラメータに rw つけないとエラー多発でログイン不能になる。
あと、ArmbianはramdiskがuImageだったからと思うが、Archの場合は bootz にramdiskを渡すときにサイズも入れる必要があった。入れないとboot失敗する。

初期パスワードは、
root(root) と一般ユーザのalarm(alarm)

zImageを昨日作った自ビルドのものに差し替えても起動した。
自ビルドカーネルは5.5.0-rc5になってたけど、stableが5.4.11なのね。stableにしとくべきだった。

有線LANは有効になってたが RTL8189FTV はモジュール入ってないので次試す。
あとSPIフラッシュに入れるには16MB未満にしなきゃだが1GB以上になってる。
ほとんど全部消さなきゃなんで、initから全部構築しちゃったほうが早いのかな?

Arch Linuxのinitはsystemdだがbusybox initなるものもあるらしい・・・
busyboxは必須な気がするし・・・