「その他メモ」の編集履歴(バックアップ)一覧はこちら
「その他メモ」(2015/03/13 (金) 09:44:11) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**NANDブート環境に戻す方法(シリアルコンソール無し)
> KUROBOX-PRO:^# chroot /usr/local/buffalo
> bash-2.05b# /usr/local/sbin/nvram -c printenv
> 1: [baudrate=115200]
> 2: [loads_echo=0]
> 3: [ipaddr=192.168.11.150]
> 4: [serverip=192.168.11.1]
> 5: [rootpath=/nfs/arm]
> 6: [cpuName=926]
> 7: [CASset=min]
> 8: [MALLOC_len=4]
> 9: [bootargs_end=:::DB88FXX81:eth0:none]
> 10: [ethact=egiga0]
> 11: [ethaddr=XX:XX:XX:XX:XX:XX]
> 12: [stdin=serial]
> 13: [stdout=serial]
> 14: [stderr=serial]
> 15: [enaMonExt=no]
> 16: [enaFlashBuf=yes]
> 17: [enaCpuStream=no]
> 18: [ethprime=egiga0]
> 19: [buffalo_ver=BOOTVER=1.091]
> 20: [build_time=18:10:02]
> 21: [initrd=initrd.buffalo]
> 22: [kernel=uImage.buffalo]
> 23: [nand_uImage_offset=20000]
> 24: [default_initrd_addr=0x02000000]
> 25: [def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)]
> 26: [bootdelay=3]
> 27: [disaMvPnp=no]
> 28: [overEthAddr=no]
> 29: [usb0Mode=host]
> 30: [usb1Mode=host]
> 31: [default_kernel_addr=0x00100000]
> 32: [bootargs_base=console=ttyS0,115200]
> 33: [bootargs_root=root=/dev/sda2 rw panic=5]
> 34: [bootargs=console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09]
> 35: [nand_boot=no]
> 36: [bootcmd=ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)]
いつも以下のようにシリアルコンソールで入力しているので、33:bootargs_root、34:bootargs、36:bootcmd、35:nand_bootを書き換える。
> setenv bootargs_root root=/dev/mtdblock2 rw panic=5
> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
> setenv nand_boot yes
> boot
nvramコマンドを使って書き換える。
> bash-2.05b# /usr/local/sbin/nvram -c set bootargs_root 'root=/dev/mtdblock2 rw panic=5'
> >nvram_set:bootargs_root = root=/dev/mtdblock2 rw panic=5
> bash-2.05b# /usr/local/sbin/nvram -c set bootargs '$(bootargs_base) $(bootargs_root) $(buffalo_ver)'
> >nvram_set:bootargs = $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> bash-2.05b# /usr/local/sbin/nvram -c set bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
> >nvram_set:bootcmd = nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)
> bash-2.05b# /usr/local/sbin/nvram -c set nand_boot 'yes'
> >nvram_set:nand_boot = yes
> bash-2.05b# /usr/local/sbin/nvram -c printenv
> 1: [baudrate=115200]
> 2: [loads_echo=0]
> 3: [ipaddr=192.168.11.150]
> 4: [serverip=192.168.11.1]
> 5: [rootpath=/nfs/arm]
> 6: [cpuName=926]
> 7: [CASset=min]
> 8: [MALLOC_len=4]
> 9: [bootargs_end=:::DB88FXX81:eth0:none]
> 10: [ethact=egiga0]
> 11: [ethaddr=XX:XX:XX:XX:XX:XX]
> 12: [stdin=serial]
> 13: [stdout=serial]
> 14: [stderr=serial]
> 15: [enaMonExt=no]
> 16: [enaFlashBuf=yes]
> 17: [enaCpuStream=no]
> 18: [ethprime=egiga0]
> 19: [buffalo_ver=BOOTVER=1.091]
> 20: [build_time=18:10:02]
> 21: [initrd=initrd.buffalo]
> 22: [kernel=uImage.buffalo]
> 23: [nand_uImage_offset=20000]
> 24: [default_initrd_addr=0x02000000]
> 25: [def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)]
> 26: [bootdelay=3]
> 27: [disaMvPnp=no]
> 28: [overEthAddr=no]
> 29: [usb0Mode=host]
> 30: [usb1Mode=host]
> 31: [default_kernel_addr=0x00100000]
> 32: [bootargs_base=console=ttyS0,115200]
> 33: [bootargs_root=root=/dev/mtdblock2 rw panic=5]
> 34: [bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)]
> 35: [bootcmd=nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)]
> 36: [nand_boot=yes]
設定を確認したらchrootを抜けて再起動する。
> bash-2.05b# exit
> exit
> KUROBOX-PRO:~# reboot
※玄箱PROのNANDブート環境はTelnetなので、SSHで接続していた場合には、再起動完了を見計らってTelnet接続する必要がある。
再びHDDブートに戻す場合は同様に以下のコマンドで書き換える。
> bash-2.05b# /usr/local/sbin/nvram -c set bootargs_root 'root=/dev/sda2 rw panic=5'
> bash-2.05b# /usr/local/sbin/nvram -c set bootargs '$(bootargs_base) $(bootargs_root) $(buffalo_ver)'
> bash-2.05b# /usr/local/sbin/nvram -c set bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)'
> bash-2.05b# /usr/local/sbin/nvram -c set nand_boot 'no'
(参考)etchの時はbootcmdが少し違っていた。
> bash-2.05b# /usr/local/sbin/nvram -c set bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
*uBoot環境設定まとめ
FlashMemoryからブートするには
> Marvell>> setenv bootargs_root 'root=/dev/mtdblock2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset);bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot yes
> Marvell>> boot
内蔵 S-ATA HDD からブートするには
> Marvell>> setenv bootargs_root 'root=/dev/sda2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot no
> Marvell>> boot
サブボードの S-ATA コネクタに接続した HDD からブートするには
> Marvell>> setenv bootargs_root 'root=/dev/sda2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'ide reset; ext2load ide 1:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot no
> Marvell>> boot
tftpboot するには
> Marvell>> setenv ipaddr 192.168.1.40
> Marvell>> setenv serverip 192.168.1.30
> Marvell>> setenv bootargs_root 'root=/dev/sda2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'tftp $(default_kernel_addr) $(kernel); bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot no
> Marvell>> boot
**NANDブート環境に戻す方法(シリアルコンソール無し)
> KUROBOX-PRO:^# fw_printenv
> baudrate=115200
> loads_echo=0
> ipaddr=192.168.11.150
> serverip=192.168.11.1
> rootpath=/nfs/arm
> cpuName=926
> CASset=min
> MALLOC_len=4
> bootargs_end=:::DB88FXX81:eth0:none
> ethact=egiga0
> ethaddr=XX:XX:XX:XX:XX:XX
> stdin=serial
> stdout=serial
> stderr=serial
> enaMonExt=no
> enaFlashBuf=yes
> enaCpuStream=no
> ethprime=egiga0
> buffalo_ver=BOOTVER=1.091
> build_time=18:10:02
> initrd=initrd.buffalo
> kernel=uImage.buffalo
> nand_uImage_offset=20000
> default_initrd_addr=0x02000000
> def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
> bootdelay=3
> disaMvPnp=no
> overEthAddr=no
> usb0Mode=host
> usb1Mode=host
> default_kernel_addr=0x00100000
> bootargs_base=console=ttyS0,115200
> bootargs_root=root=/dev/mtdblock2 rw panic=5
> bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)
> nand_boot=yes
> bootcmd=ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)
いつもは以下のようにシリアルコンソールで入力している。
> setenv bootargs_root root=/dev/mtdblock2 rw panic=5
> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
> setenv nand_boot yes
> boot
差分を確認してみると、違うのはbootcmdだけのようなので、fw_setenvを使って書き換えてみる。
> KUROBOX-PRO:^# fw_setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
> KUROBOX-PRO:^# fw_printenv
> baudrate=115200
> loads_echo=0
> ipaddr=192.168.11.150
> serverip=192.168.11.1
> rootpath=/nfs/arm
> cpuName=926
> CASset=min
> MALLOC_len=4
> bootargs_end=:::DB88FXX81:eth0:none
> ethact=egiga0
> ethaddr=XX:XX:XX:XX:XX:XX
> stdin=serial
> stdout=serial
> stderr=serial
> enaMonExt=no
> enaFlashBuf=yes
> enaCpuStream=no
> ethprime=egiga0
> buffalo_ver=BOOTVER=1.091
> build_time=18:10:02
> initrd=initrd.buffalo
> kernel=uImage.buffalo
> nand_uImage_offset=20000
> default_initrd_addr=0x02000000
> def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
> bootdelay=3
> disaMvPnp=no
> overEthAddr=no
> usb0Mode=host
> usb1Mode=host
> default_kernel_addr=0x00100000
> bootargs_base=console=ttyS0,115200
> bootargs_root=root=/dev/mtdblock2 rw panic=5
> bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)
> nand_boot=yes
> bootcmd=nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)
設定を確認したら再起動する。
> KUROBOX-PRO:~# reboot
※玄箱PROのNANDブート環境はTelnetなので、SSHで接続していた場合には、再起動完了を見計らってTelnet接続する必要がある。
再びHDDブートに戻す場合は同様に以下のコマンドで書き換える。
> KUROBOX-PRO:^# fw_setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)'
(参考)etchの時はbootcmdが少し違っていた。
> KUROBOX-PRO:^# fw_setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
*uBoot環境設定まとめ
FlashMemoryからブートするには
> Marvell>> setenv bootargs_root 'root=/dev/mtdblock2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset);bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot yes
> Marvell>> boot
内蔵 S-ATA HDD からブートするには
> Marvell>> setenv bootargs_root 'root=/dev/sda2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot no
> Marvell>> boot
サブボードの S-ATA コネクタに接続した HDD からブートするには
> Marvell>> setenv bootargs_root 'root=/dev/sda2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'ide reset; ext2load ide 1:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot no
> Marvell>> boot
tftpboot するには
> Marvell>> setenv ipaddr 192.168.1.40
> Marvell>> setenv serverip 192.168.1.30
> Marvell>> setenv bootargs_root 'root=/dev/sda2 rw panic=5'
> Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> Marvell>> setenv bootcmd 'tftp $(default_kernel_addr) $(kernel); bootm $(default_kernel_addr)'
> Marvell>> setenv nand_boot no
> Marvell>> boot