玄箱のパーティション変更+Debian化

パーティション変更とDebian化手順に関して、まとめて説明してるサイトがないのでメモ。デフォルトだとシステム領域が2Gしかないので、色々入れて遊んでるとすぐに一杯になってしまう。なので、10Gまで増やしてからDebianを入れてみました。


主な参考サイトは以下。みんなすごいなあ。僕なんかいつまで経ってもLinuxのことがよく分かんないんですが。
とにかく、情報共有ありがとうございます。

山下康成の”ハックしよう”


tRes-iQus


ねぎ式


1.玄箱セットアップ(i.e. HDD装着+付属セットアップディスクの利用)
起動後「玄箱のIPが分からない!」という場合は、ルーターのアドレス貸し出し状況を見ます。

2.玄箱にログイン
telnetを使ってログイン。
パーティション切り替えとかをする場合、EMモードというのに切り替える必要がある(→ROMのOSがロードされる)。コンソールに"KURO-BOX-EM"と表示されない場合、HDDのOSで立ち上がっているので、以下のコマンドでEMモードに切り替え:

# echo -n 'NGNG' > /dev/fl3
# reboot

rebootコマンドで再起動すると、EMモードで起動する。で、再度ログイン。IPアドレスはデフォルトの192.168.10.120
僕はKuro-box HG (1Gbps)のを使っていて、EMモード時のID/PWは以下の通り:

ID: root
PW: kuroadmin

3.パーティション作成
mfdiskを使ってパーティション作成。
構成は、/ = 10G, swap = 256M, /mnt = 残り全て
以下、手順:
3.1.全パーティション削除

mfdisk -e /dev/hda


3.2パーティション作成

mfdisk -c /dev/hda

と入力すると、設定モード(?)になる。以下、入力部分はで表示

Command (m for help): n[Enter]
Command action
e extended
p primary partition (1-4)
p[Enter]
Partition number (1-4): 1[Enter]
First cylinder (1-38913, default 1):[Enter]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-38913, default 38913): +10000M[Enter]

同様に、primary 2 には+256M、primary 3 には全て割り当て。全て割り当ての場合、何も入力せずにEnterでいける。


3.3.Swapパーティション作成

Command (m for help): t[Enter]
Partition number (1-4): 2[Enter]
Hex code (type L to list codes): 82[Enter]
Changed system type of partition 2 to 82 (Linux swap)


3.4.確認、書き込み
p で作成したパーティションのリストを表示して、正しく作られたか確認。大丈夫そうなら w でテーブルに書き込んでexit


3.5.パーティションのフォーマット
上記の手順では、まだパーティションがフォーマットされていないので、使うことができない。なので、ここでフォーマット。

# mke2fs -j /dev/hda1
# mke2fs -j /dev/hda3
# mkswap /dev/hda2

4.パーティションのマウントとDebian展開準備
まずはマウント

>mount /dev/hda1 /mnt
>mount /dev/hda3 /mnt2


共有フォルダ作成

>mkdir /mnt2/share


5.いよいよDebianイメージ展開
まず、言わずと知れた「玄箱うぉううぉう♪」さんのところから、Debianの2006 06 10というイメージを持ってきます。(玄箱wgetとかじゃなくて、ログイン元のWindowsとかから)

次に、FTPを使ってこれを/mnt2に移動。で、これを/dev/hda1に展開:

> cd /mnt
> tar xvzf /mnt2/share/debian_2006_06_10_dist.tgz

内容が/dev/hda1のルートに展開される。
途中でエラーが出て終了した場合、おそらく /dev/hda1 ではなくて、元々のディレクトリに展開した可能性大。(←何度かやって悩んだ)

実際のパーティションの設定がイメージのものと異なっているので、/etc/fstabを編集:

# /etc/fstab


/dev/hda1 / ext3 defaults,noatime,errors=remount-ro 0 0
proc /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=20 0 0
/dev/hda2 /swap swap defaults 0 0
/dev/hda3 /mnt ext3 defaults,noatime 0 0

6.電源関係の設定(よくわかってないんだけど。。)
電源関係の設定らしい。以下に

>tar zxvf /mnt2/share/kuroevtd_1.1.3.tgz kuroevtd/kuroevtd
>mv kuroevtd/kuroevtd usr/sbin/kuroevtd
>rmdir kuroevtd

二行目のコマンド、他の例では全て"usr/sbin/kuroevtd"という相対パスになってるんだけど、それだとうまくいかないのでこうやってみました。(←/mnt (/dev/hda1)からコマンドを走らせればできる。前回は間違ってた。。。)
あと、ねぎ式で書いてあるハングアップ対策は今のところ試してません。よくわかんないので。



7.IPアドレスの設定
イメージのデフォルトIPは192.168.0.100らしいので、viを使って/mnt/etc/network/interfacesを修正。

>vi /mnt/etc/network/interfaces

8.アクセス許可とかの設定
hostsファイルの設定
note:address と gatewayを適宜変更

>vi /mnt/etc/hosts


アクセス許可では、面倒なので全部許可。
note:192.168.xxx.0 の xxxの部分を適宜変更

>vi /mnt/etc/hosts.allow


名前解決のDNSサーバーアドレスを設定。ルーターを指定。

>vi /mnt/etc/resolv.conf


9.いよいよ再起動
EMモードを解除します:

>echo -n 'OKOK' > /dev/fl3
>reboot

僕のばあい、これで再起動しなくって少し焦ったけど、電源ボタン長押しでシャットダウン→電源ボタン押下で起動、とやったら、問題なく再起動しました。ちなみに、再起動後のtelnetでのログイン用ID&PWは:tmp-kun です。ログイン後はsu-でrootになれます(password は root)。
で、apt-get update, apt-get dist-upgradeその他色々やりたいところですが、まずaptの設定を変更:


おまけ:/etc/apt/sources.listを変更
基本的にはwoodyをsargeに書き換え。viでの置換の仕方は

:%s/woody/sarge/g

注意深い人は、最後のgをgcにすると、対話型になって一つずつ確認しながら置換できる。


*ちなみに、途中で設定しくじって、再起動できない!EMモードにすら入れない!付属セットアップCDで玄箱が見つからない!なんてときは、慌てずに玄箱後部の赤いINITボタンをしばらく押してやるとEMモードに入れます。で、設定再開(上記のステップ4くらいから)。人生、いつからでもやり直せる。


ひゅー。おつかれさま。