voyageはデフォルトで/をroでマウントしたり、実用の観点からは非常に良いのですが、そのためカスタマイズが少し難しく感じたので、voyageを参考にALIX用に素のdebianが動くCFカードを作成してみました。
メインマシンのubuntu 7.10にUSBのカードリーダーを接続し、CFカードを入れ、dmesgコマンドの出力から/dev/sdgとして認識されているところまで確認します。
とりあえずext2fsにフォーマットします。
$ sudo /sbin/fdisk /dev/sdg
コマンド (m でヘルプ): p
Disk /dev/sdg: 519 MB, 519708672 bytes
16 heads, 62 sectors/track, 1023 cylinders
Units = シリンダ数 of 992 * 512 = 507904 bytes
Disk identifier: 0x18468ac9
デバイス Boot Start End Blocks Id System
/dev/sdg1 1 1023 507377 83 Linux
$ sudo /sbin/mke2fs /dev/sdg1 $ sudo /sbin/tune2fs -c 0 -i 0 /dev/sdg1次にdebファイルを展開します。ここでは作成した/dev/sdg1を/mnt/cfにマウントしておきます。
$ sudo mount /dev/sdg1 /mnt/cf $ sudo debootstrap --arch i386 etch /mnt/cfi386を指定しているのはメインマシンがx86_64だからです。ここで画面がずっとスクロールして、そこそこの時間が掛ります。次にブートローダーをMBRに導入してしまいます。
$ sudo grub-install --root-directory=/mnt/cf /dev/sdgここまでで、そこそこ動くようにはなっていますが、なにしろ/mnt/cf/boot以下にカーネルイメージがありません。そこでカーネル含めいろいろapt-getしていく事にします。chrootを使って普通にapt-getします。
$ sudo chroot /mnt/cf /bin/bash # apt-get install linux-image-2.6.18-6-486"Do you want to abort now?"には"No"を選択し、これ以外はデフォルトの選択肢をそのままリターンキーを押して選択していきます。grubが動くように/boot/grub/menu.lstファイルを作成します。
# cat /boot/grub/menu.lst
serial --speed=38400
terminal serial
##
default 0
timeout 10
##
title debian etch
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/hda1 console=ttyS0,38400n8
initrd /boot/initrd.img-2.6.18-6-486
savedefault
さらに/etc/inittabでtty[1-6]でのgettyをコメントアウトし、シリアルでgettyが動くようにttyS0を有効にします。
# cat /etc/inittab ... ##1:2345:respawn:/sbin/getty 38400 tty1 ##2:23:respawn:/sbin/getty 38400 tty2 ##3:23:respawn:/sbin/getty 38400 tty3 ##4:23:respawn:/sbin/getty 38400 tty4 ##5:23:respawn:/sbin/getty 38400 tty5 ##6:23:respawn:/sbin/getty 38400 tty6 # Example how to put a getty on a serial line (for a terminal) # T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100 ...シリアルで接続する際は通信レートが合わないと、画面がグダグダになってしまうので"38400"に修正します。これは原因がわからずに迷ってしまう可能性が高いところなので、TeraTermなどの端末の表示がおかしくなった場合には気をつけてください。 あとは/etc/fstabファイルです。
# cat /etc/fstab /dev/hda1 / ext2 defaults 0 0 proc /proc proc defaults 0 0とりあえず必要なものは後からapt-getする事にすれば、これで稼動するはずです。 まだ/etc/network/interfaceなどを準備する必要がありますが、これはALIX側でシリアル経由で行なっていきます。
0 件のコメント:
コメントを投稿