このLibrettoは,2005年4月末ころに盗難にあい紛失しました.
Toshiba Libretto L2 に Debian GNU/Linux 3.0 (woody) をインストールするまでの, 顛末です. 注意:ここに書いてあることは,私が実際にやったことについての記録ですが, 初日にやったことは,インストールとはほとんど無関係です. 端的に言うと,grubの検証をしただけです., また,ここで利用したインストール方法は一般的な方法ではありません. 普通は,インストール用のフロッピーディスクを使います. しかし,ネットワーク経由でインストールした点ではおもしろいかと 思われます.これができるようになると結構色々な逆境にも耐えられるようになります.
お話を読むのが面倒な人のために, ファイルをおいておきます.
マシン(Libretto L2)を買ってきた. ディスクドライブも何もついていないので, しばらく途方にくれてみる. 電源をつけるとWindows MEが起動. 微妙.変なアニメーションのデモとかが動く. 変すぎる. しばしながめてあぜんとする.
偶然居あわせた親父にUSB接続のフロッピードライブを借たので, それを利用してインストールをしてみようと考える. で,なぜか,ネットワーク経由でgrubを使ってみよう,と思い付く. まず,適当なマシンでgrubのソースを展開して以下を行った:
$ ./configure --enable-eepro100 && make $ dd if=stage1/stage1 of=image $ dd if=stage2/stage2 of=image bs=512 seek=1 $ dd if=image of=/dev/fd0 ; sync
こうすると,起動イメージが作成できる. なんか,コンパイルするときに思ったより警告が多く出てきて, 一沫の不安を感じる.
Web上の情報では,librettoは,fをおしながら起 動すると,フロッピーから起動する,ということだった. このイメージファイルを利用して起動できるのかな,と思う. 実際にやってみると,本当にlibrettoでgrubが起動してくれた.
grub> ifconfig --address=192.168.1.2 --server=192.168.1.1
とうちこむと,どうやらNICを認識しているようなメッセージが出てく る.また,grubから
grub> rarpd
とうちこむと,アドレスは取得することはできなかったが, サーバ側で動いているRARPDが,ログにMACアドレスを記録してく れた:
Dec 29 00:35:01 uekawa rarpd[250]: RARP request from 00:00:39:56:65:99 on if-1073743736 Dec 29 00:35:01 uekawa rarpd[250]: not found in /etc/ethers
で,librettoのほうは,
<sleep> <sleep> <sleep> <sleep> <sleep>
というようにgrubのエラーメッセージだけがどんどんふえていく. アドレスが取得できないのでタイムアウトしているような ので,とりあえず,サーバの設定ファイル(/etc/ethers)に,以下を追加:
00:00:39:56:65:99 192.168.1.5
これを追加したら,libretto側から, IPが取得できた.
ちなみに,ついでに,tftpdも,設定. インストールしてあったのだが,利用出来るようになっていなかったの で,/etc/inetd.confを変更:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot
これは,多分/bootというディレクトリ以下にあるものを, kernel (nd)/vmlinuz-2.4.17というように指定できるようになる,と いう意味だとおもう(勘違い). でも,これだけを入力してもsleepといいつづけるだけ. なんかがくるくるまわりはじめた. どうやらダウンロードが始まったようだ. しかし,全然おわらない,というか終る気配がない. 自分のマシンのルーティングテーブルが結構めちゃくちゃになっている せいかもしれない. とりあえずtcpdumpしてみる.すると以下のメッセージ:
00:53:18.079869 libretto.dancer.pr.jp.2012 > uekawa.dancer.pr.jp.tftp: 38 RRQ "/netboot" 00:53:18.079923 uekawa.dancer.pr.jp > libretto.dancer.pr.jp: icmp: uekawa.dancer.pr.jp udp port tftp unreachable [tos 0xc0]
が,延々と出ている.これは,やっぱり,tftpが出来ていないのだろう. icmpについてしらべると,これは,やはり,ホストまでパケッ トが到達したけど, そのポートが実際にlistenしていなかった時にでるエラーメッセージら しい. とおもってよーく考えると, inetdに設定を読ませていない というのに気付く. /etc/init.d/inetd restartとすると,ちがうエラーが出始め る.ちょっと進展.Access Violationというエラーがでるようになった.
で,なにげなく,kernel (nd)/boot/netbootというようにう ちこんでみたら,めでたくカーネルはロードできたようだ. フルパスが必要なようだ.もしかするとtftpdが変なのか.
01:18:08.051633 libretto.dancer.pr.jp.2064 > uekawa.dancer.pr.jp.tftp: 43 RRQ "/boot/netboot" 01:18:08.064029 uekawa.dancer.pr.jp.32825 > libretto.dancer.pr.jp.2064: udp 516 (DF) 01:18:08.064726 libretto.dancer.pr.jp.2064 > uekawa.dancer.pr.jp.32825: udp 4 01:18:08.065050 uekawa.dancer.pr.jp.32825 > libretto.dancer.pr.jp.2064: udp 516
chroot環境を構築するのが面倒なので,とりあえず:
/ *.dancer.pr.jp(ro)
なる行をサーバの/etc/exportsに一時的に追加. NFS経由でサーバのルートディレクトリが読み込み専用でマウントできるはず. 適当にmake menuconfig; make dep; make bzImageとしてつくっ てみたカーネル(ソースの中のarch/i386/boot/bzImageにできているっぽい) で起動させてみる./boot/netbootというファイル名にしてみ たので,それを指定して起動:kernel (nd)/boot/netboot
なにも考えずにbootというコマンドをgrubでうちこむと, root filesystemが無いので,Kernel panic (unable to mount root VFS)になる.ま,当然だな.
どうしようもないようなくらいに固まっているので,再起動. 今までやってきたことの反省をいかして,次のようにうつ:
grub> rarp kernel (nd)/boot/netboot init=/bin/sh root=/dev/nfs nfsroot=192.168.1.1:/,flags=ro
しかし起動しない.ネットワークが設定されていないようだ. RARPで自分のIPをカーネルが取るようにしないとだめだ.ipというオプ ションも存在するらしいが,めんどうなので,カーネルを 自動設定するようにコンパイル.以下を変更してコンパイルした.
diff -u net/ipv4/ipconfig.c{-orig,} --- net/ipv4/ipconfig.c-orig Sat Dec 29 01:46:16 2001 +++ net/ipv4/ipconfig.c Sat Dec 29 01:46:24 2001 @@ -101,7 +101,7 @@ */ int ic_set_manually __initdata = 0; /* IPconfig parameters set manually */ -int ic_enable __initdata = 0; /* IP config enabled? */ +int ic_enable __initdata = 1; /* IP config enabled? */ /* Protocol choice */ int ic_proto_enabled __initdata = 0
で,また起動しなかった.が,以下のようにすると起動した:
grub> rarp grub> kernel (nd)/boot/netboot init=/bin/sh root=/dev/nfs nfsroot=192.168.1.1:/
で,起動してしまったので,パーティションをきってみた. いろいろと複雑なことになっているようだ. まず,親マシン(サーバ)のファイルを全部コピーして 「インストールした」といってしまっても良いきがしてきたので, 強引にいってみようか.
パーティション | サイズ | 用途 |
hda1 | 1GB | Windows |
hda2 | 100MB | /boot |
hda3 | 300MB | SWAP |
hda4 | 8.5GB | / |
# mkswap /dev/hda3 # swapon /dev/hda3 # mke2fs /dev/hda2 # mke2fs /dev/hda4
以上でとりあえず,フォーマットはできると見た. でも,cp -aとするだけでは,コピーできないファイルが大量 にあることに気付く. やっぱインストールディスクでインストールがしたいところだ. というところで,今日は,終るか. ちょっと楽しかったぞ.全然設定できていないけど. 今日やったことは,経験としてはのこるが,ファイルのかたちとしては, 残らないだろう...と思いつつ寝る.
とりあえず,何もしないより,Debian 2.2 が動いていたほうがよいだろう, という考えで,Debian 2.2r0(手元にあったのが,これしかなかった) をインストールしてることにする. 後程ネットワーク回線の速いところで,アップグレードをすることにし よう. いくらpotatoでも,eeproには対応できるはずだ,と予想. とりあえず,佐野さんのUSB起動フロッピーが本当に動くのかどうかが 知りたいというのもちょっとある. http://www.debian.or.jp/~sano/usbfdboot/ とおもってチェックしたら,そのイメージは,どうやらネットワークド ライバが全く入っていないやつのようだ. 昨日のNFSマウントの勢いでそのままいってしまった ほうが楽かもしれない,と思う.
ということで,まず,grubから起動.そして以下を行った;
grub> rarp grub> kernel (nd)/boot/netboot init=/bin/sh root=/dev/nfs nfsroot=192.168.1.1:/ # mount /dev/hda4 /mnt # mount /dev/hda2 /mnt/boot # cd mnt # tar xvfz /cdrom/debian/dists/stable/main/disks-i386/current/base2_2.tgz # chroot . /bin/sh
以上は,サーバの/cdromに,Debian 2.2r0のCDROMの一枚 目がマウントされているときに行われた. これで,一応のシステムはできたはず. でも,カーネルが無いので,カーネルをサーバでコンパイル. 普通にUSBとかが利用できるようなので,USBとかをちゃんといれない と.
chroot内部でまず設定をする.まずtzselectコマン ドでtzを選択.Asia/Japanを選ぶ.また,よくわからないので, tzconfigでも,Tokyoに設定してみる.これくらいやっておけ ば時間は設定できるだろう. 時間が2000年6月1日とかになっているので,とりあえず,直 そう.date --setとかhwdate --set --dateとか適 当にやると,それっぽいかんじに設定されているみたい.
kbdconfigを実行し,i386/qwerty/jp106を選択. うまくいっているようだ.
カーネルはネットブートに利用しているシステムを そのままネットブート非対応にしただけのカーネルを構築. 一旦chrootから出て,それを/boot/bootstrapにコピーする. また,とりあえず,grub をインストールすることにしたいので, /boot/grubにネットブートに利用したstage1とstage2を移行. ネットワークで起動してくれれば,それのほうが良いと思う.リカバー するときとかね.
まず,/etc/network/interfacesを作成.
auto lo eth0 iface lo inet loopback iface eth0 inet static address 192.168.1.5 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
マスターからファイルをそのままコピーした. あと,/etc/fstabも必要か,と思われるので, マスターからファイルをコピーして,viで編集.簡単な感じにしておく.
/dev/hda4 / ext2 defaults,errors=remount-ro 0 1 /dev/hda3 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/hda2 /boot ext2 defaults 0 2 none /proc/bus/usb usbdevfs
あと,/etc/hostnameに vivareとかいておく.ホスト名は,こんなかんじだろう. /etc/hostsもつくっておくかな,必要ないのかな. 一通りできたとおもうので,bootstrapさせてみようと思う.
まず,grubをインストールして,フロッピーがなくても, ハードディスクから起動できるように しておく.
grub> root (hd0,1) grub> setup (hd0)
で,HDDにgrubがインストールされたはず.再起動したら, 良い感じでgrubが起動. で:
grub> kernel (hd0,1)/bootstrap root=/dev/hda4 grub> boot
で,とりあえず起動してみる.と,なんか,起動プロセスの途中で, 再起動させられた. どうやら,Debian boot floppiesの/sbin/unconfikgured.shが 残っていたらしい. というか,再起動しないんですけど.しかたがないので,
grub> kernel (hd0,1)/bootstrap root=/dev/hda4 init=/bin/sh grub> boot # fsck /dev/hda4 # fsck /dev/hda2 # mount -o remount,rw / # rm /sbin/unconfigured.sh # mount -o remount,ro / # reboot
これでどうやら起動したようなので, とりあえず必要そうなパッケージをNFS経由でインストール. mntにサーバの/をマウントして, deb file:/mnt/cdrom/ stable main と deb file:/mnt/cdrom/ stable/non-US main を/etc/apt/sources.listに追加. また,とりあえず,w3mとwgetをインストール,また build-essentialもインストール.また,忘れないうちに, menu.lstを作成:
title Bootstrap kernel (hd0,1)/bootstrap root=/dev/hda4
とりあえず,これで起動してみる. 起動には,30秒かかります. 遅いのか,早いのか微妙だけど, もうちょっと起動は最適化ができそうに期待. でも,とりあえずUSBは認識しているようだし,良かったかな.
現在の状況では,パスワードがshadowになっていないので, shadownconfig on というコマンドを実行. するとパスワードがshadowになったみたいだ. /etc/passwdから記載が消えた.
ネットワーク接続の良いところに移動してから, ネットワーク経由でおもむろにwoodyに全部をあげてみる. まずaptとdpkgをアップグレード. /etc/locale.genが作られなかったみたいなので, 作る:
ja_JP EUC-JP en_US ISO-8859-1
で,locale-genを実行.
カーネルをコンパイルするのに必要そうなものを全部woodyから取って 来る.bzip2とか,libncurses5-devとか. あと,longrunもいれてみる.カーネルにCPUIDが無 いから,だめだよ,と怒られるので,次はそうすることに.
何とも言えないが,とりあえず,カーネルを構築してしまうのが,先決 だとはおもいつつも,emacs21を利用したいので,それをイン ストール.あと,ついでにpcmcia-csとALSA関係を unstableから取得.gamixをいれると,gtkがバージョンアッ プしてしまうけど,気にしない事にする.というか,sidマシンにして しまって,良いか?
ごりごりいじる.X -configureで,設定ファイルを吐かせて, PS/2マウスの設定を書いたら,それでとりあえずの設定はできた. まだカーネルのコンパイルは終わらない...localhostが無い,とい うエラーが出るので,/etc/hostsに,127.0.0.1のエントリを 追加.でもエラーは関係無いみたいだった.よくわからないのでとりあえず無視.
X -configureでそれなりな設定ファイルがでているが, デフォルトで16色モードになっているようなきがするので, 24bitモードに変更.良い感じ. でも画面が小さすぎるよ? http://www.riise.hiroshima-u.ac.jp/~nagato/interest/PC/Libretto-install-memo.shtmlを 参考にコピペすると,画面が巨大に.
woodyにあげると,キーボードの設定がなぜか失われるので dpkg-reconfigure console-dataを行う.
新しいカーネルで再起動したら, AirH"のカードをさっくりと認識しているのに気づく. /dev/ttyS01らしい.でも,そんなデバイスないんですけど. とりあえず,/dev/ttyS1で接続した. pppconfigを実行して,適当に設定したら,接続したみたい. 最初電話番号をうちまちがえていたので,失敗したけど, ちゃんとしたらうまく動いた. .....##61を.....#61としてうちこんだら NO CARRIERというエラーしかでなくてあせりましたぜよ. とりあえず,一段落. cannaとか,いろんなサービスをインストールするか.
バッテリが節約されるように設定する必要がかなりあるので, 以下のことを考察: 画面の輝度を下げる, そして,HDDをsleepさせる. hdparm -S 1 /dev/hda とかにしてみる. cronとかは動いていない. klogd等は一時的に停止した.様子を見る,という感じだ. でもあまり影響がないようなので却下か.
おもむろに,x-ttcidfont-confあたりをインストール. これが自動ではいらないのは,おかしいよね?絶対. また,以下を追加しろ,とかいてあるので,追加.ここらへんを自動化したいんだが, どうにかしてくれないのかな.
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
最初は認識しなかったのだが,freetypeモジュールをロードするように設定したら, ちゃんとkochiフォントが認識された模様.まだHDDは500MBしかつかっていないぞ. 何をインストールしたら残りが消費されるのだろう...
とりあえず,qivとgqviewとgnuplotをインストール.良く考えると,まだTeX関連のものを何もインストールしていないのだな.
longrunはいれて,しばらくいじってみている. acpidも実験的にインストール. こいつをいれると電源スイッチで,shutdownができるようになるらしい. 本当にそうなったのにはすこしびっくり.
サウンドが動いてくれていないので, パッチをさがす. http://www.vidovic.org/augustin/pages/l1/ に微妙な感じで,2.4.9に対してのパッチらしきものがあった.
しかし,前出のパッチでは,まだ何かが足りないようだ.で,もう一つみつける. http://www.riise.hiroshima-u.ac.jp/~nagato/interest/PC/Libretto-install-memo.shtml になにかそれっぽいものを発見.arch/i386/kernel/pci-irq.c を編集すればよいということのようだ. おもむろにコンパイルしなおす. でも,なにかおかしい. 気付いたのは,/dev/snd/以下がないこと. ここらへんはdevfsに変更したほうがよいのだろうか. ノートパソコンだし.とりあえず,sh /usr/share/doc/alsa-base/examples/snddevices を実行した.これで無事に音がでるようになったようだ. 一体カーネルパッチが本当に効果があったのかが疑問になってきた. しかし,無かったことにしよう.
さて,syslogをちょっと読むと,ACPIDのメッセージが大量にでているのが見える. longrunの設定を電源ケーブルの状況に応じて設定するのが良いとおもわれるので,設定する. acpidの設定ファイル(/etc/acpi/default.sh)が どういう構造になっているのか, ということが分かったので以下のように変更してみた.:
#!/bin/sh # Default acpi script that takes an entry for all actions set $* case "$1" in button) case "$2" in power) /sbin/init 0 ;; *) logger "ACPI action $2 is not defined" ;; esac ;; ac_adapter) case $(cat /proc/acpi/ac_adapter/"$2"/status | awk '{print $2}') in off-line) logger "ACPI Power state change offline" longrun -s 0 0 longrun -f economy ;; on-line) logger "ACPI Power state change online" longrun -s 0 100 longrun -f performance ;; *) logger "ACPI ac_adapter $2 strange error" ;; esac ;; *) logger "ACPI group $1 / action $2 is not defined" ;; esac
必要なさそうなので,inetdを停止した. /etc/init.d/inetd stopとして, /etc/init.d/inetdの最初にexit 0を追加.
Xを起動時に起動させ,ログインさせる手法をとってみることにした. セキュリティー的には,もともと入っていたWindows MEと同程度のレベルにおさえるのが目標である. 電源をつけてから利用可能の状況になるまでをできるだけ高速にすることを目標とする. librettoはBIOSの起動が速いので,Linux使いとしては,起動を最適化するのを主眼とする. まず/etc/inittabに, 7:23:respawn:/bin/bash -c "/etc/init.d/local_startx start" という行を追加,/etc/X11/Xwrapper.configを以下のように変更した. ただ以下のようにすると,ログインできる人はリモートからXを起動できるようになる. すると,困る事になる.
allowed_users=anybody nice_value=-10
また,/etc/init.d/local_startxというものを作成. そこで,dancerというユーザ権限でXを起動するようにした.
#!/bin/bash #30 dec 2001. Junichi Uekawa. script to start up X at startup. case "$1" in start) su -c "/usr/bin/X11/startx -- :1 " - dancer ;; *) ;; esac
これで,Xが起動するまでが,楽になったはずである. 実際Xが起動するまでには,40秒しかかからない. しかし,emacs21を起動するまでには,パソコンの電源をつけてから, 1分20秒かかったことになる. emacs21は絶対に起動するのだから,起動時に自動で起動してしまってもよいと考えられる.
速度が多少不満なので,いろいろと不安もあるが, /bin/shをashにしてみる.ashをまずインストールして, cd /bin; ln -sf ash shとすると,ashがPOSIX shellとして利用されることになる.
これで起動したら,35秒くらいになったような気がする.5秒近く削減された,のだろうか.
noflushdを導入して,hdparmでsleepするようにしてみたが, 結構ハードディスクを読みに行く.特にcannaが変換するときにはかならずと言ってよいほどHDDにアクセスがかかるようだ. ということで,noflushdは,不安なので,却下.
きづいたらALSAが動いていないので, ちょっとちゃんと動かしてみる. /etc/alsa/modutils/0.9を編集して
alias snd-card-0 snd-card-ali5451
という行を追加するだけで,とりあえず設定ができる. あとは,update-modulesを行い, /etc/init.d/alsa restartをすればよい. 説明が全く書いていないのには困った. で,ogg123で再生してみるが,音が途切れるんですが. ちょっと軟弱すぎないか? と思ったが,xmmsをインストールしてみよう. あと,ヘッドホンを介してのビープ音が凄く大きいのですが. とりあえず,微妙な調節を行い,適切な音量になったと思う. gamixがお気に入りのミキサー
IP Masqueradeがしたいので,それっぽいカーネルオプションを全部つけてみて, 以下をうちこんでみる.
# iptables -t nat -P POSTROUTING DROP # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
しかしいろいろと試行錯誤してもうまくいかない.そこで, ipmasqパッケージをインストールした. すると,適当に自動で設定してくれたようである. 大量なruleが生成された.そして,無事にmasqueradeができるようになったようである.
platexを使いたいので,いれてみる. apt-get install ptex-bin yatex dvipdfm mikilab dvipsk-ja,というようにしてみた. 30MBダウンロードして,100MB利用してくれるようだ. あと,xdvik-jaも必要だろうか.
起動時にDIONに接続してほしいので, /etc/init.d/local_dionponというのを作成.
#!/bin/bash #1 Jan 2002. Junichi Uekawa. script to start up dion at startup. case "$1" in start) pon dion ;; *) ;; esac
update-rc.d local_dionpon defaults 91としてインストール. 多分これで起動したら自動でできるようになっているはず.
ALSAがやっぱり変なので,とりあえず,/etc/init.d/alsa restart したあとは動くのがわかったので,/etc/init.d/alsa restart をよぶスクリプトを書いておいた.対症療法すぎたようだが. 本当は,modconfで中途半端にALSA関係のモジュールをロードするように設定してしまっていて, そのせいでALSAがすでに初期化されていると勘違いして完全に初期化できないでいたようだ. あと,ログインする時に,自動でメールを取得するように設定.
librettoの/をext3に変更. まず,恐いのでinit 1でシングルユーザモードに切替える. その後,mount -o rw,remount /で書き込み読み込み可能な状況にしておいて, tune2fs -j /dev/hda4というように指定. あとは,/etc/fstabの/パーティションをext2 型に指定しているところをext3と書き換えるだけ.
/dev/hda4 / ext3 defaults,errors=remount-ro 0 1 /dev/hda3 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/hda2 /boot ext2 defaults 0 2 none /proc/bus/usb usbdevfs
これで起動時のfsck が異様にはやくなった.他のメリットはあるのだろうか. 一般生活に関しては速度の低下はあまりないようだ.
./data/20020110-kernel-patch-libretto-L2-2.4.17 にカーネルにあてたパッチをまとめておいておく. 利用してください.
ウェブサーバをインストールしようとして, apacheをいれようとすると, 大量に不要なものが入って来る. あまり大量に入って来るのは,ノートパソコンとして 好ましくないと思われる. そこで,まず,ssmtpをインストールする. ssmtpは送信しかしないMTAである.
メモリを購入. Buffaloの Micro DIMM 256MBを買って来た. さしたら動く.これ最高. 起動がすこし早くなったきもする.
画面の輝度を変更するためのカーネルパッチがあったので それをやっと試す. カーネルにパッチをあてて,menuconfigでYesにして, 再起動. libretto Debian woody wiki page. にあったパッチ. echo brightness:1 > /proc/acpi/toshiba/lcd のようにすると確かに画面がうすぐらくなります.
しかしながら,まだ外部出力ができていない模様?
ハードディスクがうるさいので,しずかにする方法を考えた. よこにおいてねても大丈夫なレベルにするのには, acpid,fetchmail,syslogd,klogd,thttpd 等を 停止し,hdparm -S 5 /dev/hdaくらいにしておけば良い. noatimeでファイルシステムをマウントする, 等の工夫も必要でしょう./tmpをtmpfsとして メモリ上においてしまうなら,さらにディスクアクセスは少なくなりそうです.
そろそろ一年たちます. 一回落して壊してしまったり,大容量バッテリーを装着して 10時間電池がくらいもつようになってしまったり, 二度のアメリカ旅行に持って行ったり, いろいろとありますが,あいかわらず使っています. emacsで作業が完結しているので,速度も気にならない...
一年間くらいカーネルを変更していないので, 一発気合いをいれて,構築しなおし. 2.4.20 のためにパッチを更新しました. kernel.orgの2.4.20 カーネルに対してのパッチです. どうやらどこにも無いようなので,こうやって作成. これからテスト.
テストするといろいろと変わっているのにおどろく. まず,バッテリーが今まで 1 番だったのが, 2.4.20だと0 番として認識される. /proc/acpi/battery/0にデータがおいてある. で,さらに/proc/acpi/toshiba/から/proc/toshiba/に 移動したらしい.面倒にスクリプトがいろいろと変わる. /etc/acpi/default.shにあるACPIのスクリプト.
一発気合いをいれて,外部モニタに出力できるのか,というのを確認. どうやら,できるみたいだ. echo crt_out:1 > /proc/toshiba/videoと入力してから 外部モニタを接続したら画面が出た. 1200x600を出したらすごく縦長に映る...
カーネル2.4.22になってパッチがいろいろとマージされているようだ(適当に流したので確認していない). とりあえず適当にコンパイルしてみた.LinuxZaurusをメインで持ち運んでいるので, 現在私のLibrettoはpppoeのためのルータとして余生を送っている.
diff -urN kernel-source-2.4.17/drivers/usb/usb-ohci.c kernel-source-2.4.17-hacked/drivers/usb/usb-ohci.c --- kernel-source-2.4.17/drivers/usb/usb-ohci.c Sat Dec 22 02:41:55 2001 +++ kernel-source-2.4.17-hacked/drivers/usb/usb-ohci.c Thu Feb 21 01:27:13 2002 @@ -69,7 +69,7 @@ #include <asm/system.h> #include <asm/unaligned.h> -#define OHCI_USE_NPS // force NoPowerSwitching mode +//#define OHCI_USE_NPS // force NoPowerSwitching mode // #define OHCI_VERBOSE_DEBUG /* not always helpful */ #include "usb-ohci.h"
$Id: libretto.html.ja,v 1.48 2005/05/19 22:27:48 dancer Exp $