garakutaでOmoiKondaraを回せるようにする*1

momongaを入れてみよう。

isoイメージなど

screenの中で、

cd /home/momonga
lftpget \
  http://www.momonga-linux.org/test/momonga-20021116.iso.md5sum \
  http://www.momonga-linux.org/test/INSTALL \
  http://www.momonga-linux.org/test/momonga-20021116.iso

md5sumの確認 いただいてきたmomonga-20021116.iso.md5sumはファイル名が絶対パスになっち ゃってるので、相対パスに直して、

md5sum -c momonga-20021116.iso.md5sum
momonga-20021116.iso: OK

あとはINSTALLファイルに従ってやっていこう。

CDを焼く

ほんとは内蔵HDからインストールのテストもしたかったんだけどね。

su
cdrecord --scanbus
cdrecord -v -dao speed=4 dev=0,0,0 momonga-20021116.iso
exit
eject cdrom
mount /mnt/cdrom
ls /mnt/cdrom
Momonga/  dosutils/  images/

おっけー。

grubのFDを作る

以前作ったのを使いました。

パーティションを考える

/homeと/backupを別のパーティションに、あとは / 用がいくつか(いろいろイン ストールして遊んでみたいのだ) と swap か。/boot はまあ要らないだろう。

ファイルシステムは…どうしようかな?インストール先としては比較的自由度が あるけど、今のmomongaでインストール元としてマウントできるのは限られてい たような気がする。ext2の場所を一個作っておくか。

/dev/hda1 ext3 3GB   /
/dev/hda2 swap 256M
/dev/hda3 extended
/dev/hda5 ?    3GB   /予備
/dev/hda6 ext2 3GB   /ext2
/dev/hda7 ext3 20GB  /home
/dev/hda8 ext3 残り  /backup

こんなものかな?

インストール作業

起動

CD-ROMより起動、boot:に<enter>して、Language: English、Keyboard: us_Ctrl_CAPS、

url = cdrom://hdc/mnt/source

と表示されて、

bash-2.05b#

に。途中、

error 2 reading header: cpio: Bad magic

と出るのが気になるな。合計四回出ている。

パーティション設定

# mknod /tmp/hda

これで、3,0 のブロックデバイスファイルができる。他にも:

# mknod /tmp/hda1
# mknod /tmp/hda2
# mknod /tmp/hda5
# mknod /tmp/hda6
# mknod /tmp/hda7
# mknod /tmp/hda8
# fdisk /tmp/hda
  n;p;1;1;+3072M

/dev/hda1:これで3Gの/ext3のタイプは0x83でいいみたい。

n;p;2;393;+256M;t;2;82

/dev/hda2:swapができた。

n;e;3;426;7297

/dev/hda3:extendedを作って、

n;l;426;+3072M

/dev/hda5:とりあえずext2の/予備

n;l;818;+3072M

/dev/hda6:ext2で/ext2にマウントする

n;l;1210;+10240M

/dev/hda7:/home用

n;l;2516;7297

/dev/hda8:/backup用…ということになりました。pすると、C/H/S=255/63/7297。

w

でパーティションテーブルを書いて終了。

次にファイルシステムを作る。

# mkfs.ext3 /tmp/hda1
# mkfs.ext3 /tmp/hda5
# mkfs.ext2 /tmp/hda6
# mkfs.ext3 /tmp/hda7
# mkfs.ext3 /tmp/hda8
# mkswap /tmp/hda2

そうか、mkfsの前にbadblocksをやっておいても良かったんだ。インストーラ環 境でコマンドはありそうだけど、今回のHDは新品だしいいや。

そうそう、

# lsmod

しても今回はネットワークカードがありません。しょぼん。

インストール先の整備

インスール先をマウントする。

# mkdir /mnt/target
# mount /tmp/hda1 /mnt/target

rpmデータベースを初期化する。

# rpm --version
RPM version 4.0.4

ふむ。

# mkdir -p /mnt/target/var/lib/rpm
# rpm --initdb --root=/mnt/target
# mkdir -p /mnt/target/usr/lib/rpm
# mkdir -p /mnt/target/var/tmp

rpm -e をするときに/var/tmpが必要。

# mkdir -p /mnt/target/tmp

デバイスファイルを少し作る

# mkdir -p /mnt/target/dev
# mknod /mnt/target/dev/null c 1 3

modules.conf

# mkdir -p /mnt/target/etc
# vi /mnt/target/etc/modules.conf

