IBM ThinkPad X20 で Debian を使う


4月14日

週末は大学には来ないつもりだったが,研究室の機材に用事ができてしまったので, 夕方からごそごそとやってきた.

この際だから,ThinkPad を Debian に洗脳してやろうと,メモリを交換し, 適当に Windows を起動してシステムの諸元を確認しながら,起動ディスクを作成して, さあやってやろーと,箱から FDD ドライブを取り出した. が,なんと USB FDD だった.

どうしたら良いのだろう?

4月15日

後輩に相談したところ,「BIOS がヨキに計らってくれるので,通常通りにブートするはずですよ」 とアドバイスしてくれた.では,と通常の rescue / root ディスクの組合わせでブートを試みる. すると,

end_request: I/O error, dev 02:00 (floppy), sector 0

というエラーが出て,root ディスクの読み込みに失敗する. つまり,1枚目のフロッピーはきちんと読み込まれるのだが,2枚目は駄目だということらしい. うーん,昔の Slackware ならフロッピー1枚だけの rescue ディスクなんてのもあったが, Debian ではそんなものは聞いたことがないぞ?

Google で検索をかけてみると幾つかのページが見つかった. それらの情報を総合すると,

  1. Windows 領域に必要なファイルを置き,loadlin を使って起動する方法
  2. USB FDD が使えるカーネルの installer を使う方法

のどちらかが可能なようだ.

とりあえず,Windows のネットワーク設定が良く分からないので,後者の方法を試みることにする. 最新の woody の installer は USB がモジュールになっているようなので, これならと試してみるが,まったく同じエラーで頓挫.

4月16日

インストールに成功した. 結局,研究室の拡張ドッキングステーションを借り出し,これに付属している CD-ROM から直接 boot することにした.それにしても, あまりにも簡単に CD-ROM から起動してしまったので,拍子抜けするほどだった.

  1. potato の CD-ROM を使い,最小限の環境のインストールを行う
  2. /etc/apt/sources.list を編集
  3. apt-get dist-upgrade
  4. Debian をインストールしている他の PC に導入されているパッケージのリストを得る
    dpkg --get-selections > file
  5. dpkg --set-selections < file
    ただし,kernel-image-*, pcmcia-modules-*, alsa-modules-*, userlink-modules-* など,再コンパイルが必要なパッケージは,あらかじめリストから削除しておく
  6. apt-get dselect-upgrade
  7. PPP によって外部と接続するユーザーは dialout グループに属している必要がある.
    % adduser foo dialout
    % adduser foo audio
    % adduser foo src
    

横田さんの記述を参考にして, kernel の再構築を行った(.config).

4月17日

Wnn6 をインストール

nvi-m17n を vi として利用するように alternatives を設定した.

update-alternatives --config vi

日本語を編集できるようにするため,~/.nexrc に以下のような記述を加えておく.

set noskipdisplay
set displayencoding=euc-jp
set inputencoding=euc-jp
set fileencoding=euc-jp
set autodetect=jp+

「全角/半角」キーが Esc キーとして解釈されるようにするため, /etc/X11/Xmodmap に以下の設定を追加しておく.

keycode 49 = Escape

testing は,unstable に登録されてから2週間以上バグ報告のないパッケージのみで構成されているので, 比較的安定している代わりに,一部のパッケージが利用できないことがある. しかし,最近の apt-get ならば PIN 機能というものが利用でき,この問題を容易に回避できる.

  1. /etc/apt/sources.list に unstable の APT line を追加する
  2. /etc/apt/apt.conf.d/99release に以下の設定を記述しておく
    APT::Default-Release "testing";
    
  3. 必要なパッケージをインストール. この時,パッケージ名に続けて release 名を追加することにより, 希望の release に含まれるパッケージをインストールすることができる.
    % sudo apt-get install w3m/unstable
    

noflushd が有効に動作するようにするため, [debian-users:25204] の記事を参考にして,/etc/init.d/sysklogd に以下の設定を記述しておく.

SYSLOGD="-m 0"

ネットワークの設定を見直した. 起動時に eepro100 モジュールが組み込まれるように /etc/modules に記述しておき, 更に /etc/network/interfaces に eth0 の設定を追加した. このように設定しておくと,以下のコマンドでネットワークの初期化・停止ができるようになる.

ネットワークを初期化する
ifup eth0
ネットワークを停止する
ifdown eth0

本当は,PCMCIA の設定と同様に,下宿と大学で設定が切り替えられるようにしたいのだけれど, うまくいかなかったので,また今度.

