ハックキットのインストール(6)

Debian LS-AVL/A

ローカルディスクにディレクトリツリーを作るところまではセルフで、
HDD に書きこむところだけをクロス(別マシン)で、
ようやくハックキットが動くようになったが、、、、

謎が2つ。

mkfs のミス?

手動で mkfs した HDD からは起動して来なかった。
ハックキットのインストーラで mkfs した HDD からは起動してきた。
その差は何?

どうして eth1?

以前見たときは eth0 だった。
いつの間に eth1 になった?

mkfs のミス?

まずは、こっち。
ハックキットのインストーラがどう mkfs したか見てみればわかる。
(って、自分の作ったスクリプトやないか、、、)

ということで、もう一回 LS-VL でセルフインストール。
今動いている HDD は温存したいので、別の HDD に。
でも、同じ HDD は無いので、MAXTOR の 6L200

準備

以下、ほぼ 準備(LS-XHL, LS-VL の場合)の手順

LS-VL を標準ファームで起動

ログイン

root@LS-VL815:~#

時計を合わせる

root@LS-VL815:~# date
Wed Dec  7 23:12:53 JST 2011
root@LS-VL815:~#
あってる。

ハックキットのファイルを置く

root@LS-VL815:~# ls /mnt/disk1/share/hackkit/
hackkit_config                 hackkit_squeeze_110112.sh
hackkit_squeeze_110103.tar.gz  mkimage
root@LS-VL815:~#
もう置いてある。

インストールする HDD の準備

USB で 6L200 を接続する
root@LS-VL815:~# tail -f /var/log/messages
Dec  7 23:14:33 LS-VL815 kernel: scsi2 : SCSI emulation for USB Mass Storage devices
Dec  7 23:14:38 LS-VL815 kernel: scsi 2:0:0:0: Direct-Access     ViPowER  VP-89118(SD1)    2.10 PQ: 0 ANSI: 4
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: [sdb] 398297088 512-byte logical blocks: (203 GB/189 GiB)
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: [sdb] Write Protect is off
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: [sdb] Assuming drive cache: write through
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: [sdb] Assuming drive cache: write through
Dec  7 23:14:38 LS-VL815 kernel:  sdb:
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: [sdb] Assuming drive cache: write through
Dec  7 23:14:38 LS-VL815 kernel: sd 2:0:0:0: [sdb] Attached SCSI disk
あら。これもパーティションがない。

(1) /mnt/usbdisk1 に自動的にマウントされた場合はアンマウントします。

root@LS-VL815:~# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda2              4923420    818664   3854660  18% /
udev                     10240       100     10140   1% /dev
/dev/ram1                15360       144     15216   1% /mnt/ram
/dev/sda1               992036    256300    685740  27% /boot
/dev/disk1_6         237023872    582132 236441740   0% /mnt/disk1
tmpfs                     8192      2032      6160  25% /mnt/ram/com.kernel.org
root@LS-VL815:~#
パーティションがないからか、マウントされていない。

(2) sdb にパーティションを切ります。

(2-1)既にパーティションがある場合は、まずはそのパーティションを消します

root@LS-VL815:~# parted -s /dev/sdb print
Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table.  However, it does not have a valid fake msdos partition table, as it should.  Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables.  Or perhaps you deleted the GPT table, and are now using an msdos partition table.  Is this a GPT partition table?
Error: Can't have the end before the start!
root@LS-VL815:~#
こんなの初めて見た。大丈夫なの?

(2-2)パーティションテーブルを作成します

root@LS-VL815:~# parted -s /dev/sdb mklabel gpt
root@LS-VL815:~#

(2-3)パーティションを設定します

root@LS-VL815:~# parted -s /dev/sdb mkpart primary ext3 0 1024M
root@LS-VL815:~# parted -s /dev/sdb print
Model: ViPowER VP-89118(SD1) (scsi)
Disk /dev/sdb: 204GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB               primary

