前回とほぼ同じなんですが、今回はブートローダを ストックロムから抜き出したものではなく、h728(a523)向けのu-bootをコンパイルし、これを使ってSDカードからブートさせる方法です。注意点としては残念ながら今回の方法だとPSCIチェッカーが通らずサスペンドなどに問題がある点ですが、その他は変わりません。
さっそくですが、手順です。まず ATF(arm-trusted-firmware)とu-boot のビルドからです。以下のようにしました。
つづいて書き込みが済んだら、 Linux機にUSBカードリーダを挿入して、/mnt/extlinux/extlinux.confを以下のように編集します。
なお今回使ったブートローダを少し改造してusbスキャンを少し遅らせるようにしたものを使うと sunxi-felでUSBをルートにすることができましたので、いずれ投稿したいとおもいます。
今回は以上です。それでは。
さっそくですが、手順です。まず ATF(arm-trusted-firmware)とu-boot のビルドからです。以下のようにしました。
mkdir -P /usr/src/h728 chown YourUserID /usr/src/h728 cd /usr/src/h728 git clone https://github.com/jernejsk/arm-trusted-firmware -b a523 git clone https://github.com/u-boot/u-boot -b v2025.10 cd arm-trusted-firmware make PLAT=sun55i_a523 DEBUG=0 bl31 cp build/sun55i_a523/release/bl31.bin ../u-boot cd ../u-boot make CROSS_COMPILE=aarch64-linux-gnu- x96q_pro_plus_defconfig make CROSS_COMPILE=aarch64-linux-gnu- -j 40これでブートローダー (u-boot-sunxi-with-spl.bin)は生成できました。続いて前回と同じように PhoenixCard用のイメージを作成しますが、今回のブートローダはカーネルのコンフィグを変えないとブートエラーが発生しますので、こちらからコンフィグを変えた diana.01.tar.gz をダウンロードし以下のようにして、解凍してください。
cd /usr/src/h728/radxa/radxa.tina/repo/device/config/chips/a527 cp ~/Downloads/diana.01.tar.gz . tar xzpf diana.01.tar.gz解凍がすんだら、クリーンナップ後コンフィグを設定し直し、イメージを生性します。
$ cd /usr/src/h728/radxa/radxa.tina/repo/ $ ./build.sh distclean $ ./build.sh config ========ACTION List: mk_config ;======== options : All available platform: 0. android 1. linux Choice [linux]: 1 All available linux_dev: 0. bsp 1. dragonboard 2. buildroot 3. debian Choice [bsp]: 3 All available kern_name: 0. linux-5.10 1. linux-5.15.tina.orig 2. linux-5.15 Choice [linux-5.15]: 2 All available ic: 0. a523 1. a527.tina.orig 2. a527 3. t527 Choice [a527]: 2 All available board: 0. cubie_a5e 1. d10_linux_aiot 2. demo_linux_aiot 3. diana.01 4. diana 5. pro2_linux_aiot Choice [diana]: 3 All available flash: 0. default 1. nor Choice [default]: 0 All available rootfs files: 0. linaro-bullseye-gnome-arm64.tar.gz 1. linaro-bullseye-lite-arm64.tar.gz 2. linaro-bullseye-lxde-arm64.tar.gz 3. linaro-bullseye-xfce-arm64.tar.gz Choice [linaro-bullseye-gnome-arm64.tar.gz]: 0 Setup BSP files # 後略 $ ./build.sh# #省略 $ ./build.sh pack #前略 ----------image is at---------- 3.7G /usr/src/h728/radxa/tina.radxa/repo/out/a527_linux_diana.01_uart0.img pack finishこれをWindows機に転送し、 PhoenixCard で USBカードリーダに差した MicroSD カードに書き込みします。前回同様WorkTypeがStart upになっていることを確認し書き込んでください。
つづいて書き込みが済んだら、 Linux機にUSBカードリーダを挿入して、/mnt/extlinux/extlinux.confを以下のように編集します。
#変更前 label linuxWork kernel /extlinux/Image devicetree /extlinux/sunxi.dtb append earlycon=uart8250,mmio32,0x02500000 clk_ignore_unused initcall_debug=0 console=tty1 console=ttyAS0,115200 loglevel=8 root=/dev/mmcblk0p4 #変更後 label linux kernel /extlinux/Image devicetree /extlinux/sunxi.dtb append earlycon=uart8250,mmio32,0x02500000 clk_ignore_unused initcall_debug=0 console=tty1 console=ttyAS0,115200 loglevel=8 root=/dev/mmcblk1p4 rw rootwait initcall_blacklist=psci_checkerrootがmmcblk0p4からmmcblk1p4に変更されるので注意してください。変更がすんだら、ブートローダを以下のようにして書き込みます。
# カードリーダが /dev/sdcの場合 sudo umount /dev/sdc1 cd /usr/src/h728/u-boot sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdc bs=1024 seek=8ブートローダの書き込みがすんだら、パーティションの拡大をわすれずにおこなってください。パーティションの拡大が済んだらカードリーダを抜き、MicroSDカードを本機に挿入し電源を入れます。約30秒ほどで画面が出ればOKです。debian12へのアップグレードやユーザ設定などは前回と同じなので省略しますが、IPアドレスだけを確認し ssh で guest/guest でログイン後、su (デフォルトパスワードはroot)して作業を進めるのが一番簡単かもしれません。
なお今回使ったブートローダを少し改造してusbスキャンを少し遅らせるようにしたものを使うと sunxi-felでUSBをルートにすることができましたので、いずれ投稿したいとおもいます。
今回は以上です。それでは。
コメント
コメントを投稿