IBM ThinkPad T42p に Debian をインストール

Last Updated at $Date: 2009-03-02 13:51:33 $.

注意事項
目次

作業日誌

(2005年〜)
5月17日

ひょんなことから,T42p を個人的に利用できることになった. 最初に BIOS アップデートを行い,続いて, Debian Installer RC3 のイメージを利用してインストールした.拍子抜けするほど簡単に終了.

6月21日

防火壁外から防火壁内のネットワークを透過的に利用する必要に迫られたので, 設定した

3月9日

gpdf などのツールバーの文字を消すには,gnome-control-center を起動して, 「メニューとツールバー」を選択し,「ツールバーのスタイル」を「アイコンのみ」にすれば良い.

3月10日

xfce4-terminal の設定変更を行うには,~/.config/Terminal/terminalrc を編集する.個人的には,初期ウインドウサイズの変更と,ツールバーを表示させておくために,以下のように編集した.

MiscDefaultGeometry=80x40
MiscToolbarsDefault=TRUE

Etch に更新したついでに,X11 の描画を高速化するべく,ATI の純正ドライバのインストールを試みる.

  1. 必要なパッケージのインストール.
    # apt-get install fglrx-driver fglrx-control fglrx-kernel-src mesa-utils
    
  2. kernel module のインストール.
    # module-assistant prepare
    # module-assistant a-i fglrx
    # modprobe fglrx
    
    ただし,drm などの kernel module が組み込まれていると入らないので, /etc/modulesfglrx を追加して再起動するのが簡単.
  3. /etc/X11/xorg.conf に以下のような記述を加える.
    Section "Device"
    	Identifier	"Generic Video Card"
    	Driver		"fglrx"
    EndSection
    
    Section "Extensions"
    	Option		"Composite"		"False"
    EndSection
    
  4. 以下のコマンドで動作確認.
    % fglrxinfo
    display: :0.0  screen: 0
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)
    OpenGL version string: 2.0.6011 (8.28.8)
    
    % glxinfo | grep direct
    direct rendering: Yes
    

ついでに,touchpad の設定も有効化しておいた.

3月25日

ふと気付くと,vpnc が,以下のようなエラーで接続できなくなっていた.

vpnc-connect: binding to 0.0.0.0:500: Address already in use

/etc/vpnc/default.conf に,以下の指定(random に port を選択)を追加して回避.

Local port 0
4月7日

パスワード情報を plaint text のファイルに保存しておくのはまずいなあと思ったので, EasyPG を使うように設定した. apt-get install easypg で簡単簡単…というようにはいかずに難儀した. 最終的に判明した手順は,以下の通り.

  1. apt-get install easypg gpg2 gpg-agent pinentry-gtk2
    • lenny ではさらに変化していて,以下のように指定する必要がある.(2009年3月2日)
      apt-get install easypg gnupg2 gnupg-agent pinentry-gtk2
      
  2. use-agent という指定を ~/.gnupg/gpg.conf に加える.
  3. (setq epg-gpg-program "gpg2") という設定を ~/.emacs に加える.

簡単じゃないかって? いや,ここに達するまでに2時間苦労したんですよ….

2月16日

lenny に更新.


初期設定


電源管理

(2005年5月18日)

持ち歩くことを想定しているので,電源管理にはちょっと気を使う. バッテリーによる駆動時間を伸ばすには,システムの負荷に応じて CPU の動作周波数を調節する CPUFreq が有効である. 2.4 系の kernel には CPUFreq の機能は組み込まれておらず, パッチを適用する必要があるのに対して, 2.6 系の kernel には CPUFreq の機能が最初から組み込まれている. ただし,CPUFreq の機能を利用するためには speedstep-centrino モジュールを組み込まなければならないが,このモジュールは ACPI が必須のようだ.

当初,APM で電源管理を行いながら CPUFreq を使おうとしたが, modprobe speedstep-centrino とコマンドを実行しても, No such device というエラーメッセージで拒否された.

