2014-12-21[日] VAIO C1 に linux

前回(小メモリ起動)のDSLの影響で、VAIO C1 VR/BP (2001年くらいのモバイルPC) を引っ張り出してきて linux を入れてみた。(懲りてない)

win98me,win2k 動く実機として残してるのでそれを削除する気はなく、余っているHDD領域を(w2k上で)複数のパーティション切り直して領域確保。win2kインストール時に適当に拡張パーティションに入れてしまっていたため、新規空領域も拡張パーティションのみ。基本パーティションのようなmbrによる起動はできない… が、たしか grub4dos を使えば何か出来るはず(うろ覚え)、とそれを当てに。

HWスペックは Crusoe 600MHz(ざっくり Pen2/Celeronの半分(300MHz)くらいの実力)、メモリは標準から+128MB増設して256MB(有効240MB)、HDDは120GBに換装済。画面は横長 1024x480、ちと特殊。640x480では動くだろうけど1024x480はディストリ(ドライバ)次第。

PCカードスロット、USB1.0ポート、メモリースティックが1つづつあるが、外付けでブート可能なのは sony純正の PCカード接続のCDROM くらいなのだが(ひょっとすると純正FDDも可能かもだが未確認)、os/ディストリ側がこれのドライバー対応してないと正常にos起動できない(起動は始めるが起動したプログラム自身がCDを見つけられない)。ググると大昔の日本製ディストリのいくつかは対応してたらしいが...(今回試した中で正常にOS起動できたのはCorePlusだけ)

今回インストールしてみたのは、 puppy 5.71jp, konalinux 2.3 black(2014-10-12), DSL4.4JP, Tiny CorePlus 5.1ja

当初は前回のこともあり DSLをメインに考えてたのだけど...
結果として 一番使い物になるのは(少しもっさりだけど) Puppy だった。
kona black はこのマシンじゃ超重量級。
DSL, CorePlusはインストールでき動作は軽くはあるけれどpcカードの認識がいまいちだったり画面解像度640x480のままではつらく。(ドライバー見つけてきて入れれたら出来るのだろうけど)

以下、諸々の作業メモ.

grub4dos のインストール

HDDインストールした linux を選択して起動するために grub4dos を使うので、ググって 見よう見まね(特にこちらのサイト とか)。

うちのc1の環境は C:にwin98me(fat32), D:にwin2k(ntfs)ですでに boot.ini での選択になってる。

grub4dos より をダウンロードし解凍。
解凍されたフォルダ直下にある grldr を C:\ にコピーする。

テキストエディタで c:\boot.ini の最後に

c:\grldr=grub4dos

を追加。(vista以降は別方法で面倒だけど,まC1にvista以降いれないだろうし)

c:\menu.lst を作成。(grub4dosは他に検索するパスもあるけど、不精してくルートに配置)
動くかどうかの確認用としては同梱されてた menu.lst を使うのでもよいけれど、余計な記述も多いので、ざっくり

default /default

title restart win
rootnoverify (hd0,0)
chainloader +1

title command line
commandline

title reboot
reboot

title shutdown
halt

のように menu.lst を作成.
※改行コードがunix系(lf)でないといけないので、それ対応のエディタで編集。

再起動して、OS選択メニューで grub4dos の項目があり、選択して menu.lst 内容が出てきたらok.

あとはosインストールしたら項目を menu.lst に追記していく.
(各項目はtitleだけでなく空行も区切りとして使われてるようなので記述するときは不精しすぎないようにと)

※ restart winの(hd0,0) はもちろんハード構成/パーティション構成による。(最近のwinは先頭にシステム予約済みのパーティション作られること多いし、note pc によっては先頭に回復パーティション置いてるのもあったり)

CD + 補助ドライブ(USBメモリ)による CDブート

CD起動は先にも書いた通り特殊なドライブのため、CorePlus以外は失敗してるが、こちらのインストール方法を用いれば、モノによっては起動できるかもしれない。

.isoファイルをCDに焼き、その.isoの中のファイルをUSBメモリにすべてコピーしておき、CD&USBメモリをマシンに装着。

CD起動したプログラムが、CDというか必要なファイルを探す動作として接続されているドライブを順繰りに舐め、USB メモリも認識されれば、そこから必要なファイルが読み込まれるだろう、という塩梅。

仕組み的にUSBメモリでなくてもよいだろうが(こちらはHDDでやられてる模様)、path構成変えずにとなるとUSBメモリがお手軽かと(USBメモリ認識しないようならHDDで)。

参考にしたサイトは Puppy で行っていたが、己のC1でも konalinux, DSL の起動ができたので、割と通用する手なのかもしれない。

grub4dos によるCDイメージのブート