ここにネットワークカードのモジュール名を入れけるといいんだね。 <URL:http://www.scyld.com/network/index.html>を見ると、

SMC 143128 400

というのは無い、が、

SMC EtherPower II (EPIC/100 83c170 chip) driver
SMC EtherPower ( Digital "Tulip" driver for DEC 21*4*-based boards)

くらいが当てはまるかも。チップの型番を見るしかないな。Neyware Tested and Approvedというシールを剥すと、…カニが出てきました。

RTL8029

は、

ne2k-pci.o

みたいだ。8390.oも要るけどdepmod -aしとけば大丈夫なはず、とのこと。 <URL:http://www.scyld.com/network/ne2k-pci.html> そういうわけで、

alias eth0 ne2k-pci

/etc/fstabを作る。/mnt/target/etc/fstabを以下のような感じに。他のパーテ ィションはリブート後に追加しよう。

/dev/hda1 / ext3 defaults 0 1
/dev/hda2 swap swap defaults 0 0
/dev/hda7 /home ext3 defaults 0 2
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0

マウントポイントも作っておく。

# mkdir /mnt/target/home

RPMパッケージをインストール

nodeps無しでやると…

# rpm -ivh --root=/mnt/target /mnt/source/Momonga/PKGS/*/*
error: failed dependencies:
  libfftw.so.2 is needed by ruby-narray-0.5.6p1-2k

そういうわけで、nodeps必須。

# rpm -ivh --nodeps --root=/mnt/target /mnt/source/Momonga/PKGS/*/* \
  2>&1 | tee /mnt/target/tmp/install.log

kernelのインストール時に、

ext2fs_check_if_mount: No such file or directory while determining whether /dev/loop1 is mounted.

というエラーが見られました。

rpm -q --root=/mnt/target kernel 

すると入ってるみたいなのでよしとしよう。

要らないパッケージを消しておく。

# rpm -e --root=/mnt/target kernel-BOOT kernel-smp

initrdの作成

# chroot /mnt/target /sbin/mkinitrd -v /boot/initrd-2.4.19-9m.img 2.4.19-9m
  Using modules: ./kernel/fs/jbd/jbd.o ./kernel/fs/ext3/ext3.o
  Using loopback device /dev/loop1
  /sbin/nash -> /tmp/initrd.Rlw205/bin/nash
  /sbin/insmod.static -> /tmp/initrd.Rlw205/bin/insmod
  `/lib/modules/2.4.19-9m/./kernel/fs/jbd/jbd.o' -> `/tmp/initrd.Rlw205/lib/jbd.o'
  `/lib/modules/2.4.19-9m/./kernel/fs/ext3/ext3.o' -> `/tmp/initrd.Rlw205/lib/ext3.o'
  Loading module jbd
  Loading module ext3

再起動

grubのFDを入れておいて、

# umount /mnt/target
# exit

再起動したら、

grub> root (hd0,0)
grub> kernel /boot/vmlinuz-2.4.19-9m root=/dev/hda1
grub> initrd /boot/initrd-2.4.19-9m.img
grub> boot

kudzuが文句を言ってくる。とりあえずは Do Nothing

あと、eth0がロードされていない。

# insmod ne2k-pci

すると、unresolved symbolがいくつか。8390.oが無いせいだろうな。

# depmod -a
# modprobe ne2k-pci

初めての設定

キー配列

# vi /etc/sysconfig/keyboard
  KEYBOARDTYPE="pc"
  KEYTABLE="us_Ctrl_CAPS"
# /etc/init.d/keytable restart

ネットワーク

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  BOOTPROTO=static
  BROADCAST=xxx.xxx.xxx.255
  IPADDR=xxx.xxx.xxx.xxx
  NETMASK=255.255.255.0
  NETWORK=xxx.xxx.xxx.0
  ONBOOT=yes

# vi /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=garakuta.xxx.xxx.xx
  GATEWAY=xxx.xxx.xxx.xxx

# vi /etc/hosts
  127.0.0.1 localhost.localdomain localhost
  xxx.xxx.xxx.xxx garakuta.xxx.xxx.xx garakuta

# vi /etc/resolv.conf
  nameserver xxx.xxx.xxx.xxx
  nameserver xxx.xxx.xxx.xxx
  search xxx.xxx.xx

# /etc/init.d/network restart

これで隣りのマシンからpingが通るようになった。

一般ユーザー

# useradd momonga
# passwd momonga

うむ。openssh-serverが欲しいな。でもモにもないよ?あと、/dev/hda4を作っ て、/ を増やすかな? SuSEとmomongaテスト用。そういうわけで、CDからブート してfdiskでいじろう。CD-ROMで起動して、

