2012/09/30 Debian on ThinkPad X20メモ

Debian on ThinkPad X20

The Debian GNU/Linux on the IBM/Lenovo ThinkPad X20

目次

  • 仕様
  • インストール前の準備
  • ThinkPad X20へのインストール概要
  • Squeeze(Debian 6.0)インストールメモ
  • Lenny(Debian 5.0)インストールメモ
  • Etch(Debian 4.0)インストール
  • Etch testing(testing 2007-03-10)インストール(2007-03-10)
  • X20備考

1. 仕様

1.1. ThinkPad X20 (2661-24J)

2. インストール前の準備

3. ThinkPad X20へのインストール概要

3.1. インストールしたリリース

  • Squeezeのインストールもできました。(2010-02-26)
  • Woody、Sarge、Sargeの頃のSid、Etch、Lenny、致命的な問題なくインストールできた。
  • EtchからLennyへのアップグレードも問題なくできた。X20のような古いPCの場合はGnomeよりxfce4の方が軽快に動作するが、Lennyから加わったLXDEはさらに軽快に動作する。
  • Sidだと何かの際にマシンダウンすることが多くなった。stableを基本に使う方がよい。
  • etch(2007-03-17)インストール可能。(2007-03-18 追記)
  • etch(Debian 4.0)インストール可能。(2007-05-03 追記)
  • lenny(Debian 5.0)インストール可能。(2009-02-27 追記)
  • なおFreeBSDも問題ない。
  • しかしCPUが遅いのでmakeの多いFreeBSDのインストールは時間がかかる。

3.2. RTC バッテリー (バックアップ・バッテリー、CMOS バッテリー) 交換

  • OSのインストールとは無関係ですが、マザーボード上の内蔵電池であるRTC バッテリー (バックアップ・バッテリー、CMOS バッテリー)が切れたため交換しました。電池はCR2025 (電圧3V) です。
  • 電池が切れるとCMOSの保存ができなくなるため、システム・クロック(ハードウェア・クロック)が保持できず、電源ONの時に初期状態になります。ThinkPad X20ではこの時BIOS画面になり、時刻を再設定しなければならなくなり、PCは起動するのですが面倒です。
  • ボタン電池を入れ替えるだけなら簡単なのですが、ThinkPadの場合はコネクターと絶縁膜がついているためちょっと面倒です。しかし、電池を取り出しコネクターをセロテープで止めれば電池交換できます。元の電池から0.1mmくらい接着されたコネクターを外すのが少々手間ですが、丁寧に外しました。
  • なお、電気部品屋で互換部品を売っているそうです。1200円くらい。

3.3. ハードディスクを SSD に交換

  • CFD の CSSD-PM32NJ に交換した。
    • IDE(PATA)インターフェースのSSDで11,000円程度。
    • 順次書き込みなどはSATAの3.5インチHDDの方が速いそうですが、PATA(IDE)の2.5インチHDDと比べればSSDの方が全般的に良さそう。
  • OS起動とアプリケーション起動が速くなった。3分かかっていたOS起動が1分程度になった。
  • HDDの音がせずとても静かなPCになった。慣れないうちは妙な感じがする。
  • HDDでの起動時間
    • 1分50秒、gdm起動
    • 2分50秒、xface起動
    • 3分00秒、壁紙とアイコンの表示完了
  • HDDでの起動時間(swapをtmpfsにしたとき)
    • 1分12秒、gdm起動
    • 2分25秒、xface起動
    • 2分42秒、壁紙とアイコンの表示完了
  • SSDでの起動時間
    • 45秒、gdm起動
    • 1分05秒、xface起動
    • 1分25秒、壁紙とアイコンの表示完了

3.4. SSD への Debian インストール

  • インストールはDebianのCDの1枚目を作成して行いました。ネットワークインストールでも大丈夫だと思います。
  • インストール時にはスワップパーティションを使った。X20は性能面で心配なのでスワップがある方がインストールが順調に行くと思ったからです。インストールをやり直すとSSD寿命を縮めそうなので。
  • HDDへのインストールと同じ手順でSSDにインストールできます。
  • SSDの寿命を延ばすためにスワップパーティションを外し、tmpfsを設定しました。
    • tmpfsはsizeオプションを使わないと物理メモリ容量の半分まで使えるようになります。使用メモリ+tmpfsで使用した容量(/tmp等)が物理メモリ容量を超えてしまうとメモリ不足になりますが、その場合はsizeオプションで調整すればよいので、先ずは制限しないで様子を見てます。マシンダウンしたらHDDが壊れることが一番心配でしたが、SSDだとメモリマシンですから。
    • "tmpfs /tmp tmpfs defaults 0 0"という一行を追記します。
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
#/dev/hda1       /               ext3    noatime,errors=remount-ro 0       1
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /  ext4    discard,noatime,commit=600,errors=remount-ro 0       1

