たこさんのメモ書き

Linuxの設定/構築のメモを残すのが主体です。
わからないこと、あれこれたくさん。

PuppyLinuxのブートローダの設定

2007-10-02 19:49:36 | Weblog
GRUB起動フロッピーを使わずにPuppyLinuxを起動させるためには、PCのMBRにブートローダをインストールする必要がある。
PuppyLinuxは、GUIのメニューからブートローダGRUBの設定ができるようになっている。
メニュー > システム > GRUBブートローダの設定
で可能。
"simple" と"expart"の2つのモードがあり、expartではダイアログにしたがって、OSの起動についての詳しい内容を指定できる。
これを使うと、GRUBのmenu.lstを対話的に作成したうえで、さらにGRUBをMBRへインストールすることができる。
さっそくやってみた。。が、ルートディレクトリに/bootディレクトリができない。
このままでは、PCを再起動してもPuppyLinuxが起動しないのだ。。

この機能では、/bootディレクトリはホームディレクトリである/mnt/home/にできる。
また、作成される/boot/grub/menu.lstは、自動でおおよその内容がきまっている。
PuppyLinuxの起動に関わる部分はほぼ、以下のような内容。

root (hd0,4)
kernel /vmlinuz root=/dev/hda5 ro vga=normal

これでは、"質素なインストール"をしたPuppyLinuxに適合せず、起動時にカーネルパニックを起こしてフリーズしてしまう。
そこで、この部分を以下のように書き換える。
・・・・・・・
root (hd0,4)
kernel /vmlinuz root=/dev/ram0 loglevel=3 pmedia=idehd
initrd /initrd.gz
・・・・・・・

さらに、ルートディレクトリに /boot/grubディレクトリを作り、その中へ、/mnt/home/boot/grub/の内容を全てコピーする。
端末rxvtを起動して、
# cp /mnt/home/boot/grub/* /boot/grub/
これで完了。

PCを再起動すると、無事にGRUBブートローダの画面が現れ、起動するOSを選択できるようになった。


PuppyLinux on ThinkPad240 をネットにつなぐ

2007-10-02 00:38:52 | Weblog
ようやくインストールに成功したPuppyLinuxだけど、インターネットに接続したい。
そこで、手持ちのLANカードを試してみる。
カードは、 CardBusのLANアダプターカード(100/10MB)。
Corega CG-FE2CBTXD
である。
対応しているOSには、WindowsおよびLinux(ただしサポート対象外)とある。

これを実機に差し込んで起動させても、PuppyLinuxは自動認識してくれない。
デスクトップ画面の"接続"アイコンをクリックし、ネットワーク接続ウィザードを起動させねばならない。

これを動かすと、メッセージは全て日本語で、とてもわかりやすい。
カーネルに組み込まれているLANカードのドライバがたくさん表示されているが、どれが対応しているのかがわからない。
かたっぱしから"ドライバのロード"を繰り返すと、"8139too"がヒットした。
(こんなことをしなくても、"AUTOなんとか"を選べば、ある程度自動で認識してくれるようだ。)
これらの設定を保存すると、次回の起動時から自動でドライバを読み込んでくれる。
なお、設定ファイル(画面解像度やキーマップを含む)は、Puppyのインストールされたパーティションへ自動で保存され、次回起動時から適用されることになる。

IBM ThinkPad240へPuppyLinuxをインストール

2007-10-02 00:23:57 | Weblog
日経Linuxの9月号に、LiveCDのLinuxと、古い休眠PCを再生するという特集があった。
INSERTやSLAXが掲載されていたが、ひょんなことからPuppyLinux日本語版にであう。
ネットをさまよって得た情報によると、なかなかいいらしい?
ノートPCで動かしてみると、LiveCDながら、KNOPPIX5.1.1よりも動きが軽いようだ。
ハードディスクへインストールする場合、空き容量が1GBから2GBあればよいらしい。
さっそく、手元にあるIBMのサブノート ThinkPad240へインストールしてみることにする。

