パナソニック"Let's Note" CF-R7と デルInspiron 700mへのPlamo Linux 4.5インストールメモ

26 Oct 2008初出/06 Nov 2008更新

このページは

パナソニック "Let's Note" CF-R7ノートパソコン--以下R7--と デルInspiron 700m --以下700m--に Plamo Linux --以下Plamo-- 4.5をインストールしたときのメモです。 R7でlinuxを使おうと考えている方の参考になれば嬉しいです。 暫くは頻繁に更新すると思います。 Plamo 4.22のインストールメモ も御覧ください。

700mへのインストール

R7の前に700mにPlamo 4.5をインストール、 暫く普段使いにした。 R7へのインストールに共通したり役立ったりするような情報を ここに記す。

2008年10月17日。
前日flash 10がPlamo 4.22で使えなかった --glibcのヴァージョンが古いのが原因--ため、 最新のPlamoが無いかと思いながら Plamoのウェブサイトを覗いてみた。 そうしたら4.5が前日リリースされていたので、 予備のPCにしている700mにインストール開始。 ftpコマンドを一部忘れてisoファイルの転送に失敗したり、 CD-RWを焼くアプリケーション --contribディストリビューション?中のcdrtools--をどちらかのPCに インストールしておくのを忘れていたりして ちょっと難儀する。 確か数十ギガバイトある linuxスライスのフォーマットに数時間かかってしまう。 liloがうまく動かなかったので、 代りにMBRにgrubをインストール --あまり勧めない--して Plamo 4.5のインストールと起動に成功。 特別な設定無しで 早速ハイバネーションできるので時間を節約できてありがたい。

10月18日。
昨日ブートしたらエラーメッセージが出た後、 正常に起動したWindows XP--以下WinXP--が、 今朝は正常にgrub経由で起動したのでほっとする。

登録時入力を忘れた 一般ユーザのフルネームを入力するため ネットで調べて、chfnコマンドを初めて使用。 確かメールリーダmewで差出人の名前に利用されるので、 フルネームは登録しておいた方が良いと思う。

シェル設定ファイル --.cshrc、.bashrc、.tcshrcや.alias--や.xinitrcを 普段使いのR7から700mにコピー。 sourceコマンドでシェルの状態を更新したら、 startxやxmodmap等の コマンドが使えなくなったので慌てた。 Xのパスが/usr/X11R6から/usr/X11R7に代りつつあるのが原因。 設定ファイルやウィンドウマネージャ evilwm のMakefileで "X11R6"を"X11R7"に変更して対処してトラブル解決。

1280x800画素の画面をフルに使うため、 855resolutionというプログラムを再びインストール。 インストール法は こちらのオンライン資料 (高砂康司、(財)松本ソフト開発センター、 「Centrino PCへのFedoraCore4とFreeBSD5.4インストール」) に分かりやすく紹介されている。

リジューム時Xの1280x800画面が落ちるのを防ぐため、 /etc/hibernate/common.conf設定ファイル中の"misclaunch"の項目に、

OnResume 99 /usr/sbin/855resolution 7e 1280 800 > /dev/null

の1行を加えてトラブルを解決。 855resolutionプログラムのあるパスを知るため、 "which 855resolution"を予め実行しておくと良い。

Plamo 4.5ではcdrecordはcontribディストリビューションではなく、 カテゴリ00か01のディストリビューションに含まれているらしい。 なのでPlamoの次のヴァージョンアップでは すぐCD-RWが焼けなくて一瞬困ることはあるまい。 ちなみに焼き方を書くと、 Plamo 4.5のisoイメージファイルを入手したら、まず

# cdrecord -scanbus

でCD-Rドライブのデバイス番号を確認する。 そして例えば、

# cdrecord -v speed=4 blank=fast dev=「デバイス番号」 「isoイメージファイル名」

でCD-RWが焼ける (参考資料:北浦訓行、「 Linux Tips:LinuxのインストールCDを作成するには 」、2002/01/17)。

CPUの(無駄)働きぶりをチェックできる 便利なアプリ powertop 1.10 をダウンロード。 そのままではmakeできず、 /lib/libncurses.soから/lib/libncursesw.soへのリンクを張って解決。

10月19日。
700mでカーネルの再構築。

まず/boot/grub.confを更新して 新旧のカーネルが起動できるようにする。

次にカーネルファイル/boot/vmlinuzのコピーを取る。 /usr/src/linux/Makefileのextraversionを、 新旧のカーネルを区別するため変更。

# cd /usr/src/linux
# make mrproper
# make include/asm
# make menuconfig

