玄箱proを初期化する方法
ものすごい今更なんですが、玄箱proを初期化する方法です。シリアルコンソール環境必須。
参考にしたサイト
- http://anabuki.dip.jp/tips/linux-serial.html
- http://d.hatena.ne.jp/BlackPepper/20071112/1194879092
- http://www.cyrius.com/debian/orion/buffalo/kuroboxpro/install.html
以下の環境で行います。
- 玄箱PRO
- SCON-KIT/PRO -- http://kuroutoshikou.com/modules/display/?iid=992
- Windows 7 (XP/Vistaでも大丈夫)
配線とかの準備
SCON-KIT/PROで,kuroとwindowsのusbを繋ぎます.このとき,kuro側をがっちり挿しておかないと,後でキー入力できないかもしれないので注意.windowsのデバイスマネージャでOSが認識してるCOMポートnoを確認したら,Tera Term Proを立ち上げます.
TeraTermでは,シリアルポートのオプションで次のように設定.
次にwindowsのIPアドレスを192.168.11.1に設定.同時にtftpサーバを立ち上げて,以下の2つのファイルを/に配置しておきます.
- tftpサーバ
- フラッシュメモリイメージ(initrd.buffalo, uImage.buffalo)
ファイルは http://kuroutoshikou.com/modules/display/?iid=966 とかにあるような.
環境変数の初期化
Hit any key to stop autoboot: 0と出てるときにキーを押して,以下をコピペ.
setenv loads_echo 0 setenv ipaddr 192.168.11.150 setenv serverip 192.168.11.1 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
rebootします.
NANDフラッシュメモリの初期化
kuroの電源を入れたら,Hit any key to stop autoboot: 0とか言ってるところでキーを押します.tftpでファイルの転送が済んだらlinuxが立ち上がるはずなので,
user=root pass=kuroadmin
でログイン.
BusyBoxのシェル上で,次のように入力してフラッシュを初期化します.
~ # update_mtd.sh all
Doneと出たらおk.
パーティションの破壊
sdaにlinuxが入っている場合,パーティションテーブルを破壊しないとそのlinuxが立ち上がってしまうので注意.
以下のようにしてテーブルを破壊します.
dd if=/dev/zero of=/dev/sda bs=1M count=1
ここで電源を落として,配線し直しておきましょう.以降は通常のサブネット上でtelnetすれば操作できます.
shutdown -h
Debian化(lenny)
debian lennyから玄箱proのサポートが追加されたそうで、かなり楽にDebian化できました。そのときのメモ。
参考サイト
- http://www.cyrius.com/debian/orion/buffalo/kuroboxpro/install.html
- http://miy.dtiblog.com/blog-entry-16.html
インストール用パーティションを作成しますが、これはインストール中に潰されるので適当に。
$ fdisk /dev/sda Command: n Command action: p Partition number: 1 First cylinder: Enter Last cylinder: +50M Command: w
という感じで、/dev/sda1を作る。続いて,
mkfs.ext2 /dev/sda1
でファイルシステム作成。
/mnt/disk1にマウントする。
mount /dev/sda1 /mnt/disk1
そのままだとホスト名の名前解決がうまくできないので以下を実行.
echo "hosts: files dns" > /etc/nsswitch.conf
で、以下をコピペ。
cd /mnt/disk1 wget http://ftp.nl.debian.org/debian/dists/testing/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/config-debian wget http://ftp.nl.debian.org/debian/dists/testing/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/initrd.buffalo wget http://ftp.nl.debian.org/debian/dists/testing/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/uImage.buffalo
さらに一行.
sh config-debian
で,reboot.立ち上がったらいよいよDebianをインストールします。
sshで繋ぐ.user=installer, pass=install
ssh installer@192.168.1.100
後は普通のDebianインストールと同じです。私はほとんどデフォルトでインストールしました。