このPCは、CPUがセレロン?でクロック周波数300MHZ、メモリ192MB(128MBを増設済み)というしょぼいスペックである。ハードディスクの容量は6GB。CD-ROMドライブはない。
1999年夏に発売され、Windows98がプリインストールされている。
手元の実機は、たまたまハードディスクが2GBずつに区切られ、3つのパーティションがある状態だった。そこで、使っていなさそうな/dev/hda5をLinux領域&swap領域とする。
問題は、CD-ROMドライブがないので、CDからブートできないということだ。。。

最近、"直刺しIDE"というパーツを入手したのだが、これはIDE接続のハードディスクなどの端子にUSBインターフェースを装着し、PCへ接続できるもの。
CDドライブがないThinkPad240のハードディスクを取りだし、このパーツを介して別のPCへ接続して作業することにした。
作業にはKNOPPIX5.1.1を使う。

作業1 インストール先のパーティションをつくる
ThinkPad240のハードディスクをつなぐと、KNOPPIX5.1.1はこれをすぐに認識し、/dev/sdaとして表示する。
パーティションはそれぞれ、/dev/sda1(Windows98) /dev/sda5(fat16) /dev/sda6(fat16) となっている。
Qtpartedを起動させ、/dev/sda5を1.8GBに縮め、ext2へフォーマットする。さらに、200MBをLinux-swapとする。

作業2 PuppyLinuxのファイルを用意する
PuppyLinux2.16-1日本語版のisoイメージ(115MB)をダウンロードし、KNOPPIX上でループバックマウント。
このとき、マウントポイント"puppy"を事前に作っておくこと。
# mkdir puppy
# mount -t iso9660 -o loop ~/puppy*.iso /ramdisk/home/knoppix/puppy
そして、以下のファイルを別の場所(ThinkPad240のハードディスク)へコピーする。
vmlinuz initrd.gz pup_216.sfs zdrv_216.sfs
(例)
# cp /ramdisk/home/knoppix/puppy/vmlinuz /dev/sda5/
ファイルのコピーが終わると、忘れずにループバックマウントを解除する。
# umount /ramdisk/home/knoppix/puppy

注意:この作業は、PuppyLinuxの"質素なインストール"を手動で行うものである。
(参照)PuppyLinuxオープンラボのマニュアル(バージョン2.17版)
http://openlab.jp/puppylinux/man-jp/manual/puppy217/main.html

作業3 grub起動ディスクを準備
ThinkPad240にはフロッピードライブがついており、これから起動できる。
そこで、ブートローダーgrubをフロッピーディスクへ納め、このフロッピーからPuppyLinuxを起動させることにする。
grubのイメージファイルをダウンロードし、これをフロッピーディスクへ書き込む。
用いたgrubは、
grub-0.97-i386-pc.ext2fs
ダウンロード元は、ftp://alpha.gnu.org/gnu/grub/
書き込む方法は、
# dd if=~/grub-0.97-i386-pc.ext2fs of=/dev/fd0
これで、イメージファイルを書き込むことができる。

以上で準備は(とりあえず)終了させ、PuppyLinuxを起動させてみる。

ハードディスクをThinkPad240の中へ戻し、grub起動フロッピーディスクをドライブへセット。
そして再起動させる。
BIOSの設定(F1キーを電源投入直後に押すこと)で、フロッピードライブの起動順序を一番最初にしておくこと。
すると、フロッピーのgrubが起動し、プロンプトが表示される。
grub>
このプロンプトの後ろに、起動させるためのコマンドを入力する。
コマンドは以下。
grub> root (hd0.4)
grub>kernel /vmlinuz root=/dev/ram0 loglevel=3 pmedia=idehd
grub>initrd /initrd.gz
grub>boot

すると、画面にメッセージが流れ、無事にPuppyLinux2.16-1が起動した。
オンメモリで動くせいか、かなり動きは軽い。
軽量なウィンドウマネージャ"JWM"のおかげもあるのだろうか。
CPU650MHZ、メモリ256MBのVAIOでKNOPPIX5.1.1を動かすのと同等から少し早いくらいの動作に思える。

OSが新しくなると、古いPCまで新品になったような気がする。よかった。