HS-DHGL:ファームウェア 1.03 β1 HDD の作成


まっさらな状態からファームウェア 1.03 β1 が入った HDD を作ってみる

構想

・標準ファームウェアと同じパーティション構成にし、
・/dev/sda1 (/boot) に uImage.buffalo と initrd.buffalo と hddrootfs.buffalo.updated とを置き、
・電源を入れれば良いはず。

パーティションを切る

HS-DHGL 標準ファーム 1.02 を起動し、USB で HDD を接続する。
なので、/dev/sdb
root@SIL:~# fdisk /dev/sdb

The number of cylinders for this disk is set to 19595.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): 
(略)
Command (m for help): p

Disk /dev/sdb: 20.5 GB, 20547841536 bytes
64 heads, 32 sectors/track, 19595 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         192      196592   83  Linux
/dev/sdb2             193         670      489472   83  Linux
/dev/sdb4             671       19595    19379200    5  Extended
/dev/sdb5             671         793      125936   82  Linux swap
/dev/sdb6             794       19595    19253232   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
root@SIL:~#

フォーマットする

sda1 (/boot)

root@SIL:~# mke2fs -j /dev/sdb1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
49152 inodes, 196592 blocks
9829 blocks (5.00%) reserved for the super user
First data block=1
24 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

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

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@SIL:~#

/dev/sdb2 (/)

root@SIL:~# mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=8, agsize=15296 blks
         =                       sectsz=512
data     =                       bsize=4096   blocks=122368, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=1200, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=65536  blocks=0, rtextents=0
root@SIL:~# 

/dev/sdb5 (swap)

root@SIL:~# mkswap /dev/sdb5
Setting up swapspace version 1, size = 128954368 bytes
root@SIL:~# 

/dev/sdb6 (/mnt/disk1)

root@SIL:~# mkfs.xfs -f /dev/sdb6
meta-data=/dev/sdb6              isize=256    agcount=19, agsize=262144 blks
         =                       sectsz=512
data     =                       bsize=4096   blocks=4813308, 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
realtime =none                   extsz=65536  blocks=0, rtextents=0
root@SIL:~#

マウント

root@SIL:~# mkdir /tmp/boot
root@SIL:~# mount /dev/sdb1 /tmp/boot
root@SIL:~#

コピー

昨日 展開したファームをコピーする
root@SIL:/mnt/disk1/share/1.03b1# tar cf - uImage.buffalo initrd.buffalo hddrootfs.buffalo.updated |(cd /tmp/boot/; tar xvf -)
hddrootfs.buffalo.updated
initrd.buffalo
uImage.buffalo
root@SIL:/mnt/disk1/share/1.03b1#
準備完了。

起動

HDD を S-ATA につなぎ直し、HS-DHGL の電源を入れる。

INFO LED が 25 を表示し、HDD がゴリゴリ言っている。
しばらくして「ピィ」といってリブートをはじめた。
またまたしばらくして POWER LED の点滅が止まった。

バージョン確認

管理画面にブラウザでアクセスし、バージョンを確認する。
管理者パスワードは初期状態、
LinkStationの名称も MAC アドレスが入った初期状態。

ファームウェアバージョンは 1.03。\^_^/

まっさらな状態から、標準ファームの HDD 作成成功。

メリー・クリスマァース!




HS-DHGL:ファームウェアアップデータ 1.03β1
ハックの記録
LinkStation/玄箱 をハックしよう

LS-GL: initrd がなかったら?

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