そこで,kernel として linux-2.6.11 を利用し,ACPI を通じて電源管理を行うことにした. 最初に linux-2.6.11 と,/dev/ 配下を管理するための udevd を導入しておく.

# apt-get install kernel-image-2.6.11-1-686 udev

次に,ACPI を設定する.

  1. /boot/grub/menu.list を編集して, kernel の起動時パラメータ(kopt の行)に以下を追加.
    pci=noacpi acpi_sleep=s3_bios
    追加したら再起動.
  2. 再起動後,以下のコマンドで正常に suspend できることを確認.
    # echo 3 >/proc/acpi/sleep
  3. acpid を導入.
    # apt-get install acpid
  4. Fn+F4 キーが押されたことを検出して,適切なスクリプト /etc/acpi/sleepbtn.sh を呼び出すように, 設定ファイル /etc/acpi/events/sleepbtn を用意する.
  5. これで,Fn+F4 キーで suspend (ACPI で言うと S3 に移行)できるようになったはず.
  6. バッテリ残量を知るためのコマンドなどをインストール.
    # apt-get install acpi wmbattery
    従来は wmacpi を使っていたのだが,wmacpi-2.1 がうまく動かないので, 代わりに wmbattery を使うようにした.

次に,CPUFreq を設定する.

  1. /etc/modules に,以下の3つのモジュールを追加する.
    speedstep-centrino
    cpufreq_powersave
    cpufreq_userspace
    
    再起動するか,modprobe コマンドで手動で組み込む.
  2. 以下のコマンドで,現時点の CPU の動作周波数が調べられることを確認する.
    # cat /sys/devices/system/kernel/cpu/cpu0/cpufreq/cpuinfo_cur_freq
  3. 負荷に応じて CPU の動作周波数を調整するデーモン cpudyn を導入.
    # apt-get install cpudyn
    
  4. /etc/default/cpudyn に次の2行を追加して,ハードディスクのアクセスを停止するようにする.
    TIMEOUT=20
    DISKS=/dev/hda
    

無線 LAN の設定

(2005年11月30日)

以前,X31 用に無線 LAN を設定したときは, madwifi のソースを CVS 経由で取得してコンパイルした. この方法では,パッケージ管理下にないモジュールを利用することになるため,少し余計な注意が必要になって面倒だった.

最近,madwifi-source というパッケージが利用できるようになったらしいので,それを使ってみることにする.

  1. /etc/apt/sources.list に以下の指定を追加.
    deb ftp://debian.marlow.dk/ sid madwifi
    deb-src ftp://debian.marlow.dk/ sid madwifi
    
  2. # apt-get update
  3. # apt-get install madwifi-source
  4. % sh build-modules madwifi
  5. # dpkg -i madwifi-module-*.deb

X 環境の構築

(2005年5月23日)

TeX 環境の構築

(2005年5月20日)
基本設定

とりあえず,必要なバイナリパッケージをまとめてインストールする.

# apt-get install ptex-bin jbibtex-bin mendexk xdvik-ja dvipsk-ja dvi2ps dvipdfmx

それから,必要になりそうなクラスファイル,仮想フォントデータをインストールしておく.

# apt-get install okumura-clsfiles vfdata-morisawa5 dvi2ps-fontdata-ja dvi2ps-fontdata-n2a dvips-fontdata-n2bk
dvipdfmx の設定
  1. /etc/texmf/texmf.d/50dvipdfmx.cnf を編集して,以下の指定を加える.
    CMAPINPUTS = .;/usr/share/fonts/cmap/adobe-japan1//;/usr/share/fonts/cmap/adobe-japan2//:/usr/share/fonts/cmap/gs-cjk-resource//
    
  2. root 権限で update-texmf を実行する.
  3. pLaTeX2e 新ドキュメントクラス(= okumura-clsfiles)では,組版用に JIS フォントメトリック(= ptex-jisfonts)を使っている. このフォントを参照できるようにするため,/etc/texmf/dvipdfm/dvipdfmx.cfg を編集して, 以下の行を追加する.
    f jis-cjk.map
    
  4. /etc/texmf/dvipdfm/cid-x.map に以下の指定を追加する.
    ryumin-l    H Ryumin-Light
    gtbbb-m     H GothicBBB-Medium
    futomin-b   H FutoMinA101-Bold
    futogo-b    H FutoGoB101-Bold
    ryumin-l-v  V Jun101-Light
    gtbbb-m-v   V GothicBBB-Medium
    futomin-b-v V FutoMinA101-Bold
    futogo-b-v  V FutoGoB101-Bold
    

