Home

技術系のメモと日々の雑感

CentOS と Turbo のデュアルブート

以前、TurboLinux 11(FUJI) の環境を作ったときに CentOS とデュアルブートにしたんだけど、Turbo の GRUB の設定に少しクセがあってハマったのでメモっておくことにする。
パーティションは

/dev/hda1  CentOS用 /boot
/dev/hda2  CentOS用 /
/dev/hda3  swap(共用)
/dev/hda4  Turbo用 /

こんな感じ。(Turbo 用の /boot がないのには深い意味はない)
で、先に CentOS を入れていたので、Turbo のインストール時には GRUB の設定をスキップして、後で CentOS 側の grub.conf に以下を追加した。

root (hd0,3)
kernel /boot/vmlinuz-2.6.23-2 ro root=/dev/sda4
initrd /boot/initrd-2.6.23-2

Turbo は IDE でも /dev/sda で認識するので「root=/dev/sda4」にしている。
この状態で起動してみると Kernel Panic になってしまった。
メッセージを見るとルートパーティションが見付からないとのこと。
試しに「root=/dev/hda4」にしてももちろん駄目で、/dev/hda4 に設定されているラベルに変えてみても同じ。
これは調べるよりも Turbo のインストーラが設定する grub.conf を見た方が早いだろうと思って別のマシンにインストールしてみたら

kernel (hd0,3)/boot/vmlinuz root=0804

となっていた。
Kernel Panic のときのメッセージをもう一度よく見ると、確かに 0804 と出てたけど。
こんな書き方もできるのか・・・。

P5LD2-VM で起動が遅い

この前、ASUSTeK P5LD2-VM のマシンで、 ITE8211F のスキャンの後、OS がブートし始めるまでに数十秒待たされるという現象に遭遇。
CentOS を入れていたのでそっちのせいかとも思ったけど、原因を調べたところ BIOS の設定だった。(AMI BIOS Ver 0901)
[Advanced] - [Chipset] - [Graphic Adapter Priority] で使ってないスロットをスキャンしないようにすると回避できた。
モニタが DVI ポートを持っていたので、それ用に PCI Express のビデオカードを増設していたんだけど、設定が合ってなかったようだ。
あと、このマザーボードは VGA ポートをオンボードで持っているけど、こっちを使う場合は明示的に Internal VGA を選んでおいた方がよさそう。
デフォルトの設定は PCI Express / Int-VGA だった気がする。

root でログイン不可

ある検証をするために TurboLinux 11(FUJI) のフリー版をインストールしたときのこと。
無事にインストールが終わって、起動後に root でログインしようとしたら何故かはじかれてしまった。
パスワードが違う?
う〜ん、確かにインストールのときに設定したパスワードなんだけどなぁ。
インストール直後だし、一般ユーザだとログインできるので、システムがおかしくなっているわけではなさそう。
原因は分からないけど、とりあえずシングルユーザモードで起動してパスワードを再設定すればいいと思って、リブートして GRUB のメニューで「e」を押したら、なんとまったく反応しない!
あぁ〜、ここで思い出してしまった。
インストーラの「ブートローダ−の設定」の中で「GRUB のブートに root パスワードを使う」がデフォルトで有効になっていて、気にせずそのままインストールしてしまったことを。
普段使っている CentOS のインストーラだと、このオプションはデフォルトで無効になってるんだよなぁ。
ダメ元で「p」を押してパスワードを入れてみたけど、やっぱり違うとのこと。
しばらく呆然として、いよいよ再インストールしかないと覚悟を決めたんだけど、次の瞬間に運よくまだ手が残っていることに気付いた。
Knoppix で起動して、/etc/shadow に書かれている root のパスワードをクリアしてしまえばいいのだ。
いや〜、また Knoppix に助けてもらう羽目になるとは。
やはり一家に一枚、常備しとかないといけないね。

NIC しか使えないマシンに Vine をインストール

こないだ押し入れで発見した white neon に Vine をインストールしてみたので、そのときやったことをメモとして残しておく。
フロッピィも CD-ROM も使えないので、HDD からインストーラを起動して、残りのステップはネットワークだけ使って進めた。
参考にしたのはこのサイトにある「FDからインストーラーを起動する」のページだ。
まずは white neon で使う HDD を CD-ROM ドライブが使える別のマシンにつないで Knoppix を起動。
Knoppix でやるのは HDD からインストーラを起動する設定だけなので、もちろん他の Linux 環境でやっても構わない。(以下は Knoppix 3.8 を使った場合の手順)
HDD を認識したら適当なパーティションを切って Ext3 でフォーマットする。
ここに、上のページに書かれているように、FTP サイトの images/pxeboot ディレクトリの中にある vmlinuz と initrd.img を置く。

# fdisk /dev/hda
  [n] → [p] → [1] → [Enter] → [+128M] → [w]
# mkfs.ext3 /dev/hda1
# mount /dev/hda1 /mnt/hda1
# cp vmlinuz initrd.img /mnt/hda1

続いて、この HDD だけで Vine のインストーラを起動できるよう MBR に GRUB をインストールする。

# mkdir -p /mnt/hda1/boot/grub
# cp /UNIONFS/lib/grub/i386-pc/stage[12] /mnt/hda1/boot/grub

ちょっと脱線するけど、実はここでちょっとハマった。
/cdrom/boot/grub の下にも stage1 と stage2 があるので、最初はこっちを使ったんだけど起動できなかったのだ。
/UNIONFS の下の分と diff してみると違っていたので、/cdrom/boot/grub の方は Knoppix の起動用にカスタマイズされているのかもしれない。
話を戻して、続き。

# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

これで準備が整ったので、HDD を white neon につなぎ替えて起動し、GRUB のプロンプトが表示されたら次のように入力する。(上のページに書かれているまんま)

grub> root (hd0,0)
grub> kernel /vmlinuz ro root=/dev/hda1
grub> initrd /initrd.img
grub> boot

これでインストーラが起動した。
あとは普通にネットワーク経由でインストールすればいいはずだ。
・・・が、残念ながら white neon では
You do not have enough RAM to install Vine Linux on this machine.
と言われてしまった。
メモリが 64MB しかないのに Vine 4.2 はさすがに無謀だったか。
それなら、Kernel 2.4 を使っている Vine 3.2 ならうまくいくかもしれないと思って方針変更。
Vine 4.2 と違って pxeboot がないので、FTP サイトの images ディレクトリ直下の bootnet.img を一旦 FD に展開(dd とかで普通に FD を作成)して、中にある vmlinuz と initrd.img を使ってみる。
結局、これでバッチリだった。
ちなみにこのマシンの使い道はまだ決まってない。

小型 Linux マシン white neon

家の押し入れを整理していたら、アクアリウムコンピューター社の white neon が出てきた。
知る人ぞ知る、小型の Linux マシンだ。
しかし、どういう経緯で手に入れたんだろ。
我ながらいい加減・・・。
確か RedHat が入っていたような気がするけど、電源を入れてみると BIOS が HDD を認識しなくなっていた。
どうやら HDD が回ってないようだ。
これだけ古いマシンだと仕方がないか。
そこで、状態を見るために中を覗いてみることにした。

続きを読む