Dynabook SS S8 (PAS8210LNKW)を入手しました。 これにLinuxをインストールしてみます。
LANカード | Intel | e100またはeepro100と手動設定 |
無線カード | Intel PRO/Wireless 2100 LAN MiniPCI | 調査中 (未対応らしい) |
ビデオ | Intel 82855 グラフィック・コントローラ | Intel のサイトよりドライバをダウンロードして設定 動画再生をするにはフレームバッファを使用する |
サウンド | Intel i810 | sndconfigでi810_audioと設定される |
Windowsの復元にGHOSTが使われているようです。 マニュアルによると、0キーを押しながら電源を押すと、 復元のメニューが現れ、パーティションサイズの変更も可能なはずでした。 ところが、無線LANモデル(PAS8210LNKW)だけは復元しかできません。
→ 東芝のサポートに電話したところ、 修正CD-Rを届けてくれることになりました。
Linuxでは内蔵無線LANが使用できません。 メルコの無線LANカードは使用できました。
Xのドライバの不具合(?)かわかりませんが、 動画再生時に不具合を発生します。 フレームバッファを利用する必要があります。
Linux上では Fnキーを押して、音量を調節したり、 画面の明るさを調整したりできませんでした。
外部モニタとの切り替え(Fn+F5)を押すと、 外部出力が可能でした。しかし、ログアウトするとwdmの画面でマウスが動かなくなりました。 Ctrl+Alt+BSでXを再起動すると直ります。
Linuxをインストールする前に、Windowsのバックアップ等を行っておきます。 Windowsを削除しちゃう場合は関係ありません。
標準的な設定や内蔵機器の設定を紹介します。
標準外の設定を試した結果を紹介します。
システムの更新をしてもいいかも
バックアップを取る前にシステムをアップデートしておくのも良いかも知れません。 しかし、Windowsの場合、アップデートすると不具合がでる可能性がありますので、 不具合がなければしなくても良いでしょう。 バックアップ後、アップデートしてください。
バックアップを取る
ハードディスクをいじるため、Windowsを再セットアップできるように準備しておきます。
バックアップはDVD-RAM (or CD-R/RWでも良いと思う)にとることに しました。S8は内蔵ドライブはありませんのでUSBで別に用意します。 今回は手元にあった Panasonic LF-P567Cのマルチドライブと CF-VFDU03 フロッピードライブを使用します。
DVD-RAMのメディアはフォーマットされていないので、ドライブ付属の DVDFormを使って、UDF 1.5で両面フォーマットします。
「スタート」→「すべてのプログラム」→「アクセサリ」→ 「システムツール」→「バックアップ」でバックアップソフトを起動します。 「このコンピュータにある情報すべて」 ですべての領域をバックアップすることにします。 約3.2GB (約45分)。
パーティションを分ける
取説によると0ボタンを押しながら電源を入れると、再セットアップが可能になるそうです。
パーティションサイズも変更できるハズなので、これを利用することにしました。
が、しかし!システムの復元しか選択できません。Yと入力すると、
出荷状態に戻ります(涙)。早速、東芝のサポートへクレームの電話をいれました。
結局、このモデルだけ何かの間違いでパーティションサイズの変更ができなくなっているそうです。
現在、調査チームを作って解決方法を検討中だそうです。
(2003/8/5) 修正CD-Rを届けてくれることになりました。 既に、以下のようにパーティションを切っていたので、 うまく動作しませんでした。Linuxに割り当てたパーティションを未設定に戻したら、 パッチが当りました。この際なので、最初からやり直します。
東芝の回答も待っていられないので、手元にあったSystem Selector 2
を使ってパーティションを分けました。
とりあえず、無事パーティションを区切りました。
(2003/8/8) 0ボタンを押して起動し、リカバリを実行します。 3のパーティションサイズを変更してリカバリを選択し、Windows領域を 15GBにしました。
hda1 | 15GB | Windows領域 |
hda2 | 2GB | HDDRECOVERY (変更してはいけない) |
hda3 | 20GB | Linux予定領域 |
Windowsを起動し、あれこれ設定しておきます。
Vine Linux 2.6をインストールします。 さらに細かくパーティションを分割します。 Disk Druidで以下のようになりました。
hda1 | 15GB | Windows領域 | 7 | |
hda2 | 2GB | HDDRECOVERY | 1c | |
hda3 | 128MB | /boot | 83 | |
hda4 | 20GB | 拡張領域 | f | |
hda5 | 10GB | /home | 83 | |
hda6 | 5GB | / | 83 | |
hda7 | 4.9GB | /extend | 83 | |
hda8 | 512MB | SWAP | 82 |
ビデオカードが認識されなかったので、textでインストールし、
Xの設定はスキップします。LILOはMBRにインストールします。
ブートラベルを指定する際に、hda3 (HDDRECOVERY)にwinとラベルがついて
いましのたで、これを消して、hda1 の方にWinXPとラベルを振り直します。
再起動すると、WindowsもLinuxも起動できました。
※ Linuxで再起動(reboot)すると、途中で停止してしまいました。 ハードウェアとの相性が悪いようです。一旦、停止(halt -p)してから 電源をいれることにします。
システムをアップグレードするにしてもLANが使えないと話になりません。 そこで、まずはじめにLANを設定します。kudzuで自動認識しませんでしたが、 /etc/modules.conf に以下を記入し、network起動スクリプトでrestartします。
/etc/modules.confの内容 (以下を追加)
alias eth0 e100 または alias eth0 eepro100
※ e100 と eepro100 のどちらのドライバも使えました。e100がお勧めです。
ネットワークの設定 (DHCPを利用)
netconfigコマンドを用いて、DHCPを使用するようにチェックを入れると、 /etc/sysconfig/network-scripts/ifcfg-eth0 が作成されます。 内容は以下の通り。
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp
networkの再起動
# /sbin/service network restart
ネットワークが接続できたら、aptでアップグレードしておきます。
# apt-get update # apt-get dist-upgrade # apt-get install kernel#2.4.20-0vl29.1 kernel-headers kernel-source kernel-doc
/etc/lilo.confに新しいカーネルの設定を加え、liloを実行し再起動します。
インストール後、LILOがMBRにインストールされるので、0ボタンを押しても
WindowsXPの再セットアップ画面になりません。
/dev/hda2も起動できるように変更します。
以後は再セットアップする場合は、recoveryを選択することになります。
ただし、パーティションIDが「隠しWin95 FAT32(LBA)」(1c)となっているので、
このままではブートしてくれません。再セットアップが必要な場合は、
fdiskで/dev/hda2 のIDをcに変更してから行います。
一度、recoveryで起動すると、/dev/hda1のWindowsのパーティションID
が変更されてしまうようです(Windowsが起動しません)。
そのまま、再セットアップすれば問題ありませんが、
途中で中止した場合は、一度Liunxを起動し、fdiskで/dev/hda1 のIDを戻しておきます。
image=/boot/vmlinuz-2.4.20-0vl29.1 label=linux.new read-only root=/dev/hda6 other=/dev/hda1 optional label=WinXP other=/dev/hda2 optional label=recovery
sndconfigを使ってサウンドの設定がすぐにできました。i810_audioドライバ が使用されます。
ビデオチップが新しいようです。そのため、Xconfiguratorでいくらやっても 設定できませんでした。Intelのホームページに新しいドライバがあったので、 ダウンロードして設定したら、うまく表示されるようになりました。
ダウンロード
http://support.intel.co.jp/ のグラフィック→ 82855グラフィックコントローラ→ダウンロード→ linuxを指定すると、dripkg-1.0-4.i386.rpm がダウンロードできます。
インストール
dripkg-1.0-4.i386.rpm をインストールします。
# rpm -ivh dripkg-1.0-4.i386.rpm
設定
Xconfiguratorで以下の表のように設定すればOKでした。 lsmodで見るとi830ドライバが使用されています。
設定項目 | 設定値 |
カードを選択してください | Intel 830 |
モニターの設定 | Generic Laptop 1024x768 |
ビデオメモリ | 16mb (?) |
ビデオモードの選択 | 24ビット: 1024x768 |
一見、これで問題無いようでしたが、gtvとmplayerで動画を再生したら Xもろとも固まってしまいました。 設定がいい加減だったのか? ドライバの不具合なのかまだわかりません。 とりあえず、それ以外は動きそうです。
動画に対応するためにフレームバッファに切り替えてみることにしました。 こちらでは動画再生に成功しました。
/etc/lilo.confの設定
フレームバッファを使用するには、起動時にカーネルへオプションを渡す必要があります。 以下のように/etc/lilo.confを書きます。
prompt timeout=50 default=linux boot=/dev/hda map=/boot/map install=/boot/boot.b message=/boot/message vga=792 ※ << 追加 lba32 image=/boot/vmlinuz-2.4.20-0vl29.1 label=linux append="video=i810fb:vram=16:hsync1=30:hsync2=55:vsync1=50:vsync2=85:accel:mtrr" ※ << 追加 read-only root=/dev/hda6
vga=792は1024x768 24bppの設定です。起動時にVine Linux のロゴが現れたらフレームバッファを(コンソールで)使っています。
/etc/X11/XF86Config-4 の設定
Xもフレームバッファを使用するように変更します。 Xconfiguratorで生成された/etc/X11/XF86Config-4 を以下のようにします (該当部分のみ)。
Section "Device" Identifier "Intel 855GM" Driver "i810" BoardName "Unknown" VideoRam 32768 EndSection Section "Device" Identifier "Linux Frame Buffer" Driver "fbdev" BoardName "Unknown" EndSection Section "Screen" Identifier "Screen0" # Device "Intel 855GM" Device "Linux Frame Buffer" Monitor "Generic Laptop Display Panel 1024x768" # DefaultDepth 24 Subsection "Display" Depth 16 Modes "1024x768" EndSubSection Subsection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection
内蔵の無線LANが使えないので、メルコ(BUFFALO)の無線LANカードを使えるようにしました。 カード自体はすぐに認識するので、有線と無線の切り替えだけきっちりやれば大丈夫でしょう。
有線も無線もDHCPでIPアドレスを取得するとします。起動時は有線LANが eth0として設定されます。無線LANはeth1としますが、起動時はoffにします。
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp
DEVICE=eth1 ONBOOT=no BOOTPROTO=dhcp USERCTL=yes
無線LANカードをスロットに差したときには、有線LANのeth0をdownにし、 無線LANのeth1をupにします。また、ルーティングも変更します。 これらの設定は /etc/pcmcia/network に記述します(以下は抜粋)。
#! /bin/sh action=$1 device=$2 case "${action:?}" in 'start') ### ここから設定を追加 if [ -f /etc/sysconfig/network-scripts/ifcfg-${device} ]; then active=`/sbin/ifconfig | grep eth0` if [ ${#active} -gt 0 ]; then /sbin/ifconfig eth0 down # eth0を使用中ならば停止 fi /etc/sysconfig/network-scripts/ifup ifcfg-${device} # eth1の起動 #/sbin/route add default gw 192.168.1.1 # ルーティング変更 fi ### ここまで ;; 'stop') # [ -f /etc/sysconfig/network-scripts/ifcfg-${device} ] && \ /etc/sysconfig/network-scripts/ifdown ifcfg-${device} ### ここから設定を追加 /sbin/service network restart # eth0を再起動 ### ここまで ;; 'restart') /sbin/ifconfig ${device:?} down up ;; esac
/proc/cpufreq で現在の動作周波数を変更できます。
$ cat /proc/cpufreq minimum CPU frequency - maximum CPU frequency - policy CPU 0 124689 kHz ( 12 %) - 997517 kHz (100 %) - performance
/usr/local/sbin/cpufreqと言うシェルスクリプトを用意すれば、 powersaveとperformanceで動作周波数を変えることができます。 powersaveを選択すると、12%に落とすことができます。/proc/cpuinfo で確認すると、124.602 MHz になっています。 performanceを選択すると、100%まで使用します。
# /usr/local/sbin/cpufreq powersave [root@nerve kawamura]# /usr/local/sbin/cpufreq status minimum CPU frequency - maximum CPU frequency - policy CPU 0 124689 kHz ( 12 %) - 500000 kHz ( 50 %) - powersave # /usr/local/sbin/cpufreq performance # /usr/local/sbin/cpufreq status minimum CPU frequency - maximum CPU frequency - policy CPU 0 124689 kHz ( 12 %) - 997517 kHz (100 %) - performance
acpiが利用できるので、「電源ボタンで停止(halt -p)」を実行するようにしてみました。 acpidというパッケージがあるので、これをダウンロードします。 設定は /etc/acpi/events/の下にイベントに対応した設定を書いたファイルを用意すればよいです。
電源ボタンを押した際に halt -p を実行するには、例えば /etc/acpi/events/power_off と言うファイルに以下のように書きます。
event=button/power * action=/sbin/halt -p
event=行は/var/log/acpid に表示される内容をみながら決めます。 action=行は実行するコマンドか、スクリプトのファイル名を指定します。
cpufreqとacpidを組み合わせると、ふたを閉じた際にpowersaveにすることができます。 また、ふたを開けた際にperformanceに戻すこともできます。 /etc/acpi/actions/lid_down.shと言うシェルスクリプを用意し、 /etc/acpi/events/lid_down に以下のように記述します。
event=button/lid action=/etc/acpi/actions/lid_down.sh %e
ふたの開け閉めの判定はbutton/lidが呼ばれた回数が偶数か奇数かで判定しています。 何かの拍子にずれた場合、誤動作するかも知れません。
同様に、ACアダプタが接続されているかどうかで、切り替えることもできます。 /var/log/acpidのイベントの第4引数が 00000000 ならばACアダプタ無しで、 00000001ならばACアダプタ有りと言うことがわかります。
/etc/acpi/actions/ac_adapter.shを用意し、 /etc/acpi/events/ac_adapter に以下のように書きます。
event=ac_adapter action=/etc/acpi/actions/ac_adapter.sh %e
注! ふたの開閉とACアダプタは互いに連動していません。 従って、ふたを閉めてからACアダプタを刺すと、performanceになります。 イベント駆動式ですから、最後に発生したイベントに依存します。
Vine Linux 2.6r3より、ソフトウェア・サスペンドが可能になりました。 hibernationと言うコマンドを実行すると、現在の状態をスワップ領域に 保存して、停止します。次に、電源を入れると、保存してあった元の状態に 戻ってくれます。acpiで「ふた閉じ」を検知して、サスペンドさせてもよいかも 知れません。
ただし、サスペンドに失敗したり、復帰した際に一部のドライバモジュールが 戻らないこともあるようです。使用に際しては、何度かテストを繰り返した方が よいでしょう。復帰の際に、サービスを再起動させることもできるので、設定を ちゃんとすれば使えるはず。
カーネルオプションを設定する (/etc/lilo.conf)
スワップ・パーティションをデータの保存領域にするので、 カーネルオプションを追加します。/etc/lilo.confに以下のように記述し ます。
image=/boot/vmlinuz-2.4.22-0vl2.8 label=linux initrd=/boot/initrd-2.4.22-0vl2.8.img read-only append="resume=/dev/hda8" root=/dev/hda6
この設定で、ソフトウェア・サスペンドが有効になります。
ソフトウェア・サスペンド用のソフトウェアをインストールする
ソフトウェアは http://sourceforge.net/projects/swsusp からダウンロードします。suspend-script を選択してください。ここから、 suspend.shをダウンロードします。
rootユーザで、suspend.shを実行すると、 /usr/local/sbin/hibernate と言うコマンドがインストールされます。
/etc/suspend.confを確認
設定ファイルは /etc/suspend.conf です。 特に設定を変更しなくても、使えると思いますが、モジュールが復帰しな い場合などは、このファイルをいじればよいはずです。
rootユーザで、/usr/local/sbin/hibernate を実行すると、モジュールの削 除やサービスの停止などを行い、現状を保存します。そして、停止しました。
注!: 再起動するときは、同じカーネルで起動しないと、 壊れるとどこかに載っていましたので、間違っても違うカーネルで起動しないよ うに。私は実験したくはありません。
電源を入れると、一応復帰しました。しかし、USBのモジュールが戻っていなかっ たので、手動で murasakiを再起動しました。これは/etc/suspend.conf をうま く書けば、自動化できるかも。
注!: はじめてサスペンドさせたとき、"-"がいっぱいでて 停止しないことがありました。2回目からはうまく行っています。まだ、失敗す る場合があるようです。