ここまでで,日本語フォントを埋め込まない PDF が作れるようになっているはず. しかし,海外に論文を投稿する場合などは,逆に日本語フォントを埋め込まないといけない場合がある. そのような場合は,以下のように PS フォント名の代わりにフォントファイル名を指定した cid-x.map をカレントディレクトリに用意する.

rml  H sazanami-mincho.ttf
gbm  H sazanami-gothic.ttf
rmlv V sazanami-mincho.ttf
gbmv V sazanami-gothic.ttf

TrueType フォントは,カレントディレクトリか kpathsea ライブラリに見つかる場所に置く必要がある. kpathsea ライブラリが探す場所は,以下のコマンドで調べられる.

% kpsewhich -progname=dvipdfm -show-path="truetype fonts"

参照したいフォントが,このパスに含まれていなかった場合は,以下のように環境変数を設定すれば良い.

% export TTFONTS=.:/usr/share/fonts/truetype//:

この設定は,/usr/share/fonts/truetype 以下の全てのサブディレクトリを検索対象に加えることを意味する.

ヒラギノフォントを利用する場合は,以下のような指定になる.

rml  H HiraMinPro-W3.otf
gbm  H HiraKakuStd-W5.otf
rmlv V HiraMinPro-W3.otf
gbmv V HiraKakuStd-W5.otf

ただし,Debian(sarge) に付属している kpathsea ライブラリは,OpenType フォントに対応していない. 正確には,OpenType フォントに対応した検索ルーチンが存在しない. そのため,dvipdfmx は,OpenType フォントを「その他のバイナリファイル」として検索する. その検索対象となるディレクトリは,以下のコマンドで調べられる.

% kpsewhich -progname=dvipdfm -show-path="other binary files"

例えば,~/.fonts/ 以下にインストールしているファイルを利用したい場合は, 以下のように環境変数を設定すれば良い.

% export DVIPDFMINPUTS=.:${HOME}/.fonts:
GhostScript の設定
  1. 必要なパッケージのインストール.
    • gs-esp
    • gs-cjk-resource
    • cmap-adobe-japan1
    • cmap-adobe-japan2
    • ttf-kochi-gothic
    • ttf-kochi-mincho
    • ttf-sazanami-gothic
    • ttf-sazanami-mincho
  2. [debian-users:42296] の指示にしたがって,gs-esp の参照する日本語フォントを dfontmgr を使って設定する.
その他

これで大体使えるようになっているが,/etc/texmf/dvipsj/config.ps に以下の指定を加えて,標準出力に出力されるように調整しておく.

% o |lpr
f
/usr/sbin/morisawa-config add

CD-R を書き込めるように設定

(2005年5月23日,6月17日)

2.6 系の kernel では,2.4 系とは異なり, ide-scsi モジュールを利用しないように変更された

という設定で動くはず.ただし,どうも CD-R のメディアを選ぶようだ. 640MB のメディアでは read/write error が頻発してまともに動かず, 700MB のメディアでは正しく書き込めた.


VMware の設定

VMware Workstation 5 の場合

(2006年03月09日)