当初はインストールしたosの起動用としか考えていなかったが、grub4dos はCDの中身をhdd(fat/ntfs)にコピーして置いたものも起動できるようだ。(つまりCDなくてもlinuxインストール可能。よくよく思えば bootセクタのないパーティションからos起動するのと同じようなことか)。また iso ファイル起動も条件しだいでは可能とのこと。

残念ながら isoファイル起動は条件にあわないようで駄目だったが、CDからコピーしたファイルでの起動は割と成功した。

ただ、ディストリごとに kernel,initrd ファイル&適切にパラメーラを設定しないと駄目なので結構面倒ではある。(個々の設定は後述)

PLoP Boot Manager によるUSBブート

前記の方法で一応USBブート可能だろうが、もっとお手軽にブータブルUSBメモリを簡単に起動出来ないものかと探せば、こちら で紹介のPLoP Boot Manager というもので出来る模様。
実際 DSL で試すと確かに起動(初回一発. 試したのはplpbt-5.0.14)。ただ相性個体差があるのか、何度も試してると結構 ブート途中でハングることも多く…というか起動しきることが稀で不安定。起動できてしまえば大丈夫だが……(出来ないよりはマシと思うが出来ない限り徒労感も)

PLoP は grub4dos から起動するようにした。まず ダウンロードしてきて展開、直下にある plpbt.bin を c:\ にコピー。 c:\menu.lst に

title PLoP Boot Manager 
find --set-root /plpbt.bin
kernel /plpbt.bin

を追加。

起動可能 USB は win機で何かしかのソフト(UNetbootin とか Rufus とか)で書き込んで用意。

Puppy Linux 5.71 jp のインストール

PuppyLinux5.71jp の CD(iso) の中身を、c:\puppy571 にコピー。

c:\menu.lst に

title [LiveCD image] Precise Puppy 5.71 jp
find --root-set /puppy571/vmlinuz
kernel /puppy571/vmlinuz pmedia=cd pfix=fsck acpi=off
initrd /puppy571/initrd.gz

を追記しておいて、grub4dos より起動、sda9 に full インストール。ext2。もちろんこのときbootローダは組み込まない。(すでにgrub4dos使ってるので)
あとパーティション設定で500MBほどの swap パーティションは用意してる。(他のlinuxでも使われるものだし)

インストールしたものを起動するために c:\menu.lst (/mnt/sda1/menu.lst) に

title Puppy Linux 5.7.1 jp
root (hd0,8)
kernel /boot/vmlinuz root=/dev/sda9 pmedia=atohd acpi=off

を追加。

今回の中では一番インストールでトラブルがなかった。(他をやった後なので手順に慣れてきてたのもあるだろうけど)
試していないが、CD+USBメモリの方法でも出来るだろうし、PLoPも調子よけりゃ行けそうな気はする。

実際に使う上でも今回の中では一番使い出はあると思う。
何もしなくても 1024x480 使えてるし USB-LANアダプタ(LUA-U2-GT)や無線LANのPCカード2枚(WLI-CB-G54S, DWL-G630)自動認識してくれたし。

Puppy で気に入らないのは(たぶん大抵のWinユーザーが思いそう)ファイラ(ROX)のシングルクリック動作だけど、これはちょっと設定変えればよい。

デスクトップのアイコンの"ファイル"を右クリック、"ROX-File"→"オプション設定"を選んでダイアログ表示、ファイルウィンドウおよびピンボードの2箇所にある "シングルクリックで操作する" のチェックマークを外す。

他にも画面が狭いので、フォント小さくしたり、guiのテーマ控えめのにしたり小さくできそうなところ小さくしたり。

それでも、(start)メニュー微妙に長くて少し画面はみ出しちょっと面倒。(.jwmrc から ヘルプ消して対処... 他のソフトインストールしたら復活、別途雛形管理されてるんか...)

その他、puppy には限らず他でもそうだけど、不意に電源きれたりあるいは正常でも電源が切れるタイミングか何かの影響で、タマに起動時のファイルチェックで怒られる。ext2にしたことをちょっと後悔(でもスペック的にext3躊躇)。
(蓋閉め電源管理をちゃんと設定してない(できる?できない?)のも悪いのだけど...[追記]acpi=offで蓋閉電源offしないようなので追加)

konalinux 2.3 black のインストール

画面 1024x480 や PCカード無線LAN,USB-LANの認識は大丈夫だったが、試すなら激重承知で……

CDの中身をhddにコピーしての起動は (C:\kona23bk\ に入れたとして)

title [LiveCD image] konalinux 2.3 black
find --set-root /kona23bk/live/vmlinuz
kernel /kona23bk/live/vmlinuz boot=live quiet config acpi=off locales=ja_JP.UTF-8 timezone=Asia/Tokyo live-media-path=/kona23bk/live
initrd /kona23bk/live/initrd.img