root@LS-VL815:~#
できてる、できてる。
root@LS-VL815:~# parted -s /dev/sdb mkpart primary xfs 1024MB 6144MB
root@LS-VL815:~# parted -s /dev/sdb mkpart primary linux-swap 6144MB  7168MB
root@LS-VL815:~# parted -s /dev/sdb mkpart primary xfs 7168MB 204GB
root@LS-VL815:~# parted -s /dev/sdb print
Model: ViPowER VP-89118(SD1) (scsi)
Disk /dev/sdb: 204GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB               primary
 2      1024MB  6144MB  5120MB  xfs          primary
 3      6144MB  7168MB  1024MB               primary
 4      7168MB  204GB   197GB   xfs          primary

root@LS-VL815:~#
できた。

ハックキットのインストール

インストール の手順

時計を合わせる

さっきやった。

カスタマイズ

root@LS-VL815:~# cd /mnt/disk1/share/hackkit/
root@LS-VL815:/mnt/disk1/share/hackkit# cat hackkit_config
ADDRESS=192.168.2.55
HOSTNAME=vl
GATEWAY=192.168.2.96
root@LS-VL815:/mnt/disk1/share/hackkit#

インストーラの実行

インストーラに -x をつけて起動すると、 実行するコマンドを表示してくれる。
root@LS-VL815:/mnt/disk1/share/hackkit# sh -x hackkit_squeeze_110112.sh
+ ADDRESS=192.168.2.47
+ NETWORK=192.168.2.0
+ NETMASK=255.255.255.0
+ BROADCAST=192.168.2.255
+ GATEWAY=192.168.2.1
+ NAMESERVER=192.168.1.2
+ HOSTNAME=hackkit
+ WORK=/mnt/disk1/share/hackkit
+ HACKKIT=/mnt/disk1/share/hackkit/hackkit_squeeze_110103.tar.gz
+ MOUNTPOINT=/mnt/debinst
+ cd /mnt/disk1/share/hackkit
+ '[' -f /mnt/disk1/share/hackkit/hackkit_config ']'
+ . /mnt/disk1/share/hackkit/hackkit_config
++ ADDRESS=192.168.2.55
++ HOSTNAME=vl
++ GATEWAY=192.168.2.96
+ BOOTPARTITION=/dev/sdb1
+ BOOTPARTITIONTYPE=ext3
+ ROOTPARTITION=/dev/sdb2
+ SWAPPARTITION=/dev/sdb3
+ DATAPARTITION=/dev/sdb4
+ ETH=eth0
+ RAID=no
+ '[' '!' -r /mnt/disk1/share/hackkit/hackkit_squeeze_110103.tar.gz ']'
+ '[' '!' -r /mnt/disk1/share/hackkit/mkimage ']'
+ '[' '!' -f /proc/buffalo/firmware ']'
++ sed -n -e 's/^PRODUCTID=\(.*\)$/\1/p' /proc/buffalo/firmware
+ PRODUCTID=0x00000016
+ echo PRODUCTID = 0x00000016
PRODUCTID = 0x00000016
+ case "$PRODUCTID" in
+ MACHINE=LSVL
+ echo MACHINE LSVL
MACHINE LSVL
+ format_disk
+ '[' no = yes ']'
+ echo formating hard drive ...
formating hard drive ...
+ '[' ext3 = ext3 ']'
+ mke2fs -j -I 128 /dev/sdb1
mke2fs 1.40.5 (27-Jan-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
62720 inodes, 249995 blocks
12499 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7840 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
+ mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=8, agsize=156250 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=1250000, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=2560, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
+ mkswap /dev/sdb3
Setting up swapspace version 1, size = 1023995904 bytes
+ '[' /dev/sdb4 '!=' '' ']'
+ mkfs.xfs -f /dev/sdb4
meta-data=/dev/sdb4              isize=256    agcount=16, agsize=3002320 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=48037120, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=23455, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
+ mount_root
+ '[' no = yes ']'
+ echo mounting root file system ...
mounting root file system ...
+ '[' '!' -d /mnt/debinst ']'
+ mount -t xfs /dev/sdb2 /mnt/debinst
+ '[' no = yes ']'
+ extract_hackkit
+ echo extracting hackkit archive ...
extracting hackkit archive ...
+ cd /mnt/debinst
+ tar zxvf /mnt/disk1/share/hackkit/hackkit_squeeze_110103.tar.gz
./
./var/
./var/lib/
./var/lib/apt/
./var/lib/apt/lists/
./var/lib/apt/lists/partial/
./var/lib/apt/lists/ftp.jp.debian.org_debian_dists_squeeze_Release
./var/lib/apt/lists/ftp.jp.debian.org_debian_dists_squeeze_main_binary-armel_Packages
^C
root@LS-VL815:/mnt/disk1/share/hackkit#
途中で、CTRL-C で止める。

フォーマットのところだけを抜き出すと、、、

mke2fs -j -I 128 /dev/sdb1
mkfs.xfs -f /dev/sdb2
mkswap /dev/sdb3
mkfs.xfs -f /dev/sdb4
インストーラが何をしているのかがわかったので、 先日手作業で実施した手順と比べる。 実施したのは、、
mke2fs -j -I 128 /dev/sdb1
mkfs.xfs -f /dev/sdb2
mkswap /dev/sdb3
mkfs.xfs -f /dev/sdb4
一緒やん!

再インストール

ほんなら、もう一回やったらうまいこと行くんやろな。
root@LS-VL815:/mnt/disk1/share/hackkit# cd
root@LS-VL815:~# mke2fs -j -I 128 /dev/sdb1
mke2fs 1.40.5 (27-Jan-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
62720 inodes, 249995 blocks
12499 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7840 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@LS-VL815:~# mkfs.xfs -f /dev/sdb2
mkfs.xfs: /dev/sdb2 contains a mounted filesystem
Usage: mkfs.xfs
/* blocksize */         [-b log=n|size=num]
/* data subvol */       [-d agcount=n,agsize=n,file,name=xxx,size=num,
                            (sunit=value,swidth=value|su=num,sw=num),
                            sectlog=n|sectsize=num,unwritten=0|1]
/* inode size */        [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2]
/* log subvol */        [-l agnum=n,internal,size=num,logdev=xxx,version=n
                            sunit=value|su=num,sectlog=n|sectsize=num,
                            lazy-count=0|1]
/* label */             [-L label (maximum 12 characters)]
/* naming */            [-n log=n|size=num,version=n]
/* prototype file */    [-p fname]
/* quiet */             [-q]
/* realtime subvol */   [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */        [-s log=n|size=num]
/* version */           [-V]
                        devicename
 is required unless -d name=xxx is given.
 is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
      xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
 is xxx (512 byte blocks).
root@LS-VL815:~# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda2              4923420    818664   3854660  18% /
udev                     10240       116     10124   1% /dev
/dev/ram1                15360       144     15216   1% /mnt/ram
/dev/sda1               992036    256300    685740  27% /boot
/dev/disk1_6         237023872    582132 236441740   0% /mnt/disk1
tmpfs                     8192      2032      6160  25% /mnt/ram/com.kernel.org
/dev/sdb2              4989760     10844   4978916   0% /mnt/debinst
root@LS-VL815:~# umount /mnt/debinst/
root@LS-VL815:~# mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=8, agsize=156250 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=1250000, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=2560, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
root@LS-VL815:~# mkswap /dev/sdb3
Setting up swapspace version 1, size = 1023995904 bytes
root@LS-VL815:~# mkfs.xfs -f /dev/sdb4
meta-data=/dev/sdb4              isize=256    agcount=16, agsize=3002320 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=48037120, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=23455, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
root@LS-VL815:~#
マウントしようとした時、気がついた。
ハックキットのインストーラは標準ファームの mkfs.xfs を使う
先日の手順は、ハックキット(Debian)の mkfs.xfs を使った

これか!??

でも、こんな所が違っては困るんだが、、、楽しくなってきたぞー(笑




LS-AVL/A
楽天市場
Amazon
uWorks
ValuMore
Yahoo!ショッピング


ハックキットのインストール(5)
ハックの記録
LinkStation/玄箱 をハックしよう

LinkStationシリーズ ファームウェア アップデーター Ver.1.56

Copyright (C) 2003-2011 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市