VMware Workstation 4 までは,VMware 用にカスタマイズされた samba が付属していて, その設定ファイルに日本語設定を加えれば,日本語ファイル名も扱えた. VMware Workstation 5 になって,samba を経由せず,もっと簡単に使えるファイル共有が実装された…のだが, なんと日本語ファイル名が通らない. したがって,独自に samba をインストールしてやる必要がある.

  1. まずは,VMware Workstation 4 と同様の手順でインストールを行う. モジュールのソースは置き換えなくても良いようだ.
  2. samba をインストールし,以下のように /etc/samba/smb.conf を設定.
    [global] セクション
    • ファイル名の文字コードとして日本語 EUC を使うように設定.
      dos charset = CP932
      unix charset = EUCJP-MS
      display charset = EUCJP-MS
      
    • 外部からのアクセスを拒否するため,以下のようにインターフェースを制限しておく.
      bind interfaces only = yes
      interfaces = lo vmnet1
      
    [homes] セクション
    • ファイルを書き込めるように設定.
      writable = yes
      
  3. この段階で,適切にファイル共有ができるようになっているはずなので,確認.
  4. VMware よりも,Samba の方が遅く起動されるように,rc スクリプトの順序を調節しておく.
    # update-rc.d -f samba remove
    # update-rc.d samba defaults 95
    

VMware Workstation 4 の場合

(2005年5月19日)

まず,通常通りに以下の手順を実行して,インストールを試みる.

# tar xzf VMware-workstation-4.5.2-8848.tar.gz
# cd vmware-distrib
# perl vmware-install.pl

すると,vmnet モジュールのコンパイル中にエラーが発生して,インストールに失敗する. 掲示板での報告に従い,vmnet モジュールの source を更新した後で, vmware-config.pl を再実行すれば良い.

% wget http://ftp.cvut.cz/vmware/vmware-any-any-update90.tar.gz
% tar xzf vmware-any-any-update90.tar.gz
# cp vmware-any-any-update90/vmnet.tar /usr/local/vmware/lib/vmware/modules/source/
# /usr/local/vmware/bin/vmware-config.pl

VMware の仮想マシンから外部への通信は,Linux カーネルに組み込まれている NAT 機能を用いて転送する. このため,vmware-config.pl の実行時には,以下のように質問に答える.

その上で,/etc/vmware/vmnet1/dhcpd/dhcpd.conf に, 以下の指定を追加しておく.

option routers 192.168.xxx.1;

加えて,VMware 付属の samba が日本語ファイル名を正しく処理できるように, /etc/vmware/vmnet1/smb/smb.conf に以下の指定を加えておく.

code page directory = /usr/local/vmware/lib/vmware/smb/codepages
client code page = 932
coding system = EUC

これで,日本語 EUC のファイル名が正しく扱えるはずである.

VMware の仮想マシン上で稼働している OS から DNS をひけるようにするため, dnsmasq をインストールしておく.

# apt-get install dnsmasq

サウンド

(2005年5月19日)

以前苦労したのが嘘のように簡単.

# apt-get install alsa-base
# alsaconf
% alsamixer

画面切り替え用キーなどの設定

(2005年5月18日)

画面切り替え用キー(Fn+F7 キー)や音量調節キーなどが押されたことを検出するため, 以下のように設定する.

  1. module-assistant コマンドを利用して,thinkpad-module-2.6.11 パッケージを導入.
  2. /etc/modules に,以下の2つのモジュールを追加する.
    thinkpad
    nvram
    
    先に udevd をインストールしてあれば,modprobe nvram とモジュールを組み込むと,自動的に /dev/nvram が作成される. /sbin/MAKEDEV nvram などの操作は必要ない.
  3. 画面切り替え用キー(Fn+F3 キー)や音量調節キーなどが押されたことを検出するデーモン tpb を導入.
    # apt-get install tpb
    
  4. tpb を利用するユーザを,thinkpad グループと nvram グループに追加.
    # adduser username thinkpad
    # adduser username nvram
    
  5. これで,音量調節キーによる音量調節や,Fn+F7 キーによる液晶画面の切り替えなどの際に, 情報が表示されるようになるはず.

ibm_acpi モジュールを使うと,ウルトラベイの着脱もできるらしい.


設定ファイル集


リンク集


[Top] / [Debian Tips] / [ThinkPad T42p,X31,X20,s30,560 / Portage SS3330]