HS-DGL のファーム入り HDD 作成


玄箱/HG + ハックキット 1.2 に USB で 10.2GB HDD を接続、 この HDD に HS-DGL のファームを展開する。

パーティションの作成

fdisk でパーティションを作成する。 最近のファームはパーティションが4つ要るはずだが、 とりあえず3つだけ作る。
[root@hage /root]# fdisk /dev/sda

このディスクのシリンダ数は 9768 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p

ディスク /dev/sda: ヘッド 64, セクタ 32, シリンダ 9768
ユニット = シリンダ数 of 2048 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/sda1             1      9768  10002416   83  Linux

コマンド (m でヘルプ):
なんか、使った形跡があるが、、、無視して削除。
コマンド (m でヘルプ): d
領域番号 (1-4): 1
ルートファイルシステムを作る。2GB 位か。
コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-9768, 初期値 1):
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-9768, 初期値 9768): +2048M
swap は 256MB 程。
コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 2
最初 シリンダ (2050-9768, 初期値 2050):
初期値 2050 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (2050-9768, 初期値 9768): +256M
残りは全部 /mnt に割り当てる
コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 3
最初 シリンダ (2307-9768, 初期値 2307):
初期値 2307 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (2307-9768, 初期値 9768):
初期値 9768 を使います
sda2 に swap 属性をつける
コマンド (m でヘルプ): p

ディスク /dev/sda: ヘッド 64, セクタ 32, シリンダ 9768
ユニット = シリンダ数 of 2048 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/sda1             1      2049   2098160   83  Linux
/dev/sda2          2050      2306    263168   83  Linux
/dev/sda3          2307      9768   7641088   83  Linux

コマンド (m でヘルプ): t
領域番号 (1-4): 2
16進数コード (L コマンドでコードリスト表示): 82
領域のシステムタイプを 2 から 82 (Linux スワップ) に変更しました

コマンド (m でヘルプ): p

ディスク /dev/sda: ヘッド 64, セクタ 32, シリンダ 9768
ユニット = シリンダ数 of 2048 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/sda1             1      2049   2098160   83  Linux
/dev/sda2          2050      2306    263168   82  Linux スワップ
/dev/sda3          2307      9768   7641088   83  Linux
パーティション情報を書き込んで終了
コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@hage /root]#

フォーマット

sda1, sda3 を ext3 に、sda2 を swap にフォーマットする。
[root@hage /root]# mke2fs -j /dev/sda1
mke2fs 1.29 (24-Sep-2002)
warning: 252 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
262656 inodes, 524288 blocks
26227 blocks (5.00%) reserved for the super user
First data block=0
16 block groups
32768 blocks per group, 32768 fragments per group
16416 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

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

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@hage /root]# mke2fs -j /dev/sda3
mke2fs 1.29 (24-Sep-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
955328 inodes, 1910272 blocks
95513 blocks (5.00%) reserved for the super user
First data block=0
59 block groups
32768 blocks per group, 32768 fragments per group
16192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

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

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@hage /root]# mkswap /dev/sda2
Setting up swapspace version 1, size = 263164K
[root@hage /root]#

マウント

/tmp/root にマウントする
[root@hage /root]# mkdir /tmp/root
[root@hage /root]# mount /dev/sda1 /tmp/root
[root@hage /root]# mkdir /tmp/root/mnt
[root@hage /root]# mount /dev/sda3 /tmp/root/mnt
[root@hage /root]# df
ファイルシステム    1k-ブロック   使用中      空き 使用% マウント場所
/dev/hda1              2071384    476708   1489452  25% /
/dev/hda3              7534776    350316   6801712   5% /mnt
/dev/sda1              2064144     32832   1926404   2% /tmp/root
/dev/sda3              7521128     32828   7106248   1% /tmp/root/mnt
[root@hage /root]#

ファーム展開

HS-DGLシリーズ ファームウェア アップデータ Ver.1.46 の image.dat(を unzip した tmpimage.tgz)を /tmp/root に展開する。
(image.dat の ZIP パスワードはお教えできませんので悪しからず)
[root@hage /root]# cd /tmp/root
[root@hage root]# tar zxvf ../tmpimage.tgz
/
./bin/
./bin/awk
./bin/run-parts
	:
	:
./mnt2/usbdisk1/
./mnt2/nfs/
./boot/
[root@hage root]#
HGLAN のカーネルモジュールを展開しておいたほうが良いかな?

アンマウント

[root@hage root]# cd
[root@hage /root]# umount /tmp/root/mnt
[root@hage /root]# umount /tmp/root
できあがり。


DNLA ガイドライン対応のクライアント
ハックの記録
LinkStation/玄箱 をハックしよう

HD-HGLAN に HS-DGL ファーム

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