Libretto L2/060TNML への Plamo インストールメモ

(時系列に沿って書き連ねただけのものですので、まとまっていません。 時間があればそのうち整理するかもしれません。... ちょっと無理かなぁ ...)

知人に貸し出し中。更新は完全に止まります。あしからず Last update: Jan 17 2003

  1. Fips による partition 分割

    ACPI 絡みの問題もあるので、(いつかは抹消する予定の) Windoze 領域を 最小限残すこととする。以下のように partition を切る。

    Old partition: 2000.3MB
    Cylinder: 255
    New partition: 7585.4MB

    Partition table

    StartEndStart SectorNum. of SectorsMB
    Head Cyl. SectorHead Cyl. Sector
    1 0 1254 254 636340965122000
    0 255 1254 1221 634096575155348557585
  2. bootdsk の作成

    Plamo2.2 の CDROM を Mac OS X on PBG4 に。Let's note(Linux) と PBG4を クロスケーブルで繋ぎ Plamo2.2:/AT/Install/Net/bootdsk を Floppy disk に 書き込む。

     
         dd if=/mnt/Plamo2.2/AT/Install/Net/bootdsk of=/dev/fd0 
    

  3. bootdsk floppy で boot

    作成した bootdsk で boot する。( f キーを 押しながら電源ボタンを押すと、floppy から boot する。)

  4. fdisk を使って、Plamo2.2 を格納するための partition を切る。

    Plamo2.2 の CDROM をコピーする領域として 2GB(/dev/hda2) /dev/hda3 を拡張として残り領域を割り当てた。(後に変更)

         デバイス	Begin	Start	End	Block    Id	System
         /dev/hda1	1	1	255	2048256	 c	Win95 FAT32(LBA)
         /dev/hda2	256	256	510	2048287+ c	Win95 FAT32(LBA)
         /dev/hda3	511	511	1222	5719140	 5	Extended
         /dev/hda5	511	511	549	313236	 83	Linux native
         /dev/hda6	550	550	583	273073+	 82	Linux swap
         /dev/hda7	584	584	838	2048256	 83	Linux native
         /dev/hda8	839	839	1222	3084448	 83	Linux native
    

  5. windows me を起動し、/dev/hda2 を dos フォーマット後、ftp で plamo2.2をコピー。

  6. bootdsk で boot しインストールしようとしたら、/dev/hda3 以降の partition が消えていた。(?) しゃあないので、再度 fdisk を実行。

  7. 再度インストールを試みるが、plamo をコピーした d: ドライブ(/dev/hda2)が mount できない。 (/dev/hda2 のサイズが 2048256 を超えているためか?) dos 領域の関係で時間をつぶすのは無駄 :p なので、 nfs 経由でのインストールを行うこととする。 Let's note を nfs server とする。

  8. nfs 経由のインストールに先立ち、 partition を切りなおす。fdisk 後、念のため reboot する。
         デバイス	Begin	Start	End	Block	 Id	System
         /dev/hda1	1	1	255	2048256	 c	Win95 FAT32(LBA)
         /dev/hda2	256	256	1222	7767427+ 5	Extended
         /dev/hda5	256	256	294	313236	 83	Linux native
         /dev/hda6	295	295	328	273073+	 82	Linux swap
         /dev/hda7	329	329	583	2048256	 83	Linux native
         /dev/hda8	584	584	838	2048256	 83	Linux native
         /dev/hda9	839	839	1222	3084448	 83	Linux native
    

  9. plamo のお勧めパッケージ(note,Canna)を使う。 Note PC に適したパッケージを選び、インストール開始。

  10. Floppy に lilo をインストールしようと思ったが、 (USB floppy drive の為) /dev/fd0 にアクセスできない。 ちょっと危険だけれど、lilo を MBR に突っ込む。

  11. boot する。まず Windows Me が起動するかチェック。 ついでに Windows ME 用の起動ディスクを作成。

  12. Linux で boot 。eepro100 が load されなかったので、 /etc/modules.conf に以下を追加。(後には kernel に組み込む)
         alias eth0 eepro100
    

  13. XF86Setup を実行。S3 Savage (generic) を選択し、 HorizSync: 31.5-57.0, VertReFresh: 50-90 で、安直にうまくいった。 X server は、SVGA server。

  14. 外部との通信のために openssl, openssh をインストール。

  15. kernel を 2.2.19 -> 2.4.9 とするため、 modutils-2.4.8 & reiserfsprogs-3.x.0j に version up。

  16. kernel を 2.4.9 に。shutdown -ht0 now で電源断 OK

  17. 不要なサービスを停止

    sendmail の停止。inetd.conf の編集。仮想 terminal数を 3に。 /etc/rc.d/rc.inet2 の portmap, mountd, nfsd をコメントに。 ええい、inetd も止めてしまえ。

  18. longrun-0.9.tar.bz2 を取って来る。
         make all
         sh MAKEDEV-cupuid-msr
    
    した後、./longrun -p を実行すると「CONFIG_X86_CPUID=y にしろ」と表示。

  19. CONFIG_X86_CPUID の他に CONFIG_X86_MSR も必要。module にしていたので load する
         insmod /lib/modules/2.4.9/kernel/arch/i386/kernel/cpuid.o
         insmod /lib/modules/2.4.9/kernel/arch/i386/kernel/msr.o
    
    (後に、これらは kernel に組み込む。)

  20. linux-2.4.10 が出ていたので、そっちにする。

    ところがここで、問題が発覚。kernel の build 中に Error Invalid inode ... なるエラーが頻発。(@@;; inode がどうたらと言っているので disk 周りの障害の可能性もあり。

    他の可能性としては、memory の障害、swap partition の障害、 Crusoe 用に build した実行中の kernelの問題などがあり得るか。

    確証はないが、reboot した後には障害が発生しにくいように感じる。 曖昧:)

    Crusoe 用でない kernel (2.2.19) 上で、Crusoe 用の kernel (2.4.10) を build した場合、エラーは発生しなかった!! このため、先に Crusoe 用に作った kernel (2.4.9) に何らかの問題があった 可能性がある。

    2.2.19 kernel 上で 2.4.10 を error なく作成できたことだけは確か。

  21. XF86Config を修正。

    どこぞの France の人が作っていた XF86Config を参考にさせてもらう。 1280x600 はうまく表示できるようになった。但し、X の終了時 画面が乱れることがある。

    スクロールボタンを使えるように。但し、右スクロールボタンを 中ボタンとして使えるようにした。

  22. /home を reiserfs に。

    既存のファイルを backup するために、tar.gz を作成する際に warning らしきものが表示される。どうやら system 負荷 が高くなったときに kernel が warning もどきを吐き出している模様。

    このメッセージは、kernel 作成時に 表示された error メッセージと 雰囲気が似ている。(あぁ、なんていいかげん。。。)

    kernel 作成時に出ていた error の原因は crusoe 用の kernel が原因 かもしれない。この件は pending にして、次回 kernel の build を行う際 に longrun command performance に制限を付けてやってみよう。

         ./longrun -s 0 66 (通常 performance は 0 から 100 )
    
  23. /usr partition も reiserfs に変更する。(fsck が結構長い) / は容量が少ない(& fsck が速い)ので ext2fs のままに。

  24. pcmcia-cs-3.1.29 を入れる。何も問題無く、smartmedia pccard が使えた。

  25. acpid-20010510 を make する。acpid -d & を実行しておくと、 電源ボタンで shutdown することを確認。 suspend ができないので、かなり重宝する。

  26. swsusp-v8pre4 なる kernel patch を適用し、サスペンドできるか試みる。

    この際、patch を当てた kernel 2.4.9 を rebuild する必要があるので、 rebuild 前に performance に制限を付けてみたところ、 エラーは発生しなかった。ということで、(絶対確実とは言えないが) 上述のエラーはハードウェア的な障害によるものではなく、 以前 crusoe 用に作った kernel に問題があったか、 システム負荷が高すぎたことかが、原因と思われる。

  27. 肝心の swsusp であるが、kreiserfsd と keventd が停止できず うまくいかなかった。

    magic SysRq キー を生かした kernel を作成した。しかし 実際にどのキーに SysRq キーが割り当てられているかわからなかったので、 sysvinit-2.76 に swsusp 用パッチを当て作成した shutdown command で software suspend を実行してみた。

    ************* /var/log/messages から ****************
    Sep 28 21:47:35 lb kernel: klogd 1.4-0, ---------- state change ---------- 
    Sep 28 21:47:35 lb kernel: Kernel logging re-started after SIGSTOP.
    Sep 28 21:47:35 lb kernel:  Strange, keventd not stopped
    Sep 28 21:47:35 lb kernel:  Strange, kreiserfsd not stopped
    Sep 28 21:47:35 lb kernel: Suspend Machine: Continuing normal operation
    *****************************************************
    
    途中までうまく行ったように見えたが、 上述のように keventd と kreiserfsd が止まらず失敗。suspend 失敗後、 normal 状態に戻ったかのように見えたが、kreiserfsd が高負荷状態に なっており大慌てで reboot した。 reiserfs にしているのがまずいのかもしれないが keventd も止められなかったみたいなので多分無理か。 今のところあきらめることとする。

  28. USB FDD は楽勝。kernel 作成で、scsi と usb まわりを生かしておけば良い。

    modules の load が必要。以下のように

         modprobe usb-ohci
         modprobe usb-storage
    
    とすると、 usbcore, usb-ohci, scsi_mod, sd_mod, usb-storageが load される。mount /dev/sda /mnt で mount できる。

  29. Sound は困難。irq が取得できない ;_;

    ACPI BIOS で irq が割り当てられない。ACPI が何とかならんと 無理か。kernel option の pci=biosirq をやってみたが、 boot できない。

    2.2.19 あたりだと、lostirq2.c なる irq を割り当てる ためのコードを使えばいけるとの事だけど、 2.4 系では構造体 pci_dev の型が変わっており compile できない。

    pci_dev の構造体をきちんと調べて lostirq2.c を書き換えることは できそうに思われる。が、優先度は低いので(今は)やらない。

  30. 外部 VGA 出力への切替え。

    suspend や Sound より優先度が高いのは、外部 CRT への出力。 これができないと、プレゼンテーションができない。 これも今のことろうまくいかない。これも ACPI の問題。 さて、どこから手を付ければ良いやら。。。

  31. もうひとつ優先度が高いのは、LCD の輝度調整。

    輝度調整ができないためか、標準バッテリーで 2 時間強しかもたない。 もっと稼働時間が長くなるようにしたい。

  32. vje3.0 を esecannaserver で使えるようにした。

  33. 試しに gnome-session にしてみる

    gnome-terminal を起動しようとすると、libdb.so.2 がないと 言われたので、cd /lib; ln -s libdb-2.1.2.so libdb.so.2; ldconfig を 実行。

  34. wine で windows 上の「東芝省電力なんたら」(tpwrtray.exe)を 実行できないか試す。今のところうまくいかない。 sol.exe なら起動するんだけど(^^;;

  35. / 領域(/dev/hda5)も reiserfs にする。(テストで電源強制断するので)

    使っていない /dev/hda9 を利用して、reiserfs へ移行する。

    注:tar で backup を戻すとき(特に /dev 辺り)は single user mode で umask 000 した後に行った方が良い。(permission がらみの問題)

    /dev に関しては、plamo には devs.tgz という /dev を固めたものが あるのでそれで上書きする手もあり。

  36. lilo を止めて、grub にする

    Grub を MBR にインストールする際の注意
    Reiserfs 上から grub の書き込みを行おうとすると失敗した。 grub な floppy ディスクを使って、command mode から install すると ok

  37. 辞典盤97 を emacs 上と、kterm 上から使えるように。

    emacs では lookup を ndeb で。 eb, eblook, lookup, appendix(jitenban97) を入れる。 こんなに lookup が便利とは知らなかった。\(^^)/

    terminal 用にはいつもの dic を。

  38. emacs で *.tex ファイルを開いた時、編集していなくても変更されてしまう。 plamo のデフォルトは、(多分この問題を含む)yatex1.65 なので yatex1.68 にする。

  39. Linux で halt した後、何かが動いたままになっている(?)に気づく。

    LED を見る限り system は止まっているように見えるが、 数時間後に起動するとバッテリーが確実に消耗している。

    full 状態 (19882mWh)から shutdown し、6 時間後に起動すると 約15000mWh になっている。Windowze から終了した場合、10 時間後に 確認しても ほとんどバッテリーが減少していない。

  40. Intel の acpi site に kernel 2.4.10 用の patch が用意してあったので それを適用する。
          cd /usr/src/linux
          rm -rf drivers/acpi
          tar zxvf acpica-linux-20010920.tar.gz  # for debugging 
          gzip -d -c acpi-other-files-20010920.diff.gz | patch -p1
    
  41. acpid-1.0.0.tar.gz なるものもあったので取得。

    make all && make install して、/etc/acpi/events/ の中に event と action をセットにしたファイルを用意する。

    起動時に acpid -d & を実行すると、/etc/acpi/events/ 以下の 設定ファイルを読み込む。設定ファイルのルールにのっとり、 event が実行される。

    こんな感じに書くらしい。
    ----- /etc/acpi/events/power file に ----
    event=button power.*
    action=/usr/local/bin/power.sh "%e"
    ----- /usr/local/bin/power.sh に  -------
    #!/bin/sh
    case "$1" in
          button)
                 case "$2" in
    	            power)  /sbin/init 0
                                ;;
                        *)      echo "Action $2 is not defined"
                                ;;
                 esac
                 ;;
          *)     echo "Group $2 is not defined"
                 ;;
    esac
    
    -----------------------------------------

  42. 上述の Intel site にあった acpica patch を適用し、 shutdown 後の battery 消耗問題のチェックを行う。

    full 充電状態(19882mWh)で shutdown し電源アダプタを外す。 9 時間後に再起動。Remaining Capacity は 19364mWh に。

    ということで、Intel site の patch を適用することで shutdown 後の battery 消耗問題は解決。。。

    ↑と思ったら、どうやら間違っていたみたい。(^^;; Intel patch 無しの古い kernel 2.4.9 で念のため再テストしたら、 5 時間おいておいても battery が消耗していない。 どうやら、このテスト前に、Windoze 側の省電力設定を default に 戻したことが効いた模様。なんてこった、紛らわしいなぁ。

  43. XFree86 4.1 にする

    S3 savage の driver を書いている Tim Roberts氏の web page に、 LCD と CRT の出力切り替えができるような事が書いてある。 そこで、XFree86 4.1 に移行してみる。

    既存の /usr/X11R6 は別の場所に固めてとっておき、 4.1 のファイル群で上書きする。(/usr/X11R6 以下には様々な application があるので上書きした方が良いと判断。) xf86cfg を使って大雑把に XF86Config を作った後、以前の XF86Config を参照して、 1280x600 and 800x600 を表示する設定ファイルを作成する。 解像度は以前と同じく Ctrl+Alt+[+] で切り替えられる。 スクロールボタンもちゃんと使える。

    X を入れ替えたことで、X のアプリケーションがきちんと動かなくなる 可能性がある。(ただの杞憂で、ちゃんと動くかもしれない)

  44. xfs-xtt(for 3.3.6) を xfs(4.1) に。

    /etc/rc.d/rc.xfs で xfs-xtt を実行しているところを xfs に変更する。一応起動はしているが、何か変。 Netscape のメニューは化けるし、gimp のタイトルバーの日本語が汚い。 緊急度は低いのでそのうちに直そう。

  45. s3switch を試してみる

    外部 CRT が手元に無いので確かめられないが、 ./s3switch both とかすると LCD と CRT の両方に、 ./s3switch lcd とすると LCD のみに送出するらしい。 明朝テストしてみよう。わくわく。

    Nanao の液晶ディスプレイにつないで s3switch を試してみたが 何も映らない。信号が送出されていないみたい。くやしい。

    ./s3switch crt をやると Libretto の画面がホワイトアウトする。(@@; s3switch の問題 ? それとも X の問題 ? s3switch も X も binary を 別々に取ってきたので、全てを source から make するか...

    s3switch を source から作る。(svgalib の lrmi が必要。 debian に置いてあった s3switch_0.0.20010719 には lrmi が含まれている) やっぱりだめ。何かの切り替えはしているみたいなんだけど、 外部出力へは何も信号が出ていない。;_; 結局 pending か...

  46. kernel 2.4.11 にする

    2.4.11 にしてみたが、大きな変更はない模様。 acpica は古いままだし。(20010831)

  47. あれれ? もう 2.4.12 が出ている

    2.4.11 に致命的なミスがあったみたい。あわてて 2.4.12 を作る。 ついさっき 2.4.11 を作ったばかりなのに

  48. 前後するが、Toshiba Linux Utility は使えない。

    CONFIG_TOSHIBA=m として kernel の make をしたが、 例えば dispswitch を実行しても

    「this computer is not supported or kernel module is not installed」
    
    と言われるだけ。modules は load できていたので この utility を使うのは無理らしい。APM only なんだろうな。 ACPI をやっつけないとどうしようもないということですね。ふぅ。

  49. mozilla-0.9.5 とか、StarOffice を入れてみる。X を 3.3.6 に戻す。

    mozilla はまぁまぁ。でもまだ重いかな。

    StarOffice 6.0 beta は XFree86-4.1 ではインストールできない。 インストール中に X が高負荷状態に陥る。XFree86-3.3.6 は OK。 StarOffice 自身は良い感じ。ちょっと試した限りでは日本語も OK 。

  50. 本体の変なシールを剥がす。

    本体に貼ってあった変なシール(「田」みたいな捻れた窓の図柄 :p )を 剥がしました。本体裏面に貼ってある目障りな変なシールも 剥がしたかったですが、うまく剥がせそうになかったので ほったらかしにしてます。

  51. kernel を 2.4.14 に。
  52. sound の設定に挑戦

    音が鳴るように、kernel source (driver/pci/pci.c)をちょこっと修正。 IRQ の設定されない ALi5451 に無理矢理 IRQ=4 を割り当ててみる。

    Alsa-0.9.0betax の ali5451 を使って音は一応出るのだが、 再生音(cat english.au > /dev/audio)が一定時間繰り返してしまう。;_;

    IRQの変更、Alsa-driver の変更、kernel の変更等、思いつくことは 試してみたのですが、いずれも同じ結果。もうひとひねり必要みたい。。。

  53. Windoze での IRQ 割り当て(メモ)
    Device IRQ
    Software Modem AMR 5
    ToPIC100 CardBus 6
    Keyboard 1
    ALi Audio Accelarator 5
    ACPI SCIIRQ 9
    CMOS RTC 8
    TIMER 0
    Programable 割り込みコントローラ 2
    数値データプロセッサ 13
    S3 Savage IX 11
    Ethernet 10
    IDE Controllar 14
    Mouse 12
    ALi PCI to USB 7
  54. sound の設定に挑戦(その2-- 一応解決)

    前回に引き続き、kernel 2.4.14 の source (driver/pci/pci.c と arch/i386/kernel/pci_irq.c )を修正。やっと鳴りました。(T^T) ループしないできちんと鳴ります。

    pci.c の修正(irq の強制割り当て)は こちら から。感謝。

    pci_irq.c の修正の方は、TurboLinux の kernel (2.4.5)を 参考にさせてもらいました。感謝。

    使う人なんていないと思いますが、kernel 2.4.14 に対する 差分ファイルはこれ。 (実験で用いた必要ない code が含まれています。) なお、この patch は無保証です。ろくすっぽ検証していません。ですので、 これを使って何が起ころうと当方は責任は持てません。あしからず。

    補足:sound driver は ALSA を。 alsa-driver-0.5.12, alsa-lib-0.5.10b, alsa-utils-0.5.10 を 用いました。

    CardBus bridge ToPIC と ALi5451 が同じ irq 5 を 割り当てられているのが気になる。 pci は同じ irq を使うことができるけど、 ALi5451 に irq 4 を割り当てるべきなのかなぁ。 そのうち検証することにしよう。

    source が公開されているっていうのは、やはり良いですね。 いじる楽しみがありますからね。この達成感は どこぞの出来の悪い OS では未来永劫味わえないですね。:-p

  55. kernel 2.4.15 (=2.5.0) が release(感謝祭 and 勤労感謝の日)

    早速 2.4.15 を試してみたのですが、irq の取得は失敗。 そこで 2.4.14 で用いた patch を適用してみたところ、 irq は取得できたのですが、別の問題が発生し音が鳴らない。;_;

    Alsactl (alsamixer)が "Invalid argument" とかいって、 mixer のコントロールができないという症状。 2.4.15 で何が変わったか調べないといけないのかなぁ。

  56. alsa-driver を 0.9beta8 に

    上述の kernel 2.4.15 での問題は、alsa を 0.5.12 から 0.9.0beta8 にすることであっさり解決。d(^^)/

    kernel 2.4.15 用 sound patch は こちら。 ( ALi5451 の irq=4 とした。)

    patch -p0 < LibrettoL2-sound_2.4.15.patch 
    

    先日 ext3 に対応した e2fsprogs-1.21 も入れておいたので、 これで ext3 が使えます。:-)

  57. kernel 2.4.15 に file system を壊してしまう bug が報告された

    ということで kernel 2.4.14 に戻す。 sound driver は ALSA 0.9.0beta8 に。

    最近 kernel に致命的なバグが続いてるなぁ。どうしたんだろう。

  58. kernel 2.4.16 に。sound patch は 2.4.15 用で ok。

  59. kterm のスクロールバーを右側に

    plamo に入っている kterm はスクロールバーを右に出す パッチの当たった物なので、.Xdefaults に以下の 2行を 加えるだけで ok。

    KTerm*scrollBar: true
    KTerm*rightScrollBar: true
    

  60. kterm(and xterm) の vt options menu が点滅する

    remote で作業中、画面表示が乱れた。そこで、 Ctrl キーを押しながら、 マウス中ボタンを割り当てた右スクロールボタンを押すと、、、 vt options メニューが激しく点滅する。(@@;;

    Web 上にはそのような情報は見つからなかったので、 色々実験してみた。右スクロールボタンに割り当てた中ボタンの機能が 正しく働いていないことが判明。

    XF86Config の Pointer section に

    Emulate3Buttons
    
    を付け加えた。 vt options を出す時には左右ボタンを同時に押してしのぐ事にする。

  61. 理化学辞典を入れる

  62. Netscape 6.2.1 & Mozilla 0.9.7 を入れる

  63. kernel 2.4.17 に。

    kernel を 2.4.17 にする。irq の取得ができなかったので sound patch を用いる。 2.4.15 用で ok。

  64. Backslash \ と Shift の間の ↑ キーが邪魔なので、キー割当変更を試みる

    次のようにキーを変更したかった。

    1. 矢印キー単独で押した時は Shift に。
    2. 何かのキー(Ctrl とか Alt とか)と同時に押すと矢印キーとして。
    console で loadkeys を使う限りでは、上記の割り当ては成功。ところが...

    loadkeys による矢印キーの割り当て変更が X 上で有効にならない。 XkbDisable としていれば console でのキー割り当てがそのまま X 上で 使えるらしいのだが。。。何が悪いのか。。。pending

    とりあえず、Up arrow と Shift_R を入れ替える暫定的対処でしのぐ。

    なんとなく状況が分かってきた。loadkeys で指定した以下のような key combination が X に引き継がれていない模様。

    1. control key + other key
    2. alt key + other key
    3. ...
    これらの key combination が何故 X 上に引き継がれないかは不明。

  65. 幾つかの software を更新

    glib-1.2.9, gtk+-1.2.9, dia-0.88-1, magicpoint-0.9a, sylpheed-0.7.0

  66. Ctrl と Alt の間の変な(田の字みたいな)絵柄のキーの上に別のシールを貼る

  67. USB mouse を使えるように

    Logitech の光学式 USB マウスを安く(\2280)入手したので、これを機に設定した。
    (cf. /usr/src/linux/Documentation/input/input.txt, /usr/X11R6/lib/X11/doc/xinput, man XF86Config )

    1. charactor device file を作る
      # cd /dev
      # mkdir input
      # mknod input/mice c 13 63
      
    2. usb 関連の module のロード(起動時に行う /etc/rc.d/init.d/usb )
      # modprobe usb-ohci
      # modprobe input
      # modprobe keybdev   # <-- usb keyboard (no check)
      # modprobe mousedev
      # modprobe hid
      
    3. /etc/XF86Config の修正
      1. USB mouse だけを使うなら、Pointer section に
        Section "Pointer"
           Protocol        "IMPS/2"
           Device          "/dev/input/mice"
           ZAxisMapping    4 5
        EndSection
        
        だけで OK
      2. 既存の pointing device と共存するには、XInput Section を加える
        Section "Xinput"
           SubSection "Mouse"
                Protocol      "IMPS/2"
                Device        "/dev/input/mice"
                DeviceName    "USB_Mouse"
                ZAxisMapping  4 5
                AlwaysCore
           EndSubSection
        EndSection
        

  68. WindowMaker-0.80.0 を入れる

    sawfish も良いんだけど、WindowMaker を久しぶりに入れてみた。 バージョンもずいぶん上がっていて良い感じ。しばらく WindowMaker を 使ってみることにする。.

    asclock-2.0.12 のソースを取ってくる。こちらもバージョンが 上がっていてなかなか面白い。

  69. John Belmonte 氏の ACPI Extra driver

    John Belmonte 氏が公開している ACPI Extra driver を使ってみる。現 version は 0.1。LCD の輝度調整が可能に。感謝。

  70. WindowMaker 用の時計 pclock をいじる

    アイコンのサイズを 64x64 より小さくした時に、 きちんとドックに乗る時計を見つけられなかったので、 pclock version 0.10 を修正

    -G (-geometry) option でアイコンのサイズを変更可能。 但しアイコンの画像として対象サイズの xpm ファイルを用意し、 -B(--backgroud) option で指定する必要がある。

  71. xdic を入れる

  72. 駆動方法に合わせ longrun や輝度調整を行うよう設定(acpid)

    battery 駆動時や AC adapter 駆動時、longrun mode や輝度調整を 動的に切り替えるように acpid を設定。単に script を書いただけ。

  73. wmacpi-1.33 を入れる

    WindowMaker 用の電源状態表示アプリケーション wmacpi を入れる。 バッテリーの残量等が一目瞭然。

    battery 駆動時には、 輝度を level 2 まで落とし longrun mode を最低 level にしている。 この時の駆動時間は 2 時間 4,50 分程度。 (輝度を最低の level 0 にすれば、もう少し伸ばせるが 暗すぎて視認性が悪い)

  74. mozilla-0.9.8 に

  75. kernel 2.4.18 に。RGB 出力 patch 適用

    ACPI Extra driver の version が 0.11 となり RGB 出力が可能になったとのこと。2.4.18 に上げるのとあわせて 適用してみる。

    確かに RGB 出力がでるようになった。すばらしい。\(^^)/ しかし 1280x600 が 800x600 に圧縮されて表示されちゃうぞ。うーん... XFree86 3.3.6 じゃなくて XF86-4 でテストしてみる必要があるかな。

    音は鳴らなかったので、sound patch を適用。 2.4.15 用で ok。

  76. XFree86-4.1.0 にして RGB 出力のテスト

    XFree86-4.1.0 としてみたが... やっぱり 1280x600 が 800x600 に圧縮される。うぅーん。 わかんないぞ...

  77. RGB 出力成功!

    何のことはない。私のやり方が悪かっただけだった。(^^;; LCD と CRT の両方に出力すると LCD の解像度が優先されて 1280x600 が 800x600 に圧縮されるが、CRT のみの出力とすると 外部ディスプレイの解像度にあわせて正しく表示される。\(^^)/

    ユーザー権限で出力切り替えを行う為のコマンドを用意し、 そのコマンドを何かのキーに割り当てることにしよう。

  78. Frame Buffer にしてみる

    上記 RGB 出力に前後して、Frame buffer にしてみる。

    kernel config option を変更して Frame buffer 用の kernel を make し、GRUB の menu.lst を

    title  kernel 2.4.18 fb 1280x600
    root (hd0,4)
    kernel /vmlinuz2418fb root=/dev/hda5 vga=0x404
    
    てな具合にすると 1280x600 に。vga=0x303 とすると 800x600 に。

  79. kernel 2.5.7-pre2 を試す

    ...が、kernel panic で起動できず ;_;

  80. kernel 2.5.7 を試す

    ...が、起動できず ;_;

  81. 大容量バッテリー(PABAL005)購入

    現在充電中。何時間持つかな? 8 時間 30分強くらいか。 (LCD輝度を最低にすると、9時間を超える:-p)

    でもやっぱり重いなぁ...

  82. kernel 2.4.19-pre5-ac3 を試す

    swsuspend が merge された模様。(gcc の version に制約はないのかなぁ?) 試してみたところ shutdown -z now すると kernel panic(?) を起こす。(^^; 今後の楽しみに。

  83. kernel 2.5.8 を試す

    2.5.x 系を再トライ。今度は起動できた \(^^)/ (ちょっとだけ source を修正したけど)

    changelog にもあったように ACPI まわりが大きく変わっている。 Patch を当てない状態でも、sound chip の IRQ が 割り当てられているみたい。

  84. kernel 2.4.19-pre7-ac2 を試す

    software suspend を試してみたところ、2.4.19-pre5-ac3 から改善が みられた。shutdown -z now したところ、kernel panic も起こらず swap へ 書き込まれた。:) resume できないけど :( なんでかなぁ?

  85. kernel 2.4.19-pre7-ac3 を試す

    若干の細かな問題はあるけど software suspend できた。すばらしい!!!

    以下に試した手順を書いておく。

    1. kernel config で swsusp を有効にして make
    2. 作った kernel で普通に boot
    3. echo 4 > /proc/acpi/sleep すると swap partition に memory 情報を 書き込み、システム停止。(shutdown -z now でも同じかも?)
    4. リブートしてしまう場合や、自動的に電源が切れない場合には 電源ボタンで電源断。
    5. resume するには、kernel option
           resume=/dev/hda6
      
      付きで boot する。ここで /dev/hda6 とは swap partition。 resume には結構時間がかかる。(以下の表示が 1 分ぐらい続く) じっと我慢。
           Resume Machine: Reading resume file was successful
           Waiting for DMAs to settle down...
      
    6. suspend 時に X をたち上げていた場合、画面が乱れる。この場合、 仮想コンソールの画面切り替えを行うと X も正しく表示されるように なった。
    resume に時間がかかるのが難。でも仕事を継続できるのは良。

    memory を使っていればいるほど復帰時間が長い。 復帰するのに 3-4分かかる場合も。

  86. ちょっと整理して、適用した patch 群を書いておく
         base: linux-2.4.18 
         + patch-2.4.19-pre7
         + patch-2.4.19-pre7-ac3
         + LibrettoL2-sound_2.4.15.patch (me)
         + toshiba_acpi_0.11-linux_2.4.17.diff (from JB's page)
    

    この後、pcmcia-cs-3.1.29 および alsa lib をいれる

  87. kernel 2.4.19-pre7-ac4 にしたついでに、 resume が遅い件について 2,3 調べた

    IDE の DMA まわり(ALi1533)がまともに使えていないのが主原因では ないかと予測。まずは、それ以外に原因がないかを調べることにした。

    reiserfs を使っているためではないか調べた。file system を 全て ext3 にしても同様に復帰に時間がかかる。kernel に reiserfs を 組み込まなくても同様。reiserfs のためではなさそう。

    ext3 も一応疑って ext2 のみにしてみたが、状況は何一つ変わらない

    usb 関連の modules を疑ってみたが、これも関係なさそう。

  88. IDE DMA まわり

    2.4.19-pre7-ac4 で kernel option の ide=nodma を使うと kernel panic -> NG

    2.4.18 に ide.2.4.18-rc1.02152002.patch を適用してみたが、 dma 周りに改善はみられない。-> NG

    ALi15x3 を殺した kernel -> NG

    うぅ、わからん... swsusp は諦めるかなぁ...

  89. kernel 2.4.19-pre8-ac1 に

    2.4.19-pre7-ac4 と状況に大差なし

  90. kernel 2.5.15 を試す

    ...が kernel panic ;_;

  91. kernel 2.4.19-pre8-ac3 に
  92. kernel 2.4.19-pre8-ac4 に

  93. kernel 2.5.18 に

    2.5.18 の kernel/suspend.c の l.68 辺りに linux/buffer_head.h の #include 行を追加しないと make できない

    swsuspend が merge され、suspend to disk (S4) が できるようになっている。 しかし resume 時の復帰時間は相変わらず遅い。

    suspend to RAM (S3) はかなり良いところまできているのかな。 resume しようとすると

    hwsleep_0304: *** Error: Method _BFS failed, AE_ACQUIRE_DEADLOCK
    
    とか何とか表示されて失敗するけども。

    ここのところ、Libretto 上で 2.5.x を make した際に気づいたことのメモ

  94. kernel 2.5.20 に

    2.5.19 と同じく、suspend.[ch] に patch をあてないと make できない。 この patch は linux-kernel ml に流れている。

    echo 3 > /proc/acpi/sleep すると、

    ACPI: ACPI-based suspend currently broken, aborting
    
    と表示される。あれれ? まだ道は遠いのか...

    どの version からか不明だが、最近の 2.5.x 系では sound patch 無しで irq を取得でき、kernel 付属の ALSA ali5451 ドライバで音が鳴らせる。 確実に ACPI 周りが良くなっている :)

  95. kernel 2.5.21

    うーん、ACPI 周りがさらに良くなっている"らしい"のだけど、 make できないや。

  96. kernel 2.5.22

    こんどは make できるぞ。さてどうなるかな。。。

    echo 3 > /proc/acpi/sleep すると suspend(S3) する。 が、resume はできない。黄色い文字で Linux! と表示されるだけ。

    echo 4 > /proc/acpi/sleep すると、swsusp(S4) しようと幾らか進んだ 所で、

    Suspend Machine: Writing pagedir(18pages): ..kernel BUG at page_alloc.c:87!
    invalid operand: 0000
    (以下略)
    
    と表示され止まってしまう。うーん、以前の version では swsusp できていたのにな。

    frame buffer での boot は ok 。

  97. John Belmonte 氏の ACPI Extra driver を 2.5.22 用に修正

    今後基本的に開発版の 2.5 系を追いかけることにする。 このために、John Belmonte 氏による ACPI Extra driver を 2.5.22 用にちょびっと修正。 修正した patch

    基本的に Belmonte 氏の patch と同じ使い方ですが、 modules 名を toshiba_extra に変えているので注意。 ( 2.4.1[78] と 2.5.22 での acpi の tree 構造が異なっている為、 それにあわせた修正を行い、module 名も ospm_toshiba から toshiba_extra へと変えました。) quick hack なので、関数名など細かい修正はしていない。

    original driver の作者 Belmonte 氏にあらためて感謝。

  98. kernel 2.5.23

    kernel 2.5.23 に。上述の 2.5.22 用 ACPI extra driver patch は そのまま利用可。

    echo 3 > /proc/acpi/sleep は resume できず。

    echo 4 > /proc/acpi/sleep は ok 。

  99. kernel 2.5.24

    login 時や boot 途中に次のようなメッセージが表示され止まる。

    hda: error: DMA in progress...
    
    なんかやばそう... kernel configuration は以前と変えてないので DMA 関連に手が入ったのか?

    ide DMA disable な kernel を作ればとりあえず boot できる

    DMA が効いてないとディスクアクセスが遅いので、 再度 DMA を enable にしてみた。やはり時折(?)上記の error で 止まる。再現性が無いのが気色悪いなぁ。

  100. wmacpi-1.34 にするのと共に acpid の設定ファイル群を修正

    書き忘れていたが、2.5 を追いかけることにしてから、 wmacpi の version を 1.34 にし、あわせて acpid の設定ファイルを 若干書き直した。これらは /proc/acpi 以下の書式が変わった為。

  101. John Belmonte 氏の Toshiba ACPI extra driver が 0.12 に

    2.5.24 用もあり。fan control もできるようになったらしい。

  102. kernle 2.5.25

    うぅぅぅ、2.5.24 と同じく IDE DMA enable にすると... ;_;

  103. John Belmonte 氏の patch が ACPI patch (20020709) に

    Toshiba ACPI extra driver が ACPI patch for 2.5.25 に 取り込まれたとか。(acpi-devel ml より) 便利になりますね。

  104. IDE まわりが変

    2.5.25 だが DMA disable にしても固まる事があるみたい。 IDE まわりがとても変。先ほども rsync していたら固まってしまった。 どうなってんだ ? 困るので 2.4.19-pre10-ac2 で起動している。

    2.5 kernel の IDE は危険だと John Belmonte 氏から教えてもらう。 以下の URL を参照のこと。

    John ありがとう。

  105. 2.4.19-rc1-ac5

  106. 2.5.26

    Toshiba ACPI extra driver は merge されたため patch は不要

    IDE patch や、acpi 周りの変更等が merge された模様。 いろいろと直ったみたい。→ と思ったら直ってないみたい。 ディスクアクセスが激しい(?)と kernel panic

    Unable to handle kernel NULL pointer dereference at virtual address 0000001c printing eip:
    c01d47e7
    *pde = 00000000
    Oops: 0000
    (snip)
    
    といった感じ ;_;

    IDEDMA を disable にしたら何とか動くみたい(自信なし)

  107. kernel 2.5.27

    make はしたが remote で作業中なので、まだ試していない

    2.5.27 をテストしてみた。いかん。だめだ。IDEDMA enable では これまでと同じくだめ。

    IDEDMA disable にしてみたが、reiserfs を mount するところ(?)で 止まる。

    make mrproper してなかったせいじゃないかと思い 再 make してみたが、やはり reiserfs の所で止まる。;_;

    ということで 2.5.26(IDEDMA disable) のまま。

    Linux Kernel ML の message によると、やはり 2.5.27 の IDE には問題があるらしい。

    この page のアクセスログを見ると、いつの間にか 10000 アクセスを 突破していた。まさかこんなに人が来ているとは。

  108. 2.5.28

    ただいま昼御飯を食べながら make 中。IDE はどうだろうか?

    kernel make の途中、ali5451.c の compile で error

    ali5451.c:1971: macro `synchronize_irq' used without args
    ali5451.c:2119: macro `synchronize_irq' used without args
    
    最近 Libretto で sound を使うことは無いので、 sound を disable にする。暇があったら直すということで。

    Oops ;_;

    (snip)
      ld -m elf_i386 -T arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/init.o --start-group arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o security/built-in.o /usr/src/linux-2.5.28/arch/i386/lib/lib.a lib/lib.a /usr/src/linux-2.5.28/arch/i386/lib/lib.a drivers/built-in.o sound/sound.o arch/i386/pci/pci.o net/network.o --end-group -o vmlinux
    drivers/built-in.o: In function `acpi_system_suspend':
    /usr/src/linux-2.5.28/drivers/acpi/system.c:259: undefined reference to `save_flags'
    /usr/src/linux-2.5.28/drivers/acpi/system.c:273: undefined reference to `restore_flags'
    make: *** [vmlinux] Error 1
    
    手が回らない。時間が欲しい...

    案の定 Linux Kernel ML にこの件↑があった。system.c に

    #include <linux/interrupt.h>
    
    を付け加えれば良い。

    IDE DMA はダメ

    boot してから一度だけだが、S3 suspend からの resume ができた。\(^^)/ (error は吐くけどね。)確実にゴールが近づいている。 (resume 時に hda の irq を lost(?) して止まることもあり)

    注:resume 後に network が使えない。resume 時の初期化の問題だろうな

    DMA disable で boot するけど、IDE 周りが何だか怪しい。 filesystem を mount するところで止まったり or 遅かったり....

    IDE が怪しいと思っていたが、 どうやら suspend/resume のテストをした後だったからみたい。 通常に halt した後は正常に boot している。

  109. acpi-20020725-2.5.28

    ML にも流れていたが CONFIG_ACPI_DEBUG=y とすると make できない。

    S3 suspend からの resume はダメ。2.5.28 の方がまし。

  110. 2.5.29

    ide まわりに幾つかの patch が加えられたらしいが、 ide-dma active で使えるようになった模様。

    S3 suspend の resume であるが、次の message が表示され止まる。

    Device Resumed
        ACPI-0355: *** Error: Method _BFS failed, AE_ACQUIRE_DEADLOCK
        ACPI-0360: *** Error: Method _WAK failed, AE_ACQUIRE_DEADLOCK
    Restarting tasks ... done.
    
    うーん、どっかで見た message だなぁ

  111. 2.5.30

    みたところ ACPI 周りの変更は無さそう。

    acpi-devel ml はここのところ盛ん。お楽しみ

    S3 suspend から resume すると、以下のような表示

    Device Resumed
    Device Resumed
        ACPI-0355: *** Error: Method _BFS failed, AE_ACQUIRE_DEADLOCK
        ACPI-0360: *** Error: Method _WAK failed, AE_ACQUIRE_DEADLOCK
    Restarting tasks ... done.
    hda:status error:status=0x58[drive ready, seek complete,data request]
    hda:drive not ready for command
    end_request: I/O error, dev 03:00, sector 4550374
    Buffer I/O error on device ide0(3,5) logical block 56717
    
    つまりハードディスク hda が使用可能状態に復帰できてない。

    上記の状況は DMA を disable にしても同じ

  112. kernel 2.5.31

    ChangeLog を見ると、

    S3 and swsusp: fixing device_resume order 
    
    なんて事が書いてある。期待して make。→ 相変わらず S3 suspend の resume 時に止まる。;_;

  113. kernel 2.5.31 + acpi-20020815

    S3 resume について、特に状況変化はなし。;_;

  114. kernel 2.5.32

    なぜか keyboard が使えない ?

    2.5.32 で drivers/input 以下が変わったみたい

  115. kernel 2.5.33

    あれぇ、まだ keyboard が使えない ? 割り込み irq=1 が取れないぞ。

  116. kernel 2.5.34

    keyboard が使えなかったのは、kernel config の Input Device のところの設定の仕方が悪かった事が原因みたい。 ちゃんと keyboard も使える。

    と思ったら、"¥" key が効かない。atkbd.c で unknown key とか 言ってる。押すたびに

    atkbd.c: Unknown key (set 2, scancode 0x6a, on isa0060/serio0) pressed
    atkbd.c: Unknown key (set 2, scancode 0x6a, on isa0060/serio0) released
    
    を繰り返す。¥キーが使えないと、パイプが打てない。これは困る。

    S3 suspend だが、何とか、できるようになってる。 network は復活できなかったが、resume もちゃんとできたぞ。\(^^)/

  117. kernel 2.5.35

    相変わらず、"¥" key は効かない。

    S3 suspend の resume がうまくいかない。うーん、一進一退だなぁ

  118. kernel 2.5.36

    あれ? boot 中に kernel panic になるぞ。ide 周りかな?

    2.5.35 の drivers/ide を移植して make すると boot できる。

    相変わらず、"¥" key は効かない。

    S3 suspend は 2.5.35 と同じく、resume を失敗する。

  119. kernel 2.5.36 + acpi-20020918-2.5.36

    echo n > /proc/acpi/sleep が効かないぞ? acpi-devel ML にも そんな事が書いてあるな。

  120. kernel 2.5.38

    2.5.36+acpi-20020918 と同じく、suspend できない。

    keyboard も同じく。code を書かんとだめかなぁ

    ide 周り(acpi かもしれない)に問題あり。halt 後に boot すると、

    hda: lost interrupt
    
    と表示されて止まる。

    2.5.31 で boot している状態から、reboot で 2.5.38 を起動した 場合には、問題なく起動する。ということは、acpi 周りの irq table の 初期化(?)に問題があるということかもしれない。

  121. kernel 2.5.39

    事態はあまり変わっていない

  122. kernel 2.5.40

    kernel 2.5.40 が出ているみたいなんだけど、kernel.org に アクセスできない→おっと、できた

    起動時に kernel panic 。事態は変わってない。;_; ← 実は大間違い

    実は私の kernel config がおかしかっただけ。 config を修正したら、問題なく起動できた。あぁ、へぼだなぁ

    ということは kernel 2.5.35 以降、私の kernel configuration が 正しくなかっただけの可能性あり。;_;

    udma(33) だったのが udma(66) になっている。:-)

  123. kernel 2.5.40 + acpi-20021002-2.5.40 + ac5

    S3 は resume で失敗する。

  124. kernel 2.5.41

    suspend できない。kernel に acpi-20021002 が反映されてない

    reboot and halt 時に、落ちてくれない。 つまり reboot できない。電源ボタンを押す必要あり

  125. kernel 2.5.40 + acpi-20021002-2.5.40 + ac6

    前述 ac5 と同等。S3 resume はダメ

    reboot は ok 。多分 2.5.41 に対して acpi-20021002 を 適用すれば、上記の halt できない問題は解決するだろう。

  126. kernel 2.5.42

    remote で make & boot up。故に、suspend test はまだ。

    S3 resume できた。但し、network unreachable になる。

    "|" が入力できるようになっている。:-)

  127. kernel 2.5.42-ac1

    S3 resume の状況は 2.5.42 と変わらず。S3 resume 後 以下のように表示される

    ...
    Device Resumed
    Restarting task... done
    hda: status time out: status=0x80 { Busy }
    hda: DMA disabled
    hda: drive not ready for command
    ide0: reset: master: error (0x00?)
    
    network が使えなくなる(eth0 がわからんようになる)以外は S3 resume は成功しているように見える。

    eepro100 or e100 を kernel 組み込みにして S3 suspend & resume すると、eth0 device を失い、network 不可に。

    eepro100 or e100 を modules にした場合、 suspend 前に "ifconfig eth0 down ; rmmod {eepro100|e100} " とした後で、resume しておいても network は不可。 resume 後 modules の load はできるし、 eth0 への network 設定も一見できているようにみえる。 が、network unreachable な状態のまま。;_;

  128. kernel 2.5.43

    kernel 2.5.42 と状況は変わらず。

    kernel make 時に error がでる。 arch/i386/kernel/mpparse.c に以下の 1 行を加える

    #define BAD_APICID 0xFFu
    
    これでいいのか分からないけど。(^^;

  129. kernel 2.5.44

    S3 resume で固まる

    ... と、思っていたんだけど、いろいろやってみると、 ばっちり S3 suspend/resume できそうな気配が。詳細は後程。

    わぁぁん、やっぱりだめだった。network が死んじゃう。何でぇ ;_;

    おまけにマウス(Libポイントだっけ?)も使えなくなる。他にも使えない device があるに違いない。

  130. Plamo3.0 に入れ替える

    えっちらおっちら、Plamo3.0 に入れ替える。ext3 にしてみる。 /home は reiserfs のまま。kernel は 2.5.44 + acpi-20021024 に

    ついでに長らくほったらかしにしていた pcmcia wireless LAN cardを 使えるように設定。

    そうそう、標準バッテリーはちょうど一年でお亡くなりになりました。 まさか Sxny タイマーがついているわけじゃ無いと思うけど。:p

  131. kernel 2.5.45

    変更点がたくさんある模様。

    現在 make 中。(make menuconfig で QT が無いとか言って error が 出るが、make -k menuconfig とかすれば、とりあえず ok)

    suspend/resume (S3) について、特に状況の変化は無い模様。残念。。。

  132. kernel 2.5.46

    root device を mount するところで、kernel panic

    grub の記述を以下のように変えると boot 出来た。

    ダメなケース
    root (hd0,4)
    kernel /vmlinuz2546 root=/dev/hda5 ro vga=0x303 resume=/dev/hda6
    
     boot 成功したケース
    root (hd0,4)
    kernel /vmlinuz2546 ro vga=0x303
    
    何か変ですねぇ... ext2/3 周りが変わったからかな ?

    S3 resume の状況は変わらず。 network device 等が使えなくなる。 外部からの packet を受け取れない模様。

  133. kernel 2.4.20-rc1 を試してみる

    特に御利益無し。

  134. kernel 2.5.47

    2.5.46 と同じく root device を mount するところで、kernel panic

    S3 resume の状況変わらず...

  135. kernel 2.5.47 + acpi-20021111

    S3 resume に特に変化なし ;_;

  136. kernel 2.5.48

    S3 resume 変わらず。

    module loading 周り変更あり。

  137. software suspend に関して

    最近購入した Let's note CF-T1 上の kernel 2.4.19+swsusp15 で、 software suspend が良い具合だったので、Libretto でも試してみた。

    ちなみに最近の kernel 2.5 系列では S4 suspend は そもそも失敗する。kernel panic を起こす。

    Florent Chabaud の page から swsusp の v15beta-2.4.19 を取得し、kernel を再構築。

    echo 4 > /proc/acpi/sleep
    
    或いは
    echo "1 0 2" > /proc/sys/kernel/swsusp
    
    することで、suspend する。電源ボタンで boot させると 途中で image を戻して resume する。格段に速くなっている。

    resume 後にも network がちゃんと使える ;-)

    これでもういいかな...



Link