U-Boot
本日はu-bootのお勉強。そろそろ手打ちが面倒になってきたのでu-bootのお勉強して自動起動したいなと。
まず、コンパイルした素のKOBO/u-bootでの "printenv" コマンドの出力は以下のようになっておりました。
eBR-1A # printenv
bootdelay=1
baudrate=115200
loadaddr=0x70800000
uboot=u-boot.bin
kernel=uImage
bootargs_base=setenv bootargs console=ttymxc0,115200 rootwait rw no_console_suspend lpj=3997696
bootargs_mmc=setenv bootargs ${bootargs}
bootcmd_mmc=run bootargs_base bootargs_mmc;load_ntxkernel; bootm
bootargs_SD=setenv bootargs ${bootargs}
bootcmd_SD=run bootargs_base bootargs_SD;load_ntxkernel; bootm
bootargs_recovery=setenv bootargs ${bootargs}
bootcmd_recovery=run bootargs_base bootargs_recovery;load_ntxkernel; bootm
bootcmd=run bootcmd_mmc
KRN_SDNUM_SD=1
KRN_SDNUM_Recovery=0
verify=no
stdin=serial
stdout=serial
stderr=serial
bootargs=console=ttymxc0,115200 rootwait rw no_console_suspend lpj=3997696
Environment size: 691/131068 bytes
ということで、 "bootcmd" を改変してあげれば良いみたいです。
eBR-1A # setenv bootcmd_netbsd 'mmcinfo 1;fatload mmc 1 0x70100000 netbsd.bin; go 0x70100000' eBR-1A # setenv bootcmd 'run bootcmd_netbsd' eBR-1A # saveenv Saving Environment to MMC... Writing to MMC(0)... done
としてあげれば 'boot' コマンド一発で起動できます。
また、u-boot が起動時に boot コマンドを実行してくれますので電源入れれば起動してくれるようになっているはずです。
起動アドレス
あと、今回は起動アドレスをNetBSDのカーネルの方で指定してある "0x70100000" にしております。これでちょっとは起動が早くなったはず。(今まではLinuxにあわせて "0x70800000" に一旦バイナリを展開していたので。)
よし、これでデバッグがはかどるぞと。
0 件のコメント:
コメントを投稿