でカーネルコンフィグを実施。 make menuconfigでの変更点は、 CPUをPentium Mに、 CPUの最大数を2 --最低--に、 Dell Laptop Supportを有効に、 Kernel Hacking→Kernel debugging→ Collect kernel timers statisticsを有効にしたこと --powertopで統計が取れるように--。

# cd /usr/src/linux
# make bzImage
# make modules
# make modules_install

の後、メッセージにある新しいカーネルファイルbzImage --私の場合"arch/x86/boot/bzImage"だったと思う--を /boot/vmlinuzにコピーすればカーネルの再構築が完了 (参考資料: 松本 徳真、「 俺流! カーネルの再構築手順」)。 Linuxでカーネルの再構築したのは 初めてかもしれない。

カーネルの再構築を済ませ、 無線LANの設定も済ませる。 ndiswrapperをインストール、 無線LANのWinXP用ドライバ一式のあるパスで

ndiswrapper -i 「ドライバ名--.inf付--」
ndiswrapper -l
ndiswrapper -m

でモジュールを作成。 /etcに入り、 module.confに 「alias wlan0 ndiswrapper」を追加、 network.confの「case "$ADDRESS"」と「esac」の間に

wlan0,default,*)
INFO="wlan0 default"
DHCP=y
PPPOE=n
GATEWAY=+
DNS=+
;;

と追記。 network.fixedに「wlan0」の1行を、 network.modeに「wlan0 -m」の1行を追加。 wireless.confを変更する代りにifconfigや iwconfigでwlan0のコンフィギュレーションを指定 (参考資料: 紫藤 貴文、「中古ノートPC + Plamo Linuxで無線LAN」)。

700mが普段使いできるようになったので、 ホームディレクトリに.mozilla/、Mail/、firefox/、 .vimrc、かんなの個人辞書、vim 7.2等をコピー。 .emacsと.mew.elもコピーしてmewが使用可能に。

cannakillが見当たらなかったので、 代りに/etc/rc.d/init.d/canna.r start/stopを実施して かんなサーバをそれぞれ起動/停止。 かんなサーバを一時停止させて かんなの辞書ファイル/var/lib/canna/dic/canna/gcannaf.ctdと 個人辞書ファイル/var/lib/canna/dic/user/「ユーザ名」/usr1.ctdを更新。

この日はduやdfコマンドを多用した。

23時半700mのPlamo 4.5インストールと、 それに伴う環境整備を一応終了。 これに伴いR7/Plamo 4.22をシャットダウン。

alsamixerも正常に動作。 powertopを起動させ、 xineで音声ファイルを再生させても CPUの負荷がPlamo 4.22よりずっと少なくなっているのに驚いた。

R7のホームディレクトリのtarballを/root/にでも作成 --/rootのあるパーティションの容量が十分あるのを確認すべし--、 splitコマンドで分割、 USBストレージやマイクロSDカードに保存 --後に容量を確保するため分割されたファイルは 700mに保存した--、 R7へのPlamo 4.5のインストールの準備をする。

700mの様子を1、2日見てから R7でPlamoを更新することにした。

R7へのインストール

10月20日。
R7でのインストールに大きな問題は無い気が強くしたので、 予定を繰り上げてR7でもPlamo 4.5をインストール開始。 USB接続のCD/DVDドライブが不調で、 上手に叩いたら --機械は叩いて直すのは古今東西変らない-- 何とかCD-ROMからブートまではできたけど、 パッケージの読み込みができない。 そこでパッケージはUSBメモリから読ませることにした。 ちなみに私の700mはCD/DVD-ROMドライブを内蔵している。

isoイメージファイルを読む方法は

mount -o loop 「isoファイル名」 「マウント先」

これを利用して、 700mに保存していたCD-ROM用isoイメージの中身 --ファイルやディレクトリ--をUSBメモリにコピー。 USBメモリのファイルシステムは結局ext3を用いたけど、 多分VFATでも可。 USBメモリのスライス--例えば/dev/sdb2-- をブート可能にして、 R7のBIOSでUSBハードディスクからブート可能にすれば、 CD-ROM無しでブートできたかもしれないけど、 実際はどうかは不明。

USBメモリは予め挿してからパソコンを通電しないと、 パッケージは読めないようである。

インストールしたパッケージのカテゴリは 00_base、01_minimum --これら2つは必須--、 02_x11と08_kernel --カーネルのソース--。

R7にXでのdvorak配列のキーマップを読み込ませ、 .xinitrcを700mからコピー、 evilwmとpowertopをソースからインストールし、 カーネルの再構築。