#/dev/hda2      none            swap    sw              0       0
tmpfs           /tmp            tmpfs   defaults        0       0
tmpfs           /var/log        tmpfs   defaults        0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
  • メモリキャッシュからDiskへの書き込み頻度を5秒から15秒に延ばします。
    • /etc/sysctl.conf に "vm.dirty_writeback_centisecs = 1500" という一行を追記します。
変更前
$ sudo sysctl -a | grep vm.dirty_writeback
vm.dirty_writeback_centisecs = 500

変更
$ sudo vi /etc/sysctl.conf
------
vm.dirty_writeback_centisecs = 1500
------
  • なお、swapパーティションを使う場合、/etc/sysctl.conf に "vm.swappiness=0" という一行を追記すれば可能な限り swap を使わないように動作するそうです。
3.4.1. Firefoxの設定
  • キャッシュの確認
    • ロケーションバーに about:cache と入力
  • キャッシュ・ディレクトリの変更
    • ロケーションバーに about:config と入力、細心の注意を払って使用するにOKする
    • 右クリックし、新規作成の文字列を選択
    • 設定名に browser.cache.disk.parent_directory
    • 文字列の値 /tmp

3.5. Woody、Sarge、Sargeの頃のSidインストールメモ

  • ウルトラベース×2、USB接続の外付けCDのどちらでもCD-ROMブート可能。(BIOSの設定でFDD→CD→HDDの順)
  • LANカードはインストーラが認識。
  • USBも問題なし。(X20のUSBポートはUSB1.0)
  • GNOME、KDEともディスプレイは正常に動作。
  • 無線LANは内蔵されていないが、IO・DATAのWN-AG/CB3(Atheros 5212)を使用。mdiswrapperでも認識したがmadwifi使用。WPA-PSKが上手く行かずWEPで使用。

4. Squeeze(Debian 6.0)インストールメモ

4.1. 新規インストール

  • netinst CDを使ってインストールできました。
  • 途中、e100/d101s_ucode.bin が必要というメッセージで止まります。firmware-linux-nonfree_0.28_all.deb をUSBメモリに入れて読み込ませればOKです。

5. Lenny(Debian 5.0)インストールメモ

5.1. etchからのアップグレード

  • /etc/apt/sources.listの指定をstableかlennyにする。
  • あとはリリースノートに従いアップデートする。時間は1時間くらいかかる。
$ sudo aptitude update
$ sudo aptitude clean
$ sudo aptitude install aptitude
$ sudo apt-get install apt
$ sudo aptitude upgrade
$ dpkg -l libfam0c102 (もしインストールしていれば aptitude install libfam0 を実施。私のPCには入っていなかった。)
$ aptitude dist-upgrade

5.2. 無線LANカードのセットアップ

  • 使用したPCカードは IO・DATAのWN-AG/CB3(Atheros 5212)。
  • アクセスポイントは802.11a、WPAで暗号化。802.11g、WPAでもOK。
$ sudo aptitude install madwifi-source madwifi-tools (最新だったが念のため)
$ aptitude search linux-headers-2.6.26-1-686
$ sudo aptitude install linux-headers-2.6.26-1-686
$ sudo m-a prepare
$ sudo m-a a-i madwifi
$ sudo modprobe ath_pci
$ dmesg (確認)
  • WPAの場合、/etc/network/interfaces に下記のように記述します。
  • wpa-psk は wpa_passphrase [ssid] [passphrase] で生成します。
iface ath0 inet dhcp
wpa-driver wext
#wpa-driver madwifi
wpa-ssid xxxxxxxx
wpa-pairwise CCMP TKIP
wpa-group CCMP TKIP
#psk="yyyyyyyy"
wpa-psk zzzzzzzzzzzzzzzzzzzzzzzzzzz
  • WEPの場合、/etc/network/interfaces に下記のように記述します。
iface ath0 inet dhcp
wireless-essid "xxxxxxxxx"
wireless-key yyyyyyyy
  • WEPキーは後からコマンドラインで入力した方がよいかも知れません。sudo iwconfig ath0 key s:yyyyyyyy
  • /etc/network/interfaces に書く wireless-key は 16進数で表現した方がよいかも知れません。echo -n "yyyyyyyy" |hexdump -C の出力をスペースなしで貼り付けます。
  • Wifi-radar での設定と、iwconfig コマンドでのキー入力でも接続できると思います。

