«前の日記(2004-03-06 (土)) 最新 次の日記(2004-03-08 (月))»  

まちゅダイアリー


2004-03-07 (日)

ブートシーケンス

カーネルを2.4.23にしてからブートドライブの位置 (/dev/hda1) を指定しなければいけないようになった問題だけど、単純に grub.conf の設定が間違っていたみたい。 ちゃんと、genkernelのログに設定方法が書いてあった。

# tail -15 /var/log/genkernel.log | head 10
* Kernel compiled successfully!
* Required Kernel Params:
*   : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT
*     where $ROOT is the devicenode for your root partition as
*     you should have specified in /etc/fstab
*
* You MUST tell your bootloader to use the generated initrd
*
* Recommended Kernel Params:
*   : vga=0x317 splash=verbose

ということで、grub.confを修正。

# diff -u /boot/grub/grub.conf.20040307 /boot/grub/grub.conf
--- /boot/grub/grub.conf.20040307       2004-03-07  11:26:28.000000000 +0900
+++ /boot/grub/grub.conf        2004-03-07 13:30:05.000000000 +0900
@@ -5,5 +5,5 @@
 # For booting GNU/Hurd
 title  Gentoo Linux (genkernel)
 root   (hd0,0)
-kernel (hd0,0)/boot/kernel-2.4.23_pre8-gss-r2 root=/dev/hda3 vga=791
+kernel (hd0,0)/boot/kernel-2.4.23_pre8-gss-r2 root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc vga=0x317 splash=verbose
 initrd (hd0,0)/boot/initrd-2.4.23_pre8-gss-r2

おそらく、genkernelのバージョンが3.0になってから起動方法が若干変わったんだろう。 root には RAMディスクを指定して、 real_root に本当のルートデバイスを指定するようになっている。

で、これで再起動したところ、起動時にブートドライブの位置を聞かれることはなくなった。 ところが、今度はrootドライブが2重にマウントされてしまった。

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3             11204988   4080600   7124388  37% /
/dev/hda3             11204988   4080600   7124388  37% /
none                     95416         0     95416   0% /dev/shm
/dev/hda1                69973      8750     57610  14% /boot

Linux Worldの4月号にも同じ現象が書いてあったな・・・。 muneda's diaryさんのところも、同じみたい。 linuxrc の中でもrootをマウントしているのが原因らしい。

とにかく、場所が場所なのでよく分からないままに色々試すのも危険。 精神衛生上よくないけど、このまま様子見かな。

Tags: Gentoo

再インストール

今の環境を捨てて、Gentoo 2004.0 を入れなおそうかどうか迷っている。

公式ドキュメントには、1.4 からだと emerge -u world で2004相当になるとは書かれている。

If you already have a working installation of Gentoo Linux (Version 1.4) there is no need to reinstall. You will automatically get Gentoo 2004.0 if you sync your Portage tree and run emerge --update world.

しかし、失敗したのは全く使わない X Window と Gnome を入れてしまったこと。 このため、emerge -u world するとGnome関連も再コンパイルとなる。 これらはパッケージの数が多い上に、コンパイルにも時間がかかるんだよね。 トータルで何日かかるか見当もつかないや。

とるべき道としては、

  1. emerge.logを参考にGnome, X Window 関連のパッケージを一つずつ削除する
  2. 再インストールしてGentoo 2004にする

なんだろうけど、後者のほうが楽しそうなんだよね。

Tags: Gentoo

2004.0

誘惑に負けて挑戦。 ミラーサイトより、 /releases/x86/2004.0/livecd/universal/install-x86-universal-2004.0.iso を取得して、CD-Rに焼く。 このCD-Rから起動すると、やっぱりNICが認識しない。またかよ。

今度はPCMCIA自体が認識していないみたい。 起動時に、 boot: gentoo dopcmcia dokeymap としているのに、どちらのオプションも有効になっていないようだ。 ま、前回もNICを使わずにインストールしたので、今回もうまくいくだろうと思ってインストールを進める。

まずは、既存のファイルをすべて /mnt/gentoo/backup *1 に退避させる。 それから、CD-Rに含まれているStage3のファイルを展開。

# tar -xvjpf /mnt/cdrom/stages/stage3-pentium3-20040218.tar.bz2
# cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles

次に、カーネルコンパイルに必要な基本的なバイナリが含まれたpackagesをコピーする・・・あれ、 /mnt/cdrom/packages がない?

最新のドキュメントにも

Code Listing 16: Copy over precompiled packages

# mkdir -p /mnt/gentoo/usr/portage/packages/All
# cp /mnt/cdrom/packages/All/* /mnt/gentoo/usr/portage/packages/All/

と書かれているのに。 NICが認識していないので、ネットワークから取得することもできず。

しかたない。既存の環境 (/mnt/gentoo/backup) からgenkernelの構築に必要なファイルを取ってくるしかないなぁ。

Tags: Gentoo

*1 mount /dev/hda3 /mnt/gentoo としている