自ビルドしたROMで起動しない原因わかった!
昨日からOrange pi R1 を自ビルドしたkernelとu-bootで起動しようとしてできなかったが、
Arch Linuxだとどうにもならんので、起動するArmbianのイメージを書き換えてみた。
boot.cmd
.dtbファイルの変わるので自ビルドしたやつを配置した。
結果、起動した。
次に自ビルドしたu-boot本体をddで書き込んだ。
どうもu-boot本体がおかしいみたい。
u-bootのバージョンを確認したが、
自ビルド: U-Boot 2020.01-00473-g88366b96ee (Jan 12 2020 - 16:07:49 +0900) Allwinner Technology
Armbian: U-Boot 2019.10-armbian (Jan 05 2020 - 10:27:36 +0100) Allwinner Technology
https://linux-sunxi.org/U-Boot
にも v2019.10 を使うように書いてあるが、Armbianのバージョンと同じ。
結果、起動した!
Arch Linuxだとどうにもならんので、起動するArmbianのイメージを書き換えてみた。
boot.cmd
setenv bootargs root=/dev/mmcblk0p1 rootwait rootfstype=ext4 console=ttyS0,115200
load mmc 0:1 ${kernel_addr_r} /boot/zImage
load mmc 0:1 ${fdt_addr_r} /boot/${fdtfile}
load mmc 0:1 ${ramdisk_addr_r} /boot/uInitrd
bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r};
これで /boot/boot.scr を作成した。load mmc 0:1 ${kernel_addr_r} /boot/zImage
load mmc 0:1 ${fdt_addr_r} /boot/${fdtfile}
load mmc 0:1 ${ramdisk_addr_r} /boot/uInitrd
bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r};
.dtbファイルの変わるので自ビルドしたやつを配置した。
結果、起動した。
次に自ビルドしたu-boot本体をddで書き込んだ。
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
initramfsの形式が違うからと思うが1行増えたが止まった。Uncompressing Linux... done, booting the kernel.
どうもu-boot本体がおかしいみたい。
u-bootのバージョンを確認したが、
自ビルド: U-Boot 2020.01-00473-g88366b96ee (Jan 12 2020 - 16:07:49 +0900) Allwinner Technology
Armbian: U-Boot 2019.10-armbian (Jan 05 2020 - 10:27:36 +0100) Allwinner Technology
https://linux-sunxi.org/U-Boot
にも v2019.10 を使うように書いてあるが、Armbianのバージョンと同じ。
$ git checkout v2019.10
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_r1_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-
でビルドしなおしてみた。$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_r1_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-
結果、起動した!
Arch Linuxでも試してみる。