make menuconfigでの変更点は、 CPUをCore 2に、 CPUの最大数を2 --最低--に、 Kernel Hacking→Kernel debugging→ Collect kernel timers statisticsを有効にしたこと --powertopで統計が取れるように--。

ネットサーフィン--死語?--していて、 linuxで仮想コンソールの数を減らすには /etc/inittabを更新すれば良いことを知る。

圧縮、分割、保存しておいた Plamo 4.22時代のホームディレクトリを再びR7に展開。 splitで分割したファイルは catで繋げて元通りにする。 2ギガバイトくらいの大きなファイルも 昔ながらのコマンドで分割、 連結できるのは考えてみたらすごいことに思える。

R7でのXのキーマップがおかしくなる。 Dvorakで逆クオートが打てない。 ktermのフォントが乱れる。 Xmodmapのキーマップファイル --というのかな--を 修正せねばならない。

10月21日。
この日はktermのフォント設定と Xでのdvorakキーマップの設定に夢中になる。

700mではktermは問題無く使えるのに対し、 R7ではktermで太字--ボールド--フォントが何故か汚いうえ、 横幅を取り過ぎるためか、 画面表示が乱れてしまう。 消したはずの入力がctrl-Lを押しても残ってしまい、 シェルコマンドが正確に打ちにくいので困った。 設定ファイル--~/.Xdefaults--で ボールドフォントを無指定にしてとりあえず使えるようにする。

夕方R7/Plamo 4.5でのdvorak配列のxmodmapファイルを xevを利用しながら修正、 更新

evilwmが普通のkillで死なない。 またCtrl+Alt+Left/Rightで仮想スクリーンの切替ができなくなった。 一方で今まで --Plamo 4.22で-- できなかった、 Ctrl+Alt+1〜8で同スクリーンの切替が可能になったので 不思議だ。

22日。
~/.Xmodmap.dvorakを修正、 home、end、pgup --prior--、pgdn --next--を追加。 fnキー--これはソフトウェアには認識されない-- を押しながら矢印キーを押すと、 xmodmapでは別のキーを押したと見なされることを知る。 ちなみにfnキーと(左) ctrlキーは BIOS--R7の通電後すぐf2キーを押していじれる-- で互いに交換できる。

Linuxカーネルに統合された iwlwifi--iwl4965モジュール--を利用して 無線LANを利用可能にする。 ファームウェアiwlwifi-4965-ucode-228.57.1.21.tgzを インテルのウェブサイト からダウンロード。 このときカーネルモジュールiwl4965のヴァージョンと ファームウェアのそれが一致していなければならない --dmesgでのエラーメッセージが参考になる--。 ファームウェアは/lib/firmwareを作成し、 そこに入れる。 そしてPCを再起動するとifconfig wlan0や iwconfig wlan0が使用可能になったと思う。

vim 7.2、 firefoxと~/.mozilla、~/Mail等を 700mからコピー、インストール。 再びR7を普段使いにし始める。

25日。
何時の間にか時計が9時間進んでいるので、 Plamoの公式サイトで情報を漁り、 /etc/rc.d/rc.S内の 「/sbin/hwclock --hctosys --utc」 の文句から --utc を削除して解決。

26日。
Plamo 4.22を使っていたときはできなかった、 画面の明るさを調節できる方法を2日前から ネットで調べていた --今まではR7の画面の明るさは R7を通電後OSを選択する画面が現れたときしか変えられなかった--。

その結果、最近はACPIではなくXのアプリである xbacklightで画面の明暗をコントロールできることを知る。 xbacklightが動くためには、 Xのビデオカードドライバを(VESAではなく) インテルGM965チップセット用に変えねばならない。

でも、このチップセットにも使えるはずの i810ドライバではXが立ち上がらず、 ネットで公開されているGM965用ドライバのバイナリファイルでは、 Xが立ち上がってもfirefox等の文字が乱れて全く読めない様だった。 そのうえ最新ヴァージョンである xf86-video-intel-2.5.0も素のPlamo 4.5ではコンパイル不可能。

打つ手が無くなったかと思い始めたとき、 X.orgの書庫のウェブページ を発見、 新旧のヴァージョンのドライバのソースをどんどんダウンロード、 新しいものから順にコンパイルしてみる。 その結果xf86-video-intel-2.4.2で ドライバのコンパイルとインストールに成功。 コンパイルの前に

./configure --prefix=/usr/X11R7

と入力したら吉かも。

xranr --prop

で画面情報をチェックしてから、 以下のコマンドを入力 --一般ユーザのままで良い--する。

xrandr --output LVDS --set BACKLIGHT_CONTROL native
xbacklight -set 「0-100の数字」