5.3. Bluetoothセットアップ

  • X20にはBluetoothはついてないが、PLANEXのBT-MicroEDR2Xを使った。USBポートに挿すBluetoothアダプタ。(X20はUSB1.0)
  • BT-MicroEDR2XはUSBポートに挿すだけでよい。ドライバは標準のものでよい。なお、BT-MicroEDR2Xは非常に小型なので右側面に挿すとX20の形状の関係で上から埋まって見えなくなる。突き出して引っかかることがないのはよいが、指が入らず抜き取りはしにくい。
  • dmesg、hcitool、hciconfigなどで確認できる。
$ dmesg |grep Blue
[   30.763425] Bluetooth: Core ver 2.11
[   30.875562] Bluetooth: HCI device and connection manager initialized
[   30.875633] Bluetooth: HCI socket layer initialized
[   31.030344] Bluetooth: HCI USB driver ver 2.9
[   94.402409] Bluetooth: L2CAP ver 2.9
[   94.402495] Bluetooth: L2CAP socket layer initialized
[   94.469603] Bluetooth: RFCOMM socket layer initialized
[   94.469744] Bluetooth: RFCOMM TTY layer initialized
[   94.469816] Bluetooth: RFCOMM ver 1.8
[  988.443567] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

$ hcitool dev
Devices:
 hci0 xx:xx:xx:xx:xx:xx

$ sudo hciconfig -a
hci0: Type: USB
 BD Address: xx:xx:xx:xx:xx:xx ACL MTU: 310:10 SCO MTU: 64:8
 UP RUNNING PSCAN 
        (中略)
 HCI Ver: 2.1 (0x4) HCI Rev: 0x12e7 LMP Ver: 2.1 (0x4) LMP Subver: 0x12e7
 Manufacturer: Cambridge Silicon Radio (10)
  • SONYのBluetoothマウスVGP-BMS33を使う手順。
  • hcitoolでデバイスのIDを調べ、hiddコマンドで接続する。
$ hcitool scan
Scanning ...
 xx:xx:xx:xx:xx:xx VGP-BMS33
$ sudo hidd --connect xx:xx:xx:xx:xx:xx
  • sudo hidd --search でも接続できるが、近所の家の知らないデバイスがつながってしまうかも知れないので注意。
$ sudo hidd --search
Searching ...
 Connecting to device xx:xx:xx:xx:xx:xx
  • hiddデーモンをブート時に自動起動するには /etc/default/bluetooth を編集する。
#HIDD_ENABLED=0
HIDD_ENABLED=1
  • Gnomeの[システム]-[設定]ー[Bluetooth]で接続したデバイスを「信頼済み」にしておく。

6. Etch(Debian 4.0)インストール

6.1. 全般的なメモ

  • netinst CD にて普通にインストールできる。CD-ROM起動後、installgui でも可能だが、Alt+F2 で裏画面にはいけなかった。

6.2. Etch(Debian 4.0)インストールメモ (無線LANカードのみの場合)

  • 特殊な事例だが、インストールに使用した X20 のNICが壊れており、下記の手順でインストールした。

6.3. インストーラによるセットアップ

  • インストーラでできるところまでインストール。NICがなくてもインストールを完了させることはできる。

6.4. 無線LANカードのセットアップ

  • 使用したPCカードは IO・DATAのWN-AG/CB3(Atheros 5212)。
  • madwifi-source と module-assistant をインストールするため、必要なパッケージをダウンロードし、CFカードに入れてコピーする。netinst CDに含まれるものはダウンロード不要。apt-cache search xxxxx で確認できる。
  • http://www.debian.org/distrib/packages で検索し、依存するパッケージもダウンロードする。
