さて、玄箱不定期連載2回目です。
前回組み立てた玄箱にDebian Linuxをインストールします。
これを解説しているサイトはとても多いんですが、導入の際に玄箱デフォルトのパーティションでやってるところがほとんどです。デフォルトではDebianをインストールするパーティションは2GBほどしかないので、DBやアプリをいっぱいインストールしたい人には不向きかもしれません。そこで、ここではファームアップデートを行わず、自力でパーティションを切ってからDebianをインストールしてみましょう。
パーティションの切り方は、玄箱のファームアップデートスクリプトを参考にさせていただきました。
まずは、玄箱をLANに繋いで電源をいれます。
玄箱が正常に起動したら、IPアドレスを探します。多くの場合は192.168.11.150かもしれません。しかしDHCPルーターなんかを使っている場合はDHCPからIPを取得している可能性があります。コマンドラインから
---
# ping kuro-box
---
とすれば、IPが判明するかもしれません。unknown hostが返ってくるようであれば、玄箱付属のファームアップデートで検出すれば、IPが表示されると思います。
ここでは、192.168.11.150で検出されたとしましょう。
Tera Termなどのソフトを使って、192.168.11.150にtelnetでアクセスします。
---
Kuroutoshikou KURO-BOX/HG (IESHIGE)
Linux/ppc 2.4.17_mvl21
KURO-BOX-EM login:
---
というような表示がされます。
玄箱HGの場合、ログインアカウントは root、パスワードは kuroadminです。
---
BusyBox v0.60.5 (2003.07.30-12:03+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
---
このコンソールはEMモードと呼ばれていて、玄箱に内臓されているフラッシュROMのLinuxです。
HDDにインストールしたOSがぐちゃぐちゃになっても、EMモードを立ち上げて復旧させればいいわけですね。
こういうのはとても便利だと思います。
ファームアップデート後の玄箱はEMモードではなく、HDDにインストールされたLinuxから起動しています。
もしファームアップデートを行ってしまった人はEMモードにしてください。
EMモードにするためのコマンドは、(以後、入力は赤字で記載します)
---
# echo -n 'NGNG' > /dev/fl3
# reboot
---
再起動後にtelnet接続すれば、EMモードになってるはずです。
目印は、ログイン画面の表示が「KURO-BOX-EM」になっていること。
では、ここからパーティションを削除します。
---
# /sbin/mfdisk -e /dev/hda
---
と入力してください。
---
# /sbin/mfdisk -e /dev/hda
delete partition 1
delete partition 2
delete partition 3
create partitions...
deleate all partitions.
The partition table has been altered!
Syncing disks.
---
こんな感じになったと思います。これでパーティションが削除されました。
次に新しいパーティションを作ります。
ハードディスクの容量は250GBでやっています。
---
# /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-30401, default 1): [なにも入力せずenter]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401): +150000M
Command (m for help):
---
上記の処理で、Debianをインストールするためのパーティションを作成しました。
First cylinderの値はデフォルトの1、そこから150GB分のシリンダーをDebianのために予約しました。
次は同じようにして、スワップパーティションを作成します。
---
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (12750-30401, default 12750): [なにも入力せずenter]
Using default value 12750
Last cylinder or +size or +sizeM or +sizeK (12750-30401, default 30401): +2000M
Command (m for help):
---
スワップは2GB予約しました。
次に、残りの全ての領域をデータ保存用パーティションとして割り当てます。
本来は、このパーティションが玄箱をNASで使う場合のデータ保存領域になります。
---
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (14025-30401, default 14025): [なにも入力せずenter]
Using default value 14025
Last cylinder or +size or +sizeM or +sizeK (14025-30401, default 30401): [なにも入力せずenter]
Using default value 30401
Command (m for help):
---
これで3つのパーティションが予約できました。
次はこの中の第2パーティションをスワップとして予約します。
---
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)
---
Hex code 82というのがLinux swapなんですね。
ここまでのコマンドpで設定を確認しましょう。
---
Command (m for help): p
Disk /dev/hda: 255 heads, 63 sectors, 30401 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 19123 153605466 83 Linux
/dev/hda2 19124 19378 2048287+ 82 Linux swap
/dev/hda3 19379 30401 88542247+ 83 Linux
Command (m for help):
---
次に、予約したパーティションをwriteしてパーティションを書き込みます。
---
Command (m for help): w
The partition table has been altered!
Syncing disks.
#
---
これでパーティションの書き込みが終了しました。
次に各パーティションをフォーマットしていきます。
まずは、Debianをインストールするパーティション。
---
# 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)
19202048 inodes, 38401366 blocks
1920068 blocks (5.00%) reserved for the super user
First data block=0
1172 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
#
---
次にスワップパーティション。
---
# mkswap /dev/hda2
Setting up swapspace version 1, size = 2097438720 bytes
#
---
次にデータ保存領域のパーティション。
---
# /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)
11075584 inodes, 22135561 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
676 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000
Writing inode tables: done
Creating journal (8192 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.
#
---
念のために/hda3のパラメータを調整しておきます。
予約ファイルシステムのオフです。
---
# /sbin/tune2fs -m 0 /dev/hda3
tune2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
Setting reserved blocks percentage to 0 (0 blocks)
#
---
各パーティションをマウントしていきます。
Debianをインストールするパーティションを /mnt とします。
---
# /bin/mount -t ext3 /dev/hda1 /mnt
---
次に、データ保存領域を /mnt2 とします。
---
# /bin/mount -t ext3 /dev/hda3 /mnt2
---
これでDebianをインストールするための領域が作成できました。
dfコマンドで確認すると
---
# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ram0 9677 5129 4548 53% /
/dev/hda1 100798036 32828 95644896 0% /mnt
/dev/hda3 129483488 32828 129450660 0% /mnt2
---
こんな感じになっていると思います。
/ram0ってのはEMモードの領域ですね。
さて、次にDebianのインストールに入るための準備をします。
まず、
---
# mkdir /mnt2/share
---
として、mnt2にshareディレクトリを作成します。
次に、玄箱うぉううぉう♪からDebianのバイナリをダウンロードします。
現時点では、debian_2006_06_10_dist.tgzが最新バージョンでした。
debian_2006_06_10_dist.tgzを/mnt2/shareにFTPでバイナリ転送します。
転送が完了したら、
---
# cd /mnt
---
として、/mnt ディレクトリに移動し、
---
# tar xvzf /mnt2/share/debian_2006_06_10_dist.tgz
---
として、/mntにDebianを展開します。
展開が完了したら、ネットワークの設定をしときましょう。
まず、
---
# vi /mnt/etc/network/interfaces
---
として、interfacesを以下のように編集します。
===
# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.
iface eth0 inet static
address 192.168.1.100 ← [使用環境に合わせて変更]
network 192.168.1.0 ← [使用環境に合わせて変更]
netmask 255.255.255.0
broadcast 192.168.1.255 ← [使用環境に合わせて変更]
gateway 192.168.1.1 ← [使用環境に合わせて変更]
iface lo inet loopback
auto eth0 lo
===
上記の設定では、192.168.1.0/24のネットワーク内で玄箱を192.168.1.100とするようにしています。
くれぐれも他端末とのIPの競合がないようにしてください。
次に、
---
# vi /mnt/etc/hosts
---
として、hostsを編集します。
===
127.0.0.1 localhost
192.168.1.100 KURO-BOX ← [使用環境に合わせて変更]
===
次は、hosts.allow
---
# vi /mnt/etc/hosts.allow
---
===
# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5), hosts_options(5)
# and /usr/doc/netbase/portmapper.txt.gz
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper. See portmap(8)
# and /usr/doc/portmap/portmapper.txt.gz for further information.
#
#ALL : 192.168.0.0/255.255.255.0
ALL : ALL : ALLOW
===
一応、全ての端末からログインが可能なようにしました。
最後にresolv.confです。
---
# vi /mnt/etc/resolv.conf
---
===
search
nameserver 192.168.1.1 ← [使用環境に合わせて変更]
===
これで、Debian起動の準備ができました。
最後に、EMモードから通常起動に復帰するコマンドを打って再起動します。
---
# echo -n 'OKOK' > /dev/fl3
# reboot
---
再起動が完了したら、telnetで玄箱のIPアドレス(例では192.168.1.100)に接続してください。
---
Debian GNU/Linux 3.0 KURO-BOX
KURO-BOX login:
---
このログイン画面になっていれば成功しています。
ログインアカウントは tmp-kun パスワードも tmp-kun です。
ログインすると、
---
Debian GNU/Linux 3.0 KURO-BOX
KURO-BOX login: tmp-kun
Password: tmp-kun
Last login: Sun May 2 15:10:53 2004 from 192.168.0.32 on pts/0
Linux KURO-BOX 2.4.17_mvl21 #24 2004年 10月 19日 火曜日 17:17:03 JST ppc unknown
Most of the programs included with the Debian GNU/Linux system are
freely redistributable; the exact distribution terms for each program
are described in the individual files in /usr/share/doc/*/copyright
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
tmp-kun@KURO-BOX:~$
---
という感じになるはずです。
とりあえず、今回はここまで。おつかれさまでした。
次回は、インストールできたDebianをアップデートしたりしてみましょう。