ThinkPad X200 のページです。 †秋葉原の Jungle にて購入。(2014-04-03, 4,300円(税別)) 仕様 †
ノートブック - ThinkPad X200 | Lenovo 日本 BIOS †光学ドライブが内蔵されていないので、BIOS を更新するには Windows 用のツールを使うか、CD ブートイメージを焼いて外付け CD-ROM ドライブから起動するのが普通である。Linux マシンなどでは USB pen drive から起動できると便利なので、少し調べてみた。 CD ブートイメージ †archlinux で cdrtools をインストールして、ISO イメージファイルの構成を調べる。 % isoinfo -d -i 6duj48us.iso Setting input-charset to 'UTF-8' from locale. CD-ROM is in ISO 9660 format System id: Volume id: 6DUJ48US Volume set id: Publisher id: Data preparer id: Application id: NERO BURNING ROM Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 19126 El Torito VD version 1 found, boot catalog is in sector 20 Joliet with UCS level 3 found. No SUSP/Rock Ridge present Eltorito validation header: Hid 1 Arch 0 (x86) ID 'NERO BURNING ROM' Cksum 8A FC OK Key 55 AA Eltorito defaultboot header: Bootid 88 (bootable) Boot media 4 (Hard Disk Emulation) Load segment 7C0 Sys type 6 Nsect 1 Bootoff 1B 27 論理レコードの大きさが 2,048 バイト、ブートオフセットが 27 なので、dd コマンドで HDD イメージファイルを抽出する。 % dd if=6duj48us.iso of=zoot.img bs=2048 skip=27 count=75744
19126+0 records in
19126+0 records out
39170048 bytes transferred in 0.063829 secs (613672181 bytes/sec)
改造 †MOD BIOS †純正の BIOS だと White List と呼ばれるリストに登録されている純正品以外のカードを内蔵すると 1802 エラーになるので、White List を無効にする BIOS に置き換えた。(メーカーの保証外の行為なので、あくまでも自己責任で) 無線LANカードの換装 †購入した状態では Intel WiFi Link 5100 (802.11a/b/g/n) が内蔵されていたが、802.11ac が使える Intel Wireless-AC 7600 が利用可能か実験のために換装した。5100 はフルサイズの miniPCIe に対して、7260 はハーフサイズ。本来ならばエクステンダーが必要だが、X200 のケースは、無線LANカードがささっている方のスロットがハーフサーズ用の穴もあいているので、そのまま交換すればよかった。なお、アンテナ線は3本あって、そのうちの1本は使われていなかった。 2014-09-24:ヤマハのサイトに WLX-302 と Intel 7260 との相性(?)に関するお知らせを発見。 一部無線端末にて「WLX302」との無線通信が停止してしまう現象について 2014/09/10 Intel社7260チップセットを採用した無線端末と通信できなくなる事例が発生しています。 症状が発生した場合はお手数ですが、ヤマハルーターお客様ご相談センターにご連絡ください。 au の Home Spot Cube に接続して、テレビを録画したファイルを rsync で転送したら、kernel panic を起こした。負荷をかけるとだめなのかもしれない。 /etc/modprobe.d/iwlwifi.conf options iwlwifi 11n_disable=1 options iwlwifi swcrypto=1 kernel のバグにより Intel 内蔵ビデオチップがレンダリングしない †起動時のコンソールに以下のエラーが表示され、Display Manager slim の画面がブラックアウトしてしまうことが多かった。 [ 2.923450] [drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 (valid? 1) head 0000dd74 tail 00000000 start 003eb000 [expected 003eb000] [ 2.923473] [drm:i915_gem_init] *ERROR* Failed to initialize GPU, declaring it wedged ぐぐってみると、最新のカーネルで発生する現象のようで、パッチも公開されている。また、repo-ck だとこのエラーが発生しないという報告もある。 /etc/pacman.conf に以下の内容を追加する。 #Linux Kernel and modules with Brain Fuck Scheduler v0.415 and all the goodies #in the ck2 patch set. [repo-ck] Server = http://repo-ck.com/$arch graysky の公開鍵を追加して、レポジトリを更新する。 $ su - $ pacman-key -r 5EE46C4C && pacman-key --lsign-key 5EE46C4C $ sudo pacman -Syy linux-ck をインストールする。 $ sudo pacman -S ck-core2 :: 7 個のパッケージがグループ ck-core2 に含まれています: :: リポジトリ repo-ck 1) broadcom-wl-ck-core2 2) linux-ck-core2 3) linux-ck-core2-headers 4) nvidia-304xx-ck-core2 5) nvidia-ck-core2 6) virtualbox-ck-guest-modules-core2 7) virtualbox-ck-host-modules-core2 選択して下さい (デフォルト=all): 2 3 回線が細いせいため、一度にはダウンロードできなかったので、何度か同じコマンドを実行する必要があった。/etc/pacman.conf を編集し、wget でダウンロードするようにすれば、何度もリトライしてくれるので便利。 XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u /etc/default/grub を以下のように変更する。 GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi=Linux zswap.enabled=1 zswap.compressor=lz4 resume=/dev/mapper/VolGroup00-Swap quiet elavator=bfq"
GRUB_CMDLINE_LINUX="
grub を更新 $ sudo grub-mkconfig -o /boot/grub/grub.cfg
再起動する。 linux 3.16.3-1 の場合の dmesg | grep drm [ 1.629004] [drm] Initialized drm 1.1.0 20060810 [ 1.829070] [drm] Memory usable by graphics device = 2048M [ 1.829073] [drm] Replacing VGA console driver [ 1.829078] fb: switching to inteldrmfb from VESA VGA [ 1.853076] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 1.853077] [drm] Driver supports precise vblank timestamp query. [ 2.016782] [drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 (valid? 1) head 0000cac8 tail 00000000 start 003eb000 [expected 003eb000] [ 2.016808] [drm:i915_gem_init] *ERROR* Failed to initialize GPU, declaring it wedged [ 2.086722] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5 [ 2.149116] fbcon: inteldrmfb (fb0) is primary device [ 2.655665] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device [ 2.711649] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0 linux-ck-core2 3.16.3-1 の場合の dmesg | grep drm [ 1.400522] [drm] Initialized drm 1.1.0 20060810 [ 1.659966] [drm] Memory usable by graphics device = 2048M [ 1.659969] [drm] Replacing VGA console driver [ 1.659974] fb: switching to inteldrmfb from VESA VGA [ 1.666075] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 1.666076] [drm] Driver supports precise vblank timestamp query. [ 1.786060] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5 [ 1.820949] fbcon: inteldrmfb (fb0) is primary device [ 2.337025] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device [ 2.351667] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0 情報 †
GRUB のパラメータ †バッテリーの持ちをよくしたり、性能を上げるためにカーネルオプションを指定するような記事が散見されるが、Lenovo ThinkPad X200 - ArchWiki - GRUB kernel parameterによれば、最近のカーネルはそれらのパラメータが最適されているので、ミュートボタンを有効化するのとハイバネーションからの復帰が早くなるように以下のパラメータだけ設定すれば良い。 /etc/default/grub を以下のように変更する。 GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi=Linux zswap.enabled=1 zswap.compressor=lz4 resume=/dev/mapper/VolGroup00-Swap quiet"
grub を更新 $ sudo grub-mkconfig -o /boot/grub/grub.cfg
再起動する。 音が出ない †vlc などのソフトで音が出なかった。alsa-utils をインストールして、X61 のように xbindkeys で ボリュームボタンが有効になるようにすればよい。 $ sudo pacman -S alsa-oss alsa-utils xbindkeys
X61 でのボリュームボタン有効化と同様の設定を行う。 % xbindkeys -d > ~/.xbindkeysrc
以下の内容を ~/.xbindkeysrc に追加。 # Increase volume #"amixer set Master 2dB+" ←dBで指定すると、Invalid command で不可だった。 "amixer set 'Master' 5%+" XF86AudioRaiseVolume # Decrease volume #"amixer set Master 2dB-" "amixer set 'Master' 5%-" XF86AudioLowerVolume # Toggle mute "amixer set Master toggle" XF86AudioMute また、CTRL+F や CTRL+中ボタンで xterm が起動してしまうので、以下の行をコメントアウトしておく。 # set directly keycode (here control + f with my keyboard) "xterm" c:41 + m:0x4 # specify a mouse button "xterm" control + b:2 .xinitrc に awesome を起動する前に xbindkeys を実行するよう記述する。 xbindkeys ←追加
exec awesome
Beep 音が出ないようにする。 †逆に、firefox などで Beep 音が出てうるさい場合は、xset -b を実行すれば良い。awesome の場合、.xinitrc に追加する。 xbindkeys
xset -b
exec $1
|