xbacklightを用いて 遂にバックライトの加減に成功。 画面も乱れないので嬉しい。 R7通電時にfn+f1/f2キーで画面を余計に明るくしておいてから、 xbacklightを使用すると便利。

無線LANの設定に触れないで ハイバネーションとリジューム可能なことを今朝知って またまた嬉しい。

27日。
ネットで情報を漁ったところ、

echo LID > /proc/acpi/wakeup

--「>」は「>>」でも良い-- でハイバネーション後R7の蓋を開いて リジュームするか否かをトグルで切り替えられることを知る (ソース)。 wakeupの内容は以下のように(交互に)変る。

bash-3.2# cat /proc/acpi/wakeup 
Device  S-state   Status   Sysfs node
LID       S4    *disabled  
HDEF      S3     disabled  pci:0000:00:1b.0
RP04      S4     disabled  pci:0000:00:1c.3
RP05      S4     disabled  pci:0000:00:1c.4
USB1      S3     disabled  pci:0000:00:1d.0
USB2      S3     disabled  pci:0000:00:1d.1
EHCI      S3     disabled  pci:0000:00:1d.7
bash-3.2# echo LID >> /proc/acpi/wakeup 
bash-3.2# cat /proc/acpi/wakeup 
Device  S-state   Status   Sysfs node
LID       S4    *enabled   
HDEF      S3     disabled  pci:0000:00:1b.0
RP04      S4     disabled  pci:0000:00:1c.3
RP05      S4     disabled  pci:0000:00:1c.4
USB1      S3     disabled  pci:0000:00:1d.0
USB2      S3     disabled  pci:0000:00:1d.1
EHCI      S3     disabled  pci:0000:00:1d.7
bash-3.2# echo LID >> /proc/acpi/wakeup 
bash-3.2# cat /proc/acpi/wakeup 
Device  S-state   Status   Sysfs node
LID       S4    *disabled  
HDEF      S3     disabled  pci:0000:00:1b.0
RP04      S4     disabled  pci:0000:00:1c.3
RP05      S4     disabled  pci:0000:00:1c.4
USB1      S3     disabled  pci:0000:00:1d.0
USB2      S3     disabled  pci:0000:00:1d.1
EHCI      S3     disabled  pci:0000:00:1d.7

そこで、 例えば以下のようなスクリプトをroot権限で動かせば ハイバネーション後、蓋を開いてもR7が勝手にリジュームしないようになった。

#!/bin/sh
grep -e 'LID.*enabled' /proc/acpi/wakeup > /dev/null && echo LID >> /proc/acpi/wakeup
hibernate

ところで、 電源管理のファイルがあるパスは /proc以下にも/sys以下にも、 プログラムを新たにインストールした後では /etc/acpiにもあるみたい。 FreeBSDでは/sys以下にはカーネルソースがあったことを思い出すと、 linux文化の一部を垣間見た感がする。

30日。
サスペンド、リジュームすると バックライトが明るくなってしまうので、 /etc/hibernate/common.confの"misclaunch"欄に例えば

OnSuspend 20 export BACKLIGHT_BRIGHTNESS=`/usr/local/bin/xbacklight -get`
OnResume 20 /usr/local/bin/xbacklight -set `echo $BACKLIGHT_BRIGHTNESS | /usr/bin/gawk '{print int($1+0.5)}'`

の2行を追加して解決。 私のウェブ日記を参照。

現在までの使い心地

Plamo 4.22のときよりR7は使い良くなった。 カーネルを再構築したからかもしれないけど、 BIOSで"Core Multi-Processing"を有効にしても ハイバネーションとリジュームは問題無くできる。 バックライトがコントロールしやすくなったし、 消費電力も少し落とせるので、 今後戸外でもどんどんR7を使うようになるだろう。 HP200LXほどではないと思うけど…

700mは私が留学中ずっと世話になったし、 今ではLinuxのインストールでそれほど苦労しなくなったけど、 R7と比べるとハード的には使いにくい。 何せ重過ぎるしキータッチが重い。 一番困ったのは、 体が帯電すると、 タッチパッドが正常に動作しにくくなることだ。 パッドを正常に動作させるためには、 地面に接している金属--例えば流し台のステンレス-- に一度しっかり触れて、 体に溜った静電気を放電させねばならない。 でも、これを買った当時--2005年2月--は 値段が安くて高性能だったし、 メーカーの対応も良かった --今も良いだろう--。 でも、今ノートパソコンをもう一台買うなら、 パナソニックの"Let's Note" Wシリーズを選ぶに違いない。

今後の予定

(続くかも)

戻る|ホームへ