あまり使わないけれど,一応,音が鳴るように設定しておく. 基本的な手順はSS3330 と同じだが, 現時点の woody の alsaconf が古いため,X20 のサウンドカードの cs4281 がメニューに現れない. そこで,「Soundscards_based_on_CS4610/CS4612/CS4614/CS4615/CS4280」 を選択して alsaconf を一度終了し,その後で /etc/modutils/alsa を手作業で書き換える.編集後,update-modules の実行が必要なので注意. それから,最初は全ての音源に mute がかかっていて音が出ず, 暫く悩んでしまった.alsamixer を実行して,mute を解除する必要がある.

4月18日

SS3330 の場合と同様, suspend / resume すると音がうまく鳴らなくなる. /etc/alsa/alsa-base.conf に次の指定を加えておくと,この問題を回避できる.

force_stop_modules_before_suspend=true

無線LANの接続試験をしてみる. wireless-tools パッケージを導入しておいて, 確実に無線が届いているはずの場所に行ってみると, 拍子抜けするほど簡単につながってしまった.

jless のライン入力時に BackSpace キーを押すと,こちらの希望する「1つ前の文字を消す」という動作をせずに, 単に Control-H が入力されるので困っていた. この問題は,以下のような内容の設定ファイルを用意しておいて, jlesskey コマンドを実行すると解決された.

#line-edit
^H backspace
#env
LESS = -i

USB マウスを使えるように設定した.具体的な設定手順は以下の通り.

  1. デバイスファイルを作製する.
    mkdir /dev/input
    mknod /dev/input/mice c 13 63
    
  2. /etc/modules を設定して, mousedev などの必要なデバイスが起動時に読み込まれるようにしておく.
  3. /etc/X11/XF86Config に以下の設定を加えて,複数のマウスが参照されるようにする.
    Section "InputDevice"
    	Identifier	"USB Mouse"
    	Driver		"mouse"
    	Option		"SendCoreEvents"
    	Option		"Protocol"		"ImPS/2"
    	Option		"Device"		"/dev/input/mice"
    	Option		"ZAxisMapping"		"4 5"
    EndSection
    
  4. 上述の設定が Xserver に実際に組み込まれるように, "ServerLayout" セクションに以下の設定を追加する.
    InputDevice	"USB Mouse"
    

sary のパッケージを作成する.

cvs -w -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot export -d sary-1.0.3 -r HEAD sary
cd sary-1.0.3
./autogen.sh
make distclean
dpkg-buildpackage -us -uc -rfakeroot
4月19日

Windows 環境がどうしても必要になる場合に備えて,VMware を導入した.

wget http://vmware-svca.www.conxion.com/software/VMware-2.0.3-799.tar.gz
tar xzf VMware-2.0.3-799.tar.gz
cd vmware-distrib
sudo ./vmware-install.pl

この設定をいろいろと研究していると, フレームバッファに対応したカーネルにしなければならないようなので, カーネルの再構築を始めたが,これがあまりにも難物だった(その後, これは誤解であることが分かったので,普通の構成に戻した). 結局,Eldridge さんの記述を参考にしてパラメータを調節し(主なパラメータの値は以下の通り), /etc/lilo.confvga=0x317 という設定を加えることによって, 起動時にペンギンの絵が出るようになった.

CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB_ATY128=y
CONFIG_FBCON_ADVANCED=y
CONFIG_FBCON_CFB8=y
CONFIG_FBCON_CFB16=y
CONFIG_FBCON_CFB24=y
CONFIG_FBCON_CFB32=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

これで,VMware が使えるようになり,Windows が必要な場合も対応できるようになったのだが, システムがかなり不安定になってしまったようだ.頻繁に X が落ちるし, カーネルを巻き込んでフリーズすることもある. おそらくは,カーネルの再構築パラメータの問題だろうと思うので,もう少し調節が必要だろう. 少なくとも /etc/X11/XF86Config 中の Load "dri" という指定は外しておく必要があった(VMware を2回実行すると X が落ちてしまうので外していたのだが,XFree86 の更新によって関係なくなったようだ).

4月22日

VMware のドライバと APM の相性が良くないことが分かった. 具体的には vmnet.o などのドライバが組み込まれているときに, 同時に PCMCIA のモデムカードが挿入されていると,suspend に失敗する. どちらかが外れていさえすれば,問題なく suspend できる. 下宿からは TDK のモデムカードを利用して接続しているので,ちょっと困ったことになった.

そこで,内蔵されている Winmodem が使えないかと, バイナリ配布されているモデムのドライバ (linux595.zip) を入手して試してみた. 以前 DynaBook で試した時は, カーネルを巻き込んで頻繁にフリーズする上に,通信速度も極端に遅かったので, まったく使い物にならないという印象だったが,現在は通信速度も 33.6Kbps 程度出るようになり, かなりまともになっているようだ.

4月26日

