シリアルコンソールなしで新規の玄箱にDebian 5.0 lennyをインストールできました。
lennyから、armelというアーキテクチャで玄箱PROがサポートされていました。
サポートするハードウェアの多さは、さすが、Debianです!
インストールには、2日間、実働8時間もかかってしまいました。
u-Bootの設定変更をして再起動したときに玄箱のu-Bootのネットワーク設定が192.168.11.150でデフォルトゲートウェイが192.168.11.1になってしまうため注意が必要です。(必ず、このアドレスとは限らないかもしれません。)
事前にu-Bootの設定変更でネットワークを指定するのだと思うのですが、やり方は分かりません。
今回は、我が家のルータの設定を、一時的に192.168.11.0に変更して玄箱がネットワークにアクセスできるようにして、インストールを完了したあとでネットワーク設定を変更して切り抜けました。
ハードディスクの装着と起動
この前購入した500GBのハードディスクを玄箱に装着します。
ネットワークと電源を接続して玄箱の電源を入れます。
日立GST Deskstar P7K500(500GB/SATA3G/7200rpm/16MB) HDP725050GLA360
- 出版社/メーカー: 日立
- 発売日: 2007/11/16
- メディア: Personal Computers
- 購入: 13人 クリック: 88回
- この商品を含むブログ (21件) を見る
ログイン
起動時は、玄箱の底に記載されているMACアドレスをDHCPの固定アドレスに登録してIPアドレスを設定しました。
デフォルトのパスワードは、マニュアルに記載されていますが、kuroadminだったと思います。
$ telnet 11.11.11.11 Trying 11.11.11.11... Connected to 11.11.11.11. Escape character is '^]'. KUROUTOSHIKOU KUROBOX Series KUROBOX/PRO(KOSHO) KUROBOX-PRO login: root Password: BusyBox v1.1.1 (2007.04.06-12:02+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. ~ #
玄箱の時間を合わせる
これは、昨日のブログの通りです。
busyboxのdateコマンドでなるべく正確な日付に合わせます。
パーティションの作成
Debianのネットワークブート用のカーネルをコピーする一時エリアとして先頭に10MBのブートパーティションを準備します。
まずは、fdiskコマンドで装着したハードディスクを確認します。
~ # fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sda doesn't contain a valid partition table ~ #
fdiskコマンドで装着したハードディスクの先頭から10MBのプライマリパーティションを作成します。
パーティションは、必ずシリンダ番号1から+10Mで作成します。
~ # fdisk /dev/sda ... 中略 ... Command (m for help): p Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 2 16033+ 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. ~ #
作成したパーティションをext2でフォーマットしてマウントします。
~ # mke2fs /dev/sda1 mke2fs 1.27 (8-Mar-2002) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 4016 inodes, 16033 blocks 801 blocks (5.00%) reserved for the super user First data block=1 2 block groups 8192 blocks per group, 8192 fragments per group 2008 inodes per group Superblock backups stored on blocks: 8193 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. ~ # mount /dev/sda1 /mnt/disk1 ~ # df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/mtd2 65536 15972 49564 24% / /dev/ram1 8192 152 8040 2% /mnt/ram /dev/mtd3 192512 4620 187892 2% /mnt/mtd /dev/sda1 15522 13 14708 0% /mnt/disk1 ~ #
ネットワークブート用のカーネル一式をコピー
Debianのオフシャルのミラーサイトからネットワークブート用のカーネルとconfig-debianをコピーします。
wgetコマンドでconfig-debianとinitrd.buffalo、uImage.buffaloをダウンロードします。
busyboxでは、DNSが設定されていないのでサーバ名でアクセスするとエラーになります。
/mnt/disk1 # wget http://cdimage.debian.org/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/config-debian wget: cdimage.debian.org: Unknown host /mnt/disk1 #
他のマシンでcdimage.debian.orgにpingしてIPアドレスを確認し、IPアドレスを設定するとダウンロードできます。
/mnt/disk1 # wget http://130.239.18.137/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/config-debian Connecting to 130.239.18.137[130.239.18.137]:80 config-debian 100% |*****************************| 1535 00:00 ETA /mnt/disk1 # ls config-debian lost+found /mnt/disk1 # file config-debian file: Using regular magic file `/usr/share/magic' file: couldn't find any magic files! config-debian: ASCII English text /mnt/disk1 # wget http://130.239.18.137/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/initrd.buffalo Connecting to 130.239.18.137[130.239.18.137]:80 initrd.buffalo 100% |*****************************| 3835 KB 00:00 ETA /mnt/disk1 # wget http://130.239.18.137/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/uImage.buffalo Connecting to 130.239.18.137[130.239.18.137]:80 uImage.buffalo 100% |*****************************| 1351 KB 00:00 ETA /mnt/disk1 #
u-Bootの設定変更
config-debianでu-Bootの設定を変更しますが、これ以降で失敗するとシリアルコンソールがないと後戻りできなくなります。
config-debianを実行すると次回起動時にu-Bootが/dev/sda1にコピーしたファイルをロードするようになります。
/mnt/disk1 # sh config-debian Saving U-Boot environment to ubootenv.bak... done. Changing U-Boot environment... >nvram_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) done. Please reboot your Kurobox Pro.
設定は、ubootenv.bakに保存されているので、このファイルはバックアップします。
中身を見てみるとIPアドレスが192.168.11.150でデフォルトゲートウェイが192.168.11.1に設定されています。
本来であれば、この時点でnvramコマンドを使って設定変更できるのかもしれませんが、nvramコマンドの使い方は、分かりません。
DHCPサーバがいれば、そちらを見るのではないかと思い込み、リブート後にアクセスできなくなりました(涙)
結局、我が家のルータを192.168.11.0のネットワークに一時的に設定してアクセスしました。
$ head ubootenv.bak 1: [baudrate=115200] 2: [loads_echo=0] 3: [ipaddr=192.168.11.150] 4: [serverip=192.168.11.1] 5: [rootpath=/nfs/arm]
再起動
ハードディスクをunmountして再起動します。
~ # umount /mnt/disk1 ~ # df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/mtd2 65536 15972 49564 24% / /dev/ram1 8192 152 8040 2% /mnt/ram /dev/mtd3 192512 4620 187892 2% /mnt/mtd ~ # reboot
コメント
nvram -c set dhcp on
で、DHCPを読みにいくようです。
MtCedarさん
なるほど、やっぱりnvramコマンドで設定できるのですね。
"u-Bootの設定変更"の前に、これをやっておけば慌てずにすみました。
もう一台のKURO-BOXを設定するときに試してみます。