[玄箱]玄箱を初期化

初代玄箱(無印)をU-Boot化したあと、放置していたのでHDDをフォーマットして再インストールを行った時のメモ。

  1. HDDのフォーマット
    今回は意図的にHDDを取り出して、Windows7でパーティションの削除を行いました。
    フォーマットが完了したら玄箱に戻して、組み立てます。
  2. ncで起動状況の確認とU-Bootコマンドモードへ
    Windowsパソコンからncを用意し、玄箱とクロスケーブルで接続(ストレートケーブルと背面スイッチで対応)。
    Windowsパソコン側のIPアドレスを198.168.11.149に設定し、コマンドプロンプトからncのフォルダに移動して、以下のコマンドを実行し起動する 

    nc -v -v -n -u -s 192.168.11.149 -p 6666 192.168.11.150 6666

    これで192.168.11.150をウォッチする状態になるので、玄箱を起動すると下記のように表示されるはず

    U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox
    CPU: MPC8245 Revision 1.4 at 196.608 MHz: 16 kB I-Cache 16 kB D-Cache
    DRAM: 64 MB
    FLASH: 4 MB
    
    ~省略~
    
    Boot in 10 seconds ('s' to stop)... 
    

    ここで[s]を入力し、U-Bootのコマンドモードに入る。

    Boot in 7 seconds ('s' to stop)... s
    =>
    
  3. EMモードへ
    => run writeng
    Un-Protected 1 sectors
    
    Flash erase: first = 55 @ 0xfff70000
    last = 55 @ 0xfff70000
    Flash erase: Done
    Erased 1 sectors
    Copy to Flash... done
    => run emboot
    ## Booting image at ffc00000 ...
    
    ******* Product Information ******* [#k0621bb4]
    ----------------------------------
    Product Name: KURO-BOX(IETSUNA)
             VER: 1.02
            Date: 2004/4/16 11:46:41
    ----------------------------------
    Verifying checksum... OK
    Uncompressing kernel...done.
    Loading Ramdisk at 0x03C67000, end 0x03E6E647 ... OK
    Booting the kernel
    ~省略~
    

    これでEMモードで立ち上がっているはずなので、クロスケーブルを外し、DHCPが動いているLANに接続する。

  4. 玄箱がDHCPで取得したIPアドレスを調べて、telnetでログインを行う。

    Kroutoshikou KURO-BOX (IETSUNA)
    kernel 2.4.17_kuro-box on ppc
    
    KURO-BOX login: root
    Password: kuro
    
  5. パーティションを作成
    HDD全領域を削除 

    root@KURO-BOX:~# /sbin/mfdisk -e /dev/hda
    delete partition 1
    delete partition 2
    delete partition 3
    delete partition 4
    create partitions...
    deleate all partitions.
    The partition table has been altered!
    
    Syncing disks.
    

    続いて領域確保(第1領域:4GB,第2領域SWAP用:256MB,第3領域:残り)

    root@KURO-BOX:~# /sbin/mfdisk -c /dev/hda
    
    Command (m for help): n
    Command action
        e extended
        p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-15798, default 1):[enter]
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-15798, default 15798): +4000M
    
    Command (m for help): n
    Command action
      e extended
      p primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (8128-15798, default 8128):[enter]
    Using default value 8128
    Last cylinder or +size or +sizeM or +sizeK (8128-15798, default 15798): +256M
    
    Command (m for help): n
    Command action
      e extended
      p primary partition (1-4)
    p
    Partition number (1-4): 3
    First cylinder (8649-15798, default 8649):[enter]
    Using default value 8649
    Last cylinder or +size or +sizeM or +sizeK (8649-15798, default 15798):[enter]
    Using default value 15798
    
    Command (m for help): t
    Partition number (1-4): 2
    Hex code (type L to list codes): 82
    Changed system type of partition 2 to 82 (Linux swap)
    
    Command (m for help): p
    
    Disk /dev/hda: 16 heads, 63 sectors, 15798 cylinders
    Units = cylinders of 1008 * 512 bytes
    
     Device Boot Start   End  Blocks  Id System
    /dev/hda1     1  8127  4095976+ 83 Linux
    /dev/hda2    8128  8648  262584  82 Linux swap
    /dev/hda3    8649  15798  3603600  83 Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Syncing disks.
    
  6. 作成した領域をフォーマット
    まずは第1領域(LinuxOS) 

    root@KURO-BOX:~# /sbin/mke2fs -j /dev/hda1
    mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    512000 inodes, 1023994 blocks
    51199 blocks (5.00%) reserved for the super user
    First data block=0
    32 block groups
    32768 blocks per group, 32768 fragments per group
    16000 inodes per group
    Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736
    
    Writing inode tables: done
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 21 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.
    

    次に第2領域(Swap)

    root@KURO-BOX:~# /sbin/mkswap /dev/hda2
    Setting up swapspace version 1, size = 268881920 bytes
    

    最後に第3領域(Data)

    root@KURO-BOX:~# /sbin/mke2fs -j -m 0 /dev/hda3
    mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    450688 inodes, 900900 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=0
    28 block groups
    32768 blocks per group, 32768 fragments per group
    16096 inodes per group
    Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736
    
    Writing inode tables: done
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 28 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.
    
  7. 作成した領域をマウント 
    root@KURO-BOX:~# mount -t ext3 /dev/hda1 /mnt
    root@KURO-BOX:~# mount -t ext3 /dev/hda3 /mnt2
    root@KURO-BOX:~# df -h
    Filesystem  Size  Used  Available  Use%  Mounted on
    /dev/ram0  9.5M  5.0M    4.5M  53%  /
    /dev/hda1  3.8G  32.1M    3.6G   1%  /mnt
    /dev/hda3  3.4G  32.1M    3.4G   1%  /mnt2
    
  8. OSデータの転送
    FTP(FileZilla等)で下記のファイルを/mnt2(/dev/hda3)にu-bootフォルダを作成して下記の3つを保存する 

    転送が終わったら確認してみる。

    root@KURO-BOX:~# ls /mnt2/u-boot
    debian-lenny-kuroBOX-20090317.tgz
    kernelimage-2.6.20-kuroBOX-uImage.tgz
    modules-2.6.20-kuroBOX.tgz
    
  9. OSのインストール
    Debian5.0(lenny)を /dev/hda1(/mnt)に展開

    root@KURO-BOX:~# cd /mnt
    root@KURO-BOX:~# pwd
    /mnt
    root@KURO-BOX:~# tar xvzf /mnt2/u-boot/debian-lenny-kuroBOX-20090317.tgz
    ~省略~
    

    /dev/hda1(/mnt)の確認

    root@KURO-BOX:~# ls /mnt
    bin    home        mnt    sbin      tmp
    boot   lib         opt    selinux   usr
    dev    lost+found  proc   srv       var
    etc    media       root   sys
    

    カーネルイメージ(2.6.20)を /dev/hda1/boot(/mnt/boot) に展開

    root@KURO-BOX:~# tar xvfz /mnt2/u-boot/kernelimage-2.6.20-kuroBOX-uImage.tgz
    .config
    System.map
    vmlinux.UBoot
    uImage
    

    /boot の内容を確認

    root@KURO-BOX:~# ls /mnt/boot
    System.map uImage vmlinux.UBoot
    

    カーネルモジュール(2.6.20)を /dev/hda1/lib/modules(/mnt/lib/modules) に展開

    root@KURO-BOX:~# cd /mnt/lib/modules
    root@KURO-BOX:~# pwd
    /mnt/lib/modules
    root@KURO-BOX:~# tar xvzf /mnt2/u-boot/modules-2.6.20-kuroBOX.tgz
    ~省略~
    

    /lib/modules/2.6.20-kuroboxが出来ていることを確認

    root@KURO-BOX:~# ls
    2.6.20-kurobox
    root@KURO-BOX:~# ls 2.6.20-kurobox
    build              modules.dep           modules.pcimap
    kernel             modules.ieee1394map   modules.symbols
    modules.alias      modules.inputmap      modules.usbmap
    modules.ccwmap     modules.isapnpmap     source
    
  10. lenny のネットワーク設定
    再起動前にネットワークの設定を行っておく、念のため固定IPを付与

    root@KURO-BOX:~# vi /mnt/etc/network/interfaces
    iface eth0 inet static
    address 192.168.0.100
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    
    iface lo inet loopback
    
    auto eth0 lo
    
    root@KURO-BOX:~# vi /mnt/etc/hosts
    127.0.0.1 localhost
    192.168.0.100 KURO-BOX
    
    root@KURO-BOX:~# vi /mnt/etc/hosts.allow
    #ALL: 192.168.0.0/255.255.0.0
    #ALL: 127.0.0.1
    ALL : ALL : ALLOW
    
    root@KURO-BOX:~# vi /mnt/etc/resolv.conf
    search
    nameserver 192.168.0.1
    
  11. fstabの設定を自環境に修正

    root@KURO-BOX:~# vi /mnt/etc/fstab
    # /etc/fstab: static file system information.
    #
    #                  
    proc            /proc         proc   defaults               0      0
    /dev/hda2       none          swap   sw 0 0
    /dev/hda1       /             ext3   defaults,noatime,errors=remount-ro 0 0
    /dev/hda3       /mnt          ext3   defaults,noatime       0      0
    
  12. EMを抜けて再起動
    EMモードを抜けるコマンドを書く

    root@KURO-BOX:~# echo -n "OKOK" > /dev/fl3

    コマンドの書き込みが行えているか確認

    root@KURO-BOX:~# dd if=/dev/fl3 bs=4 count=1
    OKOK1+0 records in
    1+0 records out
    4 bytes transferred in 0.006583 seconds (608 bytes/sec)
    

    再起動

    root@KURO-BOX:~# reboot
  13. Debian5.0 Lennyの起動確認
    telnetで先ほど設定したIPに接続しログイン後rootになれることを確認

    Debian GNU/Linux 5.0
    KURO-BOX login: tmp-kun
    Password: tmp-kun
    ~省略~
    tmp-kun@KURO-BOX:~$ su
    パスワード: root
    KURO-BOX:/home/tmp-kun# 
    

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です