bzip2_1.0.3-6_i386.deb
build-essential_11.3_i386.deb
debhelper_5.0.42_all.deb
dpkg-dev_1.13.25_all.deb
g++_4.1.1-15_i386.deb
g++-4.1_4.1.1-21_i386.deb
gcc_4.1.1-15_i386.deb
gcc-4.1_4.1.1-21_i386.deb
gettext-base_0.16.1-1_i386.deb
gettext_0.16.1-1_i386.deb
html2text_1.3.2a-3_i386.deb
intltool-debian_0.35.0+20060710.1_all.deb
kernel-package_10.067_all.deb
libc6_2.3.6.ds1-13_i386.deb
libc6-dev_2.3.6.ds1-13_i386.deb
libiw28_28-1_i386.deb
libstdc++6-4.1-dev_4.1.1-21_i386.deb
linux-kernel-headers_2.6.18-7_i386.deb
madwifi-doc_0.9.2+r1842.20061207-2_all.deb
madwifi-source_0.9.2+r1842.20061207-2_all.deb
madwifi-tools_0.9.2+dfsg-1_i386.deb
make_3.81-2_i386.deb
module-assistant_0.10.8_all.deb
patch_2.5.9-4_i386.deb
perl_5.8.8-7_i386.deb
po-debconf_1.0.8_all.deb
wireless-tools_28-1_i386.deb
  • dpkg -i xxxxxxxx.deb でインストールしてみて、依存パッケージがない旨のエラーが出たらそちらを先にインストールする。
  • なお、CFカードのマウント例は次の通り。 mount /dev/hde1 /root/cf (/root/cf ディレクトリはあらかじめ作成する。)
  • パッケージ導入後のコマンドは次の通り。
# m-a prepare
# m-a a-i madwifi
# lsmod | grep ath (確認)
# modprobe ath_pci
# dmesg (確認)
...
/etc/network/interfaces を編集
auto ath0
iface ath0 inet dhcp
wireless_ap xx:xx:xx:xx:xx:xx
wireless-essid xxxxxx
wireless-key xxxxxxxxxxxxxxxxxx
...
ifup ath0
  • 無線LANは近所のアクセスポイントにつながってしまうことがあるので、自分のアクセスポイントを指定する。只乗りを喜んではいけない。もしかしたら罠やハニースポットかも知れないので。

6.5. 有線LANカードの使用

  • IO DATAのCBET100-CL (CardBus PCカード)
    • 挿すだけで認識され、eth1~3(あたり)のインターフェースとして使用可能となるので、Gnomeの「ネットワークの設定」や /etc/network/interfaces を設定するだけでよい。
noauto eth3
iface eth3 inet dhcp
    • ドライバは8139tooが自動的に設定された。ドライバが入っているのでmodprobeやinsmodをする必要がない。
    • また、インストーラでも自動認識するのでインストールにも使えそうです。
    • /etc/udev/rules.d/z25_persistent-net.rules は自動で設定されるのでインターフェース名は安定する。
    • ドライバ・モジュール /lib/modules/2.6.18-5-686/kernel/drivers/net/8139too.ko
    • メッセージなど
#dmesg
pccard: CardBus card inserted into slot 0
8139too Fast Ethernet driver 0.9.27
PCI: Enabling device 0000:02:00.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:02:00.0 to 64
eth0: RealTek RTL8139 at 0x1400, 00:a0:b0:86:79:55, IRQ 11
eth0:  Identified 8139 chip type 'RTL-8139C'

#lspci
02:00.0 Ethernet controller: Abocom Systems Inc RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter (rev 10)

#lsmod | grep pcmcia
pcmcia                 34140  0
firmware_class          9600  1 pcmcia
pcmcia_core            36852  3 pcmcia,yenta_socket,rsrc_nonstatic

# lsmod |grep 8139too
8139too                25120  0
mii                     5344  2 8139too,e100

# cardctl ident
Socket 0:
  product info: "IO DATA", "CBET100CL"
  manfid: 0x0000, 0x024c
  function: 6 (network)
  • IO DATAのETX-PCM (CardBusと16ビットPCカードスロットの両方に対応)
    • ドライバはaxnet_csだと思うが上手く設定できない。PCIカードとして認識させることができない。挿せばcardctlやpccardctlコマンドでPCカード情報を見ることはできるがそこまで。ThinkPad X20はCardBus対応のスロット、同じくThinkPad T60でも現象は同じ。
    • 下記の/etc/pcmcia/local.conf (またはconfig)への設定とreloadではだめだった。axnet_csのロードはできるが認識されない。他のディストリビューションでは上手く行くらしい。
# cat /etc/pcmcia/local.conf
card "IO DATA ETX-PCM Fast Ethernet Adapter"
  version "IO DATA", "ETXPCM", "3.0", "AX88190"
  #manfid 0x0149, 0xc1ab
  bind "axnet_cs"

# cat /etc/pcmcia/network.opts
(省略)