ただし、この方法で起動した場合、HDDインストールが行えない。
どうも起動ドライブを対象外にするのにパーティション単位でなくドライブ全体を弾くようでインストール対象のドライブが全く現れず中断するしかない状態。
ので HDD にインストールする場合は他の方法を選択。己はCD+USBメモリを実行。(PLoPは未確認)

HDDにインストールしたものを起動するには(sda7 に入れたとして)

title konalinux 2.3 black
root (hd0,6)
kernel /boot/vmlinuz-3.2.0-4-486 ro root=/dev/sda7 quiet locales=ja_JP.UTF-8 timezone=Asia/Tokyo acpi=off
initrd /boot/initrd.img-3.2.0-4-486

をc:\menu.lst に追記。

startメニュー開けるだけでも激遅。メニューでのアイコンの使用を全部やめるとマシになるが、その他 UI軽くするような設定に変えても焼け石に水といったところ。

DSL4.4jp のインストール

HDDに CD の中身をコピーしての場合(C:\DSL44JP に入れたとして)

title [LiveCD image] DSL 4.4 jp
find --set-root /DSL44JP/boot/isolinux/linux24
kernel /DSL44JP/boot/isolinux/linux24 vga=786 boot=live quiet dma=on noscsi lang=ja acpi=off knoppix_dir=/DSL44JP/KNOPPIX knoppix_name=KNOPPIX
initrd /DSL44JP/boot/isolinux/minirt24.gz

(HDD のインストールをするときは Bootローダ書込をしないでおく)

HDD インストールしたものを起動する場合は (hda8 に入れたとして)

title DSL4.4jp
root (hd0,7)
kernel /boot/linux24 root=/dev/hda8 quiet vga=786 dma=on noscsi lang=ja acpi=off

/dev/sdaN でなく /dev/hdaN であることに注意。
(※これ気付かずにエラく時間くった。kernel2.4の時分はhd(ide),sd(scsi)厳密に区別してたんだよなあ、と)

usb-lanはokだったけど 画面は640x480、pcカード無線LANは使えず. ドライバーとか探せばなんとかなるかですが、そこまでは手を付けず。

Tiny CorePlus 5.1ja のインストール

CD内容hddコピーしての起動はまだ成功せず、でHDDへのインストールは CD起動して行った(PLoPでusb起動できれるかもだが未確認)。
hddインストールでは CD(c)からFrugal(f)でパーティション(2)にext2でいろいろ有り有りでインストール。

HDDにインストールしたCorePlusの起動には (hda11にインストールしたとして)

title TinyCorePlus 5.1 ja
root (hd0,10)
kernel /tce/boot/vmlinuz quiet xvesa=640x480x24 dma=on tz=JST-9 notuc acpi=off lang=ja_JP.UTF-8 kmap=qwerty/jp106
initrd /tce/boot/core.gz

を c:\menu.lst に追加。

実際には CDからhddインストールするときに boot マネージャ有にしておき生成された /tce/boot/extlinux/extlinux.conf に設定されてるパラメータをみて 必要そうなのをコピペしてる(たとえば waitusb=5:UUID="…" とか)
※ インストーラでsda11に対してboot書込したときは sda1 のbootフラグがoffにされてしまうので、インストール終了後 fdisk で sda1 のbootフラグをonに戻しておく.(a でpartition 1 を選んで w での書き込み忘れず)

画面は640x480、手持ちの 無線LAN PCカードはデフォルト状態ではHW認識が微妙でマトモに使えなかった。usb-lan は最初から差しとけば使える。このへんは調べりゃなんとかなるかもしれないが... 気力ないのでブートできただけでヨシとしてる。

雑感

Puppy みなおした、てか、正直 kona black の重量級ぷりにびっくりだった。考えてみればスペック的には当然で、むしろ Puppy がようがんばっとんなぁ、なんだけど。wm等環境の差が大きいのかねえ。(jwm だってそれなりに凝ってるとこあるからも少し軽いのだってありえそうだけど)

P3-600MHz あれば kona 選択するだろうけど、Crusoe 600MHz な VAIO C1 では Puppy が一番手間いらずで使いやすいかな、と。(win2kがベターとかいうのは野暮)

DSL や TinyCore はドライバーとかの都合がつけばよいかも。
メモリ256MB積んでるから Puppy 選べたが、C1 VR標準の128MBだったらこっち頑張ってたかもしれない (ただ DSL はもう更新止まってるし 古くて apt-get 機能しないので魅力半減)...いや不毛なんで やっぱり早々に諦めてるかな