Kuro box/Pro 完全初期化手順。

2016年9月21日

debian を新しいバージョンにしようとしてうまくいかず、最終的には Flash からすら起動しなくなったため初期化しました。
1.PC 側の準備
tftped32」 をダウンロードしてインストールします。私の場合だと「Windows7 HOME x64」なので、「tftpd64 standard edition (installer) 」です。
デスクトップにアイコンが出来るので起動させます。
「Setting -> GLOBAL -> Start Service」 TFTP Server のみチェックします。
KURO-BOX/PRO 公式」 から


【ファームウェア(NAND型フラッシュメモリ)初期化方法F/W1.02】
ファームウェア書き換えキットと手順のダウンロード(ZIPファイル:20.2MB)


をダウンロードして 「Setting -> TFTP -> Base Directory」 に解凍して入れておきます。上手く行ったら使わないのでデスクトップに 1 とかいうフォルダで処理してもいいかと。
「uImage.buffalo」と「initrd.buffalo」があればいい。
あとはダウンロードしたファイルの中の説明通りですが、「defenv.txt」の IP アドレスだけ自分の環境に書き換えておきます。
2.KURO BOX/PRO の操作
シリアルコンソールから操作しますので、その辺は改造しておいてください。端末は「Tera Term」でシリアルでオープンし通信速度を 115200 にします。
次に電源投入後直ぐに出てくる、カウントダウンで止める。
PC の設定で用意した「defenv.txt」の内容をコピペする。


setenv loads_echo 0
setenv ipaddr 192.168.xxx.xxx
setenv serverip 192.168.xxx.xxx

setenv rootpath /nfs/arm
setenv stdin serial
setenv stdout serial
setenv stderr serial
setenv cpuName 926
setenv CASset min
setenv enaMonExt no
setenv enaFlashBuf yes
setenv enaCpuStream no
setenv MALLOC_len 4
setenv ethprime egiga0
setenv bootargs_end :::DB88FXX81:eth0:none
setenv buffalo_ver BOOTVER=1.091
setenv build_time 18:10:02
setenv initrd initrd.buffalo
setenv kernel uImage.buffalo
setenv bootargs_base console=ttyS0,115200
setenv bootargs_root root=/dev/mtdblock2 rw panic=5
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv nand_uImage_offset 20000
setenv default_kernel_addr 0x00100000
setenv default_initrd_addr 0x02000000
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
setenv bootdelay 3
setenv disaMvPnp no
setenv overEthAddr no
setenv usb0Mode host
setenv usb1Mode host
setenv ethact egiga0
setenv tftp_load_kernel tftp $(default_kernel_addr) $(kernel)
setenv tftp_load_initrd tftp $(default_initrd_addr) $(initrd)
setenv set_boot_args setenv bootargs $(bootargs_base) $(bootargs_root) initrd=0x02000040,20M $(buffalo_ver)
setenv def_tftp '$(tftp_load_kernel);$(tftp_load_initrd);$(set_boot_args); bootm $(default_kernel_addr) $(default_initrd_addr)’
saveenv


これでデフォルトの起動が「tftp boot」になる。
tftp でダウンロードしてみる。一行ずつ。


tftpboot 0x00100000 uImage.buffalo;
tftpboot 0x02000000 initrd.buffalo;


###################### が連打されたらおk。
上手くいかないようであれば、PC の tftp32 の設定が悪いか 「defenv.txt」の IP adress が間違えている。このブートメニューのまま上手くいくまで頑張る。
上手く行ったら、以下の構文を実行して、Linux を起動させる。


setenv bootargs $(bootargs_base) $(bootargs_root) initrd=0x02000040,20M $(buffalo_ver);
bootm 0x00100000 0x02000000;


ログインID「root」、パスワードは「kuroadmin」
全ての Flash を初期化するコマンドを実行する。「readme.pdf」に書いてある通り。
~ # update_mtd.sh all
完全に初期化された。
再起動。
~ # reboot
放置するとまた tftp bootする。確認してもいいが、次にFlash からの起動をデフォルトにする設定にする。
製品仕様書.doc の手順。
A.1.uImage(nand /dev/mtdblock1)、rootfs(nand /dev/mtdblock2)の場合のブート設定


setenv default_kernel_addr 0x00100000
setenv bootargs_base console=ttyS0,115200
setenv bootargs_root root=/dev/mtdblock2 rw
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv uImage_block 0
setenv uImage_offset 0x00020000
setenv bootcmd ‘nboot $(default_kernel_addr) $(uImage_block) $(uImage_offset); bootm $(default_kernel_addr)’
saveenv
boot


これで、Flash から起動する。PC の tftp サーバーは終了しておくと間違いない。
起動を確認したら、完全に初期化されているので以下のファイルを修正しておく。

/etc/nsswitch.conf
hosts: files dns
/etc/netinfo
my_ipaddress=192.168.xxx.xxx          #IPアドレス (もしくはdhcp)
my_subnetmask=255.255.255.0           #ネットマスク
my_dgw=192.168.xxx.xxx                #デフォルトゲートウェイ
my_dns1=192.168.xxx.xxx               #DNSアドレス
初期状態で書いてある3行は # でコメントアウトしておく。
/etc/resolv.conf
nameserver 192.168.xxx.xxx            #DNSアドレス

普通 Gateway, DNS はルーターのアドレス。


以上で初期化完了。
そして、やっと debian のインストール。以下を参照。
wheezy on 玄箱PRO
玄箱Proにdebian 6.0.1 (Squeeze)をインストール
上記の方法で 「sh config-debian」を実行すると HDD から起動するようになるはず。
一応、メモ程度に HDD 起動の手順。
製品仕様書.doc の手順書
A.3.uImage(/dev/sda1)、rootfs(/dev/sda2)の場合のブート設定をデフォルトにする。全部 /dev/sda1


setenv default_kernel_addr 0x00100000
setenv bootargs_base console=ttyS0,115200
setenv bootargs_root root=/dev/sda1 rw
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd ‘ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)’
saveenv


お疲れ様でした。(私
※参考
黒箱PRO(KUROBOX-PRO)のtftpboot による初期化

debian

Posted by saba