どっかの国のPX-EH25L買った人用に書いたものを追試する
LANDISK(HDL-xxxU)に素のLinux環境を入れて起動する方法。
Eat Your Own Dogfood! ってわけで検証。
いまさら、UNIX USERのバックナンバー(2004.11)を買えってのもないだろう。だいたい、在庫あるのかな?
でも、元原稿はZopeで作った原稿管理システムで書いていたので、いまは冷たいドライブの中で拾うのたいへんだ。
あれからだいぶ状況も変わったので、どっかの国の人向けに書き下ろしてみた。
debootstrapからやっておくべきなんだろうけど、今回はそこまで手をかけていない。kogiidenaさんに感謝。
LANDISK壊れたな人もいるだろうから、メモしておく。
ただ、記憶を頼りに書いたので、これでよかったっけ?という部分もあって追試をしてみる。
Try it.
- At first let's prepare for a new hard drive.
- Make boot(sda1:keep small),swap(sda2),and rootfs(sda3) partition.
- Format sda1/3 mkfs.ext3
Maxtor DiamondMax Plus9 80GB(6Y080L)をUSBアダプタ経由で接続。
# fdisk /dev/sda Command (m for help): p Disk /dev/sda: 80.0 GB, 80001105920 bytes 16 heads, 63 sectors/track, 155012 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/sda1 1 993 500440+ 83 Linux /dev/sda2 994 1986 500472 82 Linux swap / Solaris /dev/sda3 1987 155012 77125104 83 Linux # mkfs.ext3 /dev/sda3 # mkfs.ext3 /dev/sda3 # mkswap /dev/sda2
次。
- mount sda3 and do this.
# mount /dev/sda3 /media/
# cd /media/
# wget http://iohack.sourceforge.jp/kogiidena/debian26/base/base26-sh4-20060329-etch.tgz
# wget http://iohack.sourceforge.jp/kogiidena/debian26/base/landisk-tools-20061204.tgz
# tar zxvfp base26-sh4-20060329-etch.tgz
# mv debian26/* ./
# rm -r debian26/
# tar zxvfp landisk-tools-20061204.tgz
# mkdir arc
# mv base26-sh4-20060329-etch.tgz landisk-tools-20061204.tgz arc/
- mount sda1 and do this.
# mount /dev/sda1 /mnt
# cp /media/boot/vmlinuz-2.6.16-sh /mnt
# cp /media/boot/boot.b-selk /mnt/boot.b
これは、まったくこの通り。
- edit network settings, change fstab/hosts.allow, make lilo.cross.
linear
boot=/dev/sda
disk=/dev/sda
bios=0x80
timeout=50
default=linux
image=/boot/vmlinuz-2.6.16-sh
label=linux
root=/dev/hda3
read-only
# vi etc/network/interfaces とりあえず固定アドレスで設定。 # vi etc/resolv.conf これも同じ。 # vi etc/hosts.allow これも。 # vi etc/fstab /dev/hda1 /boot ext3 defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/hda3 / ext3 defaults 0 0 # vi etc/lilo.cross これは例の通り。
- get lilo and do it.
# cd /home
# wget http://slackware.cs.utah.edu/pub/slackware/slackware-7.1/slakware/a8/lilo.tgz
# tar zxvf lilo.tgz sbin
# /home/sbin/lilo -r /media -C /etc/lilo.cross -v
# umount /dev/sda3 /dev/sda1
作業領域は、homeはやめて、/media/arcにする。
# /media/arc/sbin/lilo -r /media -C /etc/lilo.cross -v LILO version 21.4-3, Copyright (C) 1992-1998 Werner Almesberger 'lba32' extensions Copyright (C) 1999,2000 John Coffman Reading boot sector from /dev/sda Merging with /boot/boot.b Fatal: open /boot/boot.b: No such file or directory
ありゃ、ダメだな。
hda3のほうの/bootを見にいく仕組みなのね。
# /media/arc/sbin/lilo -r /mnt -C /etc/lilo.cross -v LILO version 21.4-3, Copyright (C) 1992-1998 Werner Almesberger 'lba32' extensions Copyright (C) 1999,2000 John Coffman /etc/lilo.cross: No such file or directory
こっちもダメか。
これならどをよ。
install=/mnt/boot.b image=/mnt/vmlinuz-2.6.16-sh Reading boot sector from /dev/sda Merging with /mnt/boot.b Fatal: open /mnt/boot.b: No such file or directory
だめだな。
sh-liloは1024シリンダ問題ありでセクタ決め打ちだっけ?
それとも、ローダーはext2を理解しているはずだから、boot.bは見つけられるのだっけ?
# cp /media/boot/boot.b-selk /media/boot/boot.b # /media/arc/sbin/lilo -r /media -C /etc/lilo.cross -v LILO version 21.4-3, Copyright (C) 1992-1998 Werner Almesberger 'lba32' extensions Copyright (C) 1999,2000 John Coffman Reading boot sector from /dev/sda Merging with /boot/boot.b Warning: device 0x0803 exceeds 1024 cylinder limit Fatal: sector 62565121 too large for linear mode (try 'lba32' instead)
やっぱ、そうか。
とすると、一ヶ所に詰めないとダメなのね。
必要な最低ラインは、関連するブロックデバイスファイルだったかな。
# mkdir /mnt/dev # mknod /mnt/dev/hda b 3 0 # mknod /mnt/dev/hda1 b 3 1 # mknod /mnt/dev/hda2 b 3 2 # mknod /mnt/dev/hda3 b 3 3 # mknod /mnt/dev/sda b 8 0 # mknod /mnt/dev/sda1 b 8 1 # mknod /mnt/dev/sda2 b 8 2 # mknod /mnt/dev/sda3 b 8 3 # mkdir /mnt/etc # cp /media/etc/lilo.cross /mnt/etc/ # vi /mnt/etc/lilo.cross linear boot=/dev/sda disk=/dev/sda bios=0x80 timeout=50 install=/boot.b default=linux image=/vmlinuz-2.6.16-sh label=linux root=/dev/hda3 read-only # /media/arc/sbin/lilo -r /mnt -C /etc/lilo.cross -v Reading boot sector from /dev/sda Merging with /boot.b Fatal: mknod /tmp/dev.0: No such file or directory
/tmpもいるのかよ。
# mkdir /mnt/tmp Fatal: creat /boot/map~: No such file or directory
をいをい。
# mkdir /mnt/boot # /media/arc/sbin/lilo -r /mnt -C /etc/lilo.cross -v LILO version 21.4-3, Copyright (C) 1992-1998 Werner Almesberger 'lba32' extensions Copyright (C) 1999,2000 John Coffman Reading boot sector from /dev/sda Merging with /boot.b Boot image: /vmlinuz-2.6.16-sh Added linux * Backup copy of boot sector in /boot/boot.0800 Writing boot sector.
やっとうまくいったかな。
# cd / # umount /mnt /media
接続して試験。
うまく起動してきているようだ。
# telnet 192.168.123.11 Trying 192.168.123.11... Connected to 192.168.123.11. Escape character is '^]'. Debian GNU/Linux testing/unstable landisk login: landisk Password: Linux landisk 2.6.16-sh #1 Tue Mar 28 22:23:50 JST 2006 sh4 GNU/Linux
訂正メール送らなきゃだな。