6.6. X Window System 、xfce の導入

  • apt-get install xserver-xorg
  • xfce4 の導入
    • apt-get でも可能だが、aptitude の「タスク」ー「エンドユーザ」ー「Xfce デスクトップ環境」を全てインストールした。Gnomeも一部導入される。セッションマネージャーは gdm が入る。
  • フォントの追加
    • apt-get install xfonts-base
    • これを追加する前にstartx あるいは startxfce4 をすると could not open default font 'fixed' エラーになる。
  • dpkg-reconfigure xserver-xorg
    • /etc/X11/xorg.conf の "XkbLayout" が上手く設定できなかったので次の通り修正する。
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "jp106"
        Option          "XkbLayout"     "jp"

6.7. きれいな日本語フォントの追加

  • apt-get install ttf-kochi-gothic ttf-kochi-mincho ttf-vlgothic

6.8. 日本語入力の導入

  • apt-get install uim uim-anthy
  • キーマップの修正
    • セットアップが中途だったせいかも知れないが、アンダーバーと半角/全角が使えなかったので下記の通り修正。
    • xmodmap -pke (確認)
    • xev (確認、キーを打って keycode を確認する。)
    • xmodmap -e 'keycode 211 = backslash underscore'
    • xmodmap -e 'keycode 49 = Zenkaku_Hankaku'
    • なお、zenkaku-hankaku ではダメ。

6.9. xfce の一般ユーザでシャットダウンを可能にする設定。

  • visudo コマンドで下記を追加。
    • ALL ALL=NOPASSWD: /usr/sbin/xfsm-shutdown-helper

7. Etch testingインストール(2007-03-10)

  • testing段階のEtchをインストールしたときのメモ

7.1. 無線LAN

  • NICの自動認識は失敗するがベースパッケージインストール後に手動設定可能。
    • モジュールはロードされておりeth0との紐付けがインストーラではできないよう。
    • echo 'alias eth0 eepro100' > /etc/modprobe.d/eepro100
  • 無線LANも可能。etchなのでmadwifiをapt-getで素直にインストールすることができる。
apt-get update
apt-get install linux-headers-2.6.18-4-686
apt-get install madwifi-source madwifi-tools madwifi-doc

m-a prepare
m-a a-i madwifi

echo 'alias ath0 ath_pci' > /etc/modprobe.d/ath_pci
/etc/network/interfaces を編集
ifup ath0
  • Xインストール問題なし。解像度を指定するだけ。
    • apt-get install x-window-system
    • apt-get kde kde-i18n-ja
    • kde-core kdm ttf-sazanami-mincho ttf-sazanami-gothic ttf-vlgothic x-window-system-core xserver-xorg uim-xim uim-qt kde-i18n-ja

7.2. 日本語入力

  • apt-get install im-switch scim scim-anthy
    • 日本語入力開始に漢字キーを追加。(既定はCtrl+Space)
    • SCIMを設定の[全体設定]の[ホットキー]の[開始/終了]に"Control+space,Zenkaku_Hankaku"を設定。

7.3. ブラウザ

  • 標準のIceweasel使う。
    • Firefoxのアドオンは大抵追加可能。Gmarksも追加できた。
  • Firefox をダウンロードしてインストール
    • ライブラリが不足して起動できない場合。sudo apt-get install libstdc++5
    • プラグインはコピーする。 cp /usr/lib/flashplugin-nonfree/* ~/firefox/plugins
    • Firefox を入れればGoogle Toolbar はGoogleの手順通りにインストールできる。
  • Firefoxを使わないで Google Toolbar をインストールするためには。

8. X20備考

  • miniPCIのNICのEEPROMが壊れたようで(?)電源投入後下記のエラーが出る。
    • Windows XPではNICは使えるのでLinuxでも何とかなると考えた。
    • DebianインストーラでNICが自動認識できない原因かと考えたが無関係かも知れない。
    • ネットワーク設定のところでIntel 8255(eepro100)を指定してインストール続行できた。ただし、ベースパッケージ以外は後からインストールすることになった。途中でAlt+F2のコンソールで設定できるかも知れない。
PXE-E05: The LAN adapter's configuration is corrupted 
or has not been initialized. The Boot Agent cannot continue.
  • たまたま入手できた別のminiPCIのNICに交換したところエラーは消え、有線LANも使えるようになった。
--y(2006-12-04)

コメント

このブログの人気の投稿

systemd-resolveの設定(Ubuntuなどの動的DNS設定)

GRUB起動メニューのタイムアウト時間、起動するOSの変更

Salesforce Trailheadチャレンジメモ(Apex の基礎とデータベース)