これまで,mozilla の最新版については自前でパッケージ化して使っていたのだが, 北目さんがパッケージ化されていることに気が付いたので, 有難く利用させて貰うことにする.同じ場所に,Emacs21 のパッケージもあったので, これも利用させて貰うことにする.あらゆるものがパッケージだと非常に楽になりますねえ.

5月17日

とりあえず,何となく大抵のものは安定して使えるようになったみたいだ.

6月19日

gnuplot に日本語化パッチを適用してみる. しかし,公式サイトからはパッチが取れなかったので, ftp://ftp.ipc.chiba-u.ac.jp/pub/pub.yamaga/gnuplot+/3.7base/gnuplot3.7.1+1.2.0.patch.tar.gz を引っ張ってきた.作業手順は以下の通り.

apt-get source gnuplot
cd gnuplot-3.7.1p1
tar xzf ../gnuplot3.7.1+1.2.0.patch.tar.gz
patch -p0 -E <gnuplot3.7+1.2.patch
gzip -9c gp+/plus.dvi | uuencode plus.dvi.gz > gp+/plus.dvi.gz.uue
gzip -9c gp+/plus.pdf | uuencode plus.pdf.gz > gp+/plus.pdf.gz.uue
patch -p1 -E <gnuplot-ja-rules-patch
debchange -i
dpkg-buildpackage -rfakeroot -us -uc
sudo dpkg -i ../gnuplot_3.7.1p1-6.1_i386.deb
echo gnuplot hold | sudo dpkg --set-selections
6月23日

APM の設定がおかしいのだと思うが, 時々,resume に失敗してそのまま凍り付いてしまう. そこで,(少し後ろ向きな発想だが)凍り付いても安全だという ReiserFS に移行しようと考えた.

まず boot loader を,これまで利用していた lilo から grub に置き換える.

sudo apt-get remove lilo
sudo apt-get install grub
sudo grub-install /dev/hda
sudo update-grub

こうすると雛形になる /boot/grub/menu.lst が作成されるので,中身を確認して(必要なら修正してから), update-grub を再度実行する. 更に,/usr/share/doc/grub/README.Debian の指示にしたがって, /etc/kernel-img.conf を用意しておく. なお,あると便利なので grub の boot floppy も作成しておくと良い. Linux Journal の記事を参考にして,以下の手順で作成した.

# fdformat /dev/fd0
# mkfs -t minix /dev/fd0
# mount -t minix /dev/fd0 /floppy
# mkdir -p /floppy/boot/grub
# cp /usr/lib/grub/i386-pc/stage* /floppy/boot/grub
# grub
grub> root (fd0)
grub> setup (fd0)
grub> quit

…とりあえず,ここまで作業したところで今回は時間切れ. 今度はいつになることやら.

8月17日

kernel-2.4.7 を使い出してから,vmware の付属モジュールがコンパイルできなくなって困っていたのだが, ようやく対処法が見つかった.

8月21日

いつの間にやら,特にサウンドの設定を変更したわけでもないのに, 音が鳴らないようになってしまっていることに気が付いた. どうやら,alsa-0.5.x 系列から alsa-0.9.x 系列にカーネルモジュールが更新されているのに対して, alsa-utils パッケージが古いままである(同時に libasound2 もインストールされていない)ことが原因ではないかと予想している.明日確かめてみることにしよう….

8月22日

よくよく調べてみると,alsa-source-0.5 というパッケージが存在することに気が付いた. これを使ってモジュールを再構築(つまり,ダウングレード)してみると, 正常に鳴るようになった.とりあえず,これでおいとこ.

10月17日

/etc/X11/Xmodmap設定することによって, 「半角/全角」キーを Esc キーとして使っていたのだが, apt-get upgrade すると,設定が無視されるようになった.

原因は,XFree86 パッケージの方針変更らしい. Xsession のマニュアルの記述にしたがって, /etc/X11/Xsession.d/40custom_load-xmodmap を用意すると,以前と同様に /etc/X11/Xmodmap が利用できるようになる. 本当は,/etc/X11/XF86Config-4 で同等の設定ができれば良いのだろうけれど….

12月5日

環境に応じて,プリンタの設定を切り替えたい,と思うようになった.

12月26日

LTModem Drivers for Linux」で手に入るパッケージには, Debian パッケージを作成するためのスクリプトも同梱されているのですが, 作成されたパッケージにデバイスファイルが含まれていて, 複数のバージョンの異なるカーネルパッケージと共存させるのが難しいので, 適当に作り直した.

mknod /dev/ttyLT0 c 62 64
chown root /dev/ttyLT0
chgrp dialout /dev/ttyLT0
chmod 660 /dev/ttyLT0

[Top] / [Debian Tips] / [] / [作業日誌 2001年, , 2003年, 2004年]