# mknod /tmp/hda
# fdisk /tmp/hda

今のパーティションテーブルは、

hda1    1  392 83
hda2  393  425 82
hda3  426 7297  5
hda5  426  817 83
hda6  818 1209 83
hda7 1210 2515 83
hda8 2516 7297 83

これを変更。というか、後の方を書換えないといけないね。

d;8;d;7;d;6;d;5
n;l;426;+2048M
n;l;688;+2048M
n;l;950;+2048M
n;l;1212;+10240M
n;l;2518;7297
w

これで以下のようになったハズ

/dev/hda1 ext3 3GB   /
/dev/hda2 swap 256M
/dev/hda3 extended
/dev/hda5 ext3 2GB   /予備
/dev/hda7 ext3 2GB   /予備
/dev/hda7 ext2 2GB   isoイメージ用
/dev/hda8 ext3 20GB  /home
/dev/hda9 ext3 残り  /backup

mknodしてから、

# mkfs.ext3 /tmp/hda5
# mkfs.ext3 /tmp/hda6
# mkfs.ext2 /tmp/hda7
# mkfs.ext3 /tmp/hda8
# mkfs.ext3 /tmp/hda9

hda1をマウントして、インストール先のfstabでhda7をhda8に変更。grubで再起 動して、deluser/adduser。

オモコンを始めよう

OmoiKondara HOWTOを参考に、

cvsの準備

これまでのオモコン環境から.sshをコピー。

$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa
$ export CVSROOT=:ext:zunda@cvs.momonga-linux.org:/home/cvs
$ export CVS_RSH=ssh
$ mkdir ~/head

環境整備

$ cd ~/head
$ cvs co tools
$ cd tools
$ make

$ cd ~/head
$ cvs co pkgs/rpmrc
$ cp example.OmoiKondara ../pkgs/

.OmoiKondaraを編集して、TOPDIRを~/head/PKGSに。

とりあえずsshdを使えるようにする

opensshをビルドするのにはopnessl-develとtcp_wrappersが必要な模様。

$ cd ~/head
$ cvs co pkgs/openssl
$ cd pkgs
$ ../tools/OmoiKondara -v openssl
$ cd ../../PKGS/i586
# rpm -Uvh openssl-devel-0.9.6g-1m.i586.rpm

$ cd ~/head
$ cvs co pkgs/tcp_wrappers
$ cd pkgs
$ ../tools/OmoiKondara -v tcp_wrappers
$ cd ../../PKGS/i586
# rpm -Uvh tcp_wrappers-7.6-24k.i586.rpm

$ cd ~/head
$ cvs co pkgs/zlib
$ cd pkgs
$ ../tools/OmoiKondara -v zlib
$ cd ../../PKGS/i586
# rpm -Uvh zlib-devel-1.1.4-3m.i586.rpm

$ cd ~/head
$ cvs co pkgs/openssh
$ cd pkgs
$ ../tools/OmoiKondara -v \
  -r "--define 'no_x11_askpass 1' --define 'no_gnome-akspass 1'" openssh

とりあえずは X関係は要らない。ありー?

rpmbuild -rcfile rpmrc --define … openssh.spec

で終わっちゃうよ。手でやっておこうか。 …本当は、OmoiKondaraの-rオプションの中に-baを書かないといけないんですね。

$ cd openssh
$ rpm --rcfile rpmrc -ba --define 'no_x11_askpass 1' --define \
  'no_gnome-akspass 1' openssh.spec
$ cp RPMS/i586/* ../../PKGS/i586/
# rpm -Uvh openssh-server-3.5p1-1m.i586.rpm

sshdの起動。

# /etc/init.d/sshd start

これでリモートからいろいろできるようになった。

grubのインストール

# vi /boot/grub/grub.conf
  timeout 10
  default 1
  title Momonga Linux 2.4.19-9m
    root (hd0,0)
    kernel /boot/vmlinuz-2.4.19-9m root=/dev/hda1
    initrd /boot/initrd-2.4.19-9m.img 
# cp -a /usr/shar/grub/i386-redhat/*stage* /boot/grub/
# grub
grub> device (hd0) /dev/hda
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

今度はkudzuもやってもらっておくか。ConfiugreでオーディオとUSBふたつ。

よしよし。これでモニターもキーボードも不要になりました。


*1021119_garakuta.txt


Back to garakuta diary. [zunda]
zunda <zunda at freeshell.org>