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 件のコメント:
コメントを投稿