ThinkPad X61s 15th Anniversary Edition に FreeBSD を入れる
2007.12.04. に購入ボタンを押して 2007.12.30. にペリカンが運んできた Lenovo の ThinkPad に、FreeBSD な環境を構築した記録です。
目次
総論
- メモリが潤沢なのは単純に嬉しい。
- 母艦に DHCP/TFTP/NFS サーバを組み、ネットワークインストールがお勧め。
- サイズは小さいはずなんだけど、ベゼルがスリムなので画面の狭さは感じない。
- 画面の発色は伝統の青っぽさ。クールでよい。
- 画面左端・右端が暗いような気がするけど気にしない。
- HDD は ad4 、有線 LAN は em で認識される。カニじゃなくて良かった。
- Xorg 7.3 は 6.3-PRERELEASE 現在、とりあえず vesa で動く。intel でも動いた。
- サウンドは hda で鳴る。いかにも安っぽい音がする。
- SD スロットは見えない。残念。
- キーボード照明 (LED) は健在。小さなアイコンが刻印されていて可愛い。
- キーボードは…。期待が大きかっただけに、残念な感触。
- バックスラキーが小さい。無理して突っ込んだ感。
- その割に Windows キーなんかありやがる。使わないよ。
- そもそもキーボードが反ったり凹んだりしているのが安っぽくて哀しい。
- 一方、トラックポイントは柔らかくて扱いやすい。ドリフト現象もないようだ。
ハードウェア的な設定
最終的な主要スペックは以下の通り。
CPU : Intel(R) Core(TM)2 Duo CPU L7500 1.60GHz RAM : 2048M HDD : 250G (とっとと換装) NIC : Intel(R) PRO/1000 (em0) K/B : 英語キーボード♪
起動時、F1 キー で BIOS 画面へ。F12 キーで起動デバイス選択へ。 このあたりは変わっていない。
LCD の輝度調節は 15 段階。 FreeBSD 起動後は Fn + HOME や Fn + End を打鍵しても即反映しないが、 vesa で X を動かす時には覚えているらしい。 フルパワーだと眩しすぎるので、min から Fn + HOME を 10 回押して 10 段階めに設定する。
パームレスト手前側に無線LAN のスイッチがあるので、 緑色が見えない側にしておく(無線は使わないので無効にしておく)。
バッテリは微妙な状態で納品されたので、いったんフル充電しておく。
BIOS 設定
手打ちで写したメモ。
BIOS setting BIOS Version 1.10 (7NET29WW) BIOS Date (Year-Month-Day) 2007-10-22 Embedded Controller Version 1.02 System-unit serial number 7666BH5LVB6431 System board serial number 1ZDXF7C36JW CPU Type Intel(R) Core(TM)2 Duo CPU L7500 CPU Speed 1.60GHz Installed memory 2048MB UUID 1f89f7e0-ae29-11dc-bd07-c745849557e2 MAC Address (Internal LAN) 00 16 D3 C6 7F 74 BIOS 設定 Config - Network Wake On LAN Enabled Flash Over LAN Eanbled Ethernet LAN Option ROM Enabled Hard drive Direct Memory Access(DMA) Enabled Wireless LAN Radio Freqency On Config - Srial port Serial port Disabled Config - Parallel port Parallel port Enabled Mode Bi-directional Base I/O Address 3BC Interrupt IRQ 7 Config - PCI INTA PCI IRQ 11 INTB PCI IRQ 11 INTC PCI IRQ 11 INTD PCI IRQ 11 INTE PCI IRQ 11 INTF PCI IRQ 11 INTG PCI IRQ 11 INTH PCI IRQ 11 Config - USB USB BIOS Support Enabled Always On USB Disabled Config - Keyboard/Mause TrackPoint Enabled Fn Key Lock Disabled ThinkPad NumLock Independent Config - Display Boot Display Device Analog(VGA) Brightness Normal Config - Power Timer Wake with Battery Operation Disabled Interl(R) SpeedStep technology Enabled Mode for AC Automatic Mode for Battery Battery Optimized Adaptive Thermal Management Scheme for AC Maximize Performance Scheme for Battery Balanced CDROM Speed Normal CPU Power Management Automatic PCI Bus Power Management Automatic Config - Alarm Power Control Beep Enabled → Disabled Low Battery Alarm Enabled → Disabled Password beep Disabled Config - Memory Extended Memory Test Disabled Config - Serial ATA (SATA) SATA Controller Mode Option: AHCI Config - CPU Core Multi-Processing Enabled Intel(R) Virtualization Technology Disabled Config - Intel(R) AMT Intel(R) AMT Control Disabled Security - Password Using Passphrase Eanabled Supervisor Password Disabled Lock BIOS Settings Disabled Set Minimum length Disabled BIOS password at unattended boot Enabled Power-On Password Disabled → Enabled Hard Disk1 Password Disabled → User Password Reset Service Enabled → Disabled Security - Fingerprint Predesktop Authentication Enabled Reader Priority External Security Mode Normal Erase Internal Fingerprint Data [Enter] Security - Security Chip Security Chip Inactive Security - BIOS Update Option Flash BIOS Updating by End-Users Enabled Security - Memory Protection Execution Prevention Enabled Security - I/O Port Access Ethernet LAN Enabled Wireless LAN Enabled Wireless WAN Enabled Bluetooth Enabled Modem Enabled USB Port Enabled IEEE 1394 Enabled Serial Port Enabled Parallel Port Enabled CardBus Slot Enabled Ultrabay (HDD/Optical) Enabled SD Card Slot Enabled Microphone Enabled Startup Boot Mode Quick Option Keys Display Enabled Boot Device List F12 Option Enabled Startup - Boot Boot priority order: 1: USB FDD 2: ATAPI CD0 3: USB CD 4: ATA HDD0: Hitachi HTS542525K9SA00-(S1) 5: PCI LAN: IBA GE Slot 00C8 v1245 6: -USB HDD 7: ATA HDD1 8: Excluded from boot order: : ATA HDD2 : ATAPI CD1 Startup - Network Boot priority order: 1: PCI LAN: IBA GE Slot 00C8 v1245 2: USB FDD 3: ATAPI CD0 4: USB CD 5: ATA HDD0: Hitachi HTS542525K9SA00-(S1) 6: -USB HDD 7: ATA HDD1 8: Excluded from boot order: : ATA HDD2 : ATAPI CD1
インストール作業ログ
まず、プレインストールの Vista だが、基本的には興味ない。 興味はないけど消してしまうと後で再度手に入れるのが面倒そうなので、 HITACHI HTS542525K9SA00 / SATA 2.5" 250GB 5400rpm を購入し、差し替えた。 回転数は落ちているが、容量は増えているので、おあいこ、ということで(何が
インストール方法については、試行錯誤の末、結局 6.3-RC1 を network install した。
前提 サーバ (自宅機) : 192.168.0.13 クライアント(X61s) : 192.168.0.14 サーバ機に wide-dhcp を投入し、dhcpd.conf にて、pxeboot を行わせるよう設定。 host hogehoge { hardware ethernet 00:16:d3:cc:dd:ee; ★BIOS 画面で調べられる fixed-address 192.168.0.14; option vendor-class-identifier "PXEClient"; option vendor-encapsulated-options 01:04:00:00:00:00; filename "pxeboot"; option root-path "192.168.0.13:/tftpboot"; } サーバ機で インストールメディアを mdconfig 経由で /cdrom 等に mount する。 マウントポイントを nfs で export する。 % grep cdrom /etc/exports /cdrom サーバ機の /tftpboot/ 以下に、インストールメディアから boot/ を配置する。 % ls /tftpboot boot/ サーバ機側の inetd.conf を修正し、tftp を通すようにする。 % grep '^tftp' /etc/inetd.conf tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot/boot 以上の仕込みでクライアントをネットワークブートすれば、 インストーラが起動してくるはず。
Boot Manager はひとまず Standard を選択。
%uname -rms FreeBSD 6.3-RC1 i386 %df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad4s1a 3045006 39080 2762326 1% / devfs 1 1 0 100% /dev /dev/ad4s1e 190811742 56 175546748 0% /opt /dev/ad4s1d 40622796 1221006 36151968 3% /usr
いきなり ad4 なところが笑える。SATA とは、そういうものか。
sysctl で温度が見える。 どこの温度かな。
hw.acpi.thermal.tz0.temperature: 43.0C
まずは make update したい。 /etc/make.conf に SUP 関係の行だけ書いて、supfile を用意する。 sup ファイルを /usr/local/etc/ に置いているのは個人的趣味。 というかお行儀としてどこに置くのが主流なのか、知らないだけである。
# cat /etc/make.conf SUP_UPDATE= yes SUPFILE= /usr/local/etc/supfile-src PORTSSUPFILE= /usr/local/etc/supfile-ports DOCSUPFILE= /usr/local/etc/supfile-doc # cd /usr/src # make update # make buildworld … 約 50 分 # make buildkernel … 約 15 分 # make installkernel # make installworld # shutdown -r now # mergemaster
自宅のバックアップ機から、データを戻す。 rsync よりも、最初はとりあえず ssh と tar で飛ばす。 まずは $HOME 、続いて distfiles を回収する。
だいたい今まで入れてたものを入れるんだし、 distfiles がローカルに溜れば、ports のインストールもサクサク進む。
net/rsync ports-mgmt/portupgrade shells/zsh japanese/kon2-14dot security/sudo japanese/nvi-euc-jp (with 野良パッチ) sysutils/screen
kon2 は、特にパッチ等当てずとも、ちゃんと表示された。 これらを投入している間に、 workspace や cvsroot などの他のデータも回復させる。 X は最初から Xorg 7 である。ふむふむ。
x11/xorg japanese/kterm japanese/cannadic japanese/kinput2-canna mail/ssmtp mail/fetchmail dns/dnsmasq japanese/w3m java/diablo-jdk15 audio/moc
キーマップファイルはバックアップがなかったので us.unix をベースに ちまちま修正を行って、作成。us.thinkpad.kbd というファイル名にした。
サウンドは hda がヒットした。loader.conf 的には
beastie_disable="YES" snd_hda_load="YES"
こんな感じ。以下、主なその他投入物件。
x11-wm/windowmaker japanese/mplusfonts x11-clocks/pclock xdkcal (野良ビルド) wmzcalock (野良ビルド) sysutils/wmbattery net/wmnet astro/wmmoonclock mail/wmbiff x11/wmdrawer benchmarks/xengine … 27800 くらい。VESA なのに、速いな。 security/ssh_askpass_gtk2 games/gtkballs audio/mpg123 devel/apache-ant java/junit java/jad graphics/ImageMagick
# chmod 775 /usr/local/share/java/apache-ant/lib
ここいらで ram ディスクを作成。とは言っても /etc/fstab に書いておくだけ。
md /ram mfs rw,nosuid,nodev,-s262144
メモリは (今までに比べれば) たくさんあるので、 ram ディスクのサイズもそのうち増やそう。
引き続き、アプリケーションを投入していく。
sysutils/wmmon (cvsweb から古い ports を持ってきて強引に) www/opera (shared で) net/tightvnc graphics/enfle misc/acron sysutils/cdrtools-cjk shells/fd x11-wm/ctwm japanese/mh x11/mlterm security/stunnel mail/popfile java/jdk14 japanese/namazu2 graphics/zphoto www/firefox www/firefox-i18n
wmmon は、意外なことに、make しただけで普通に使えた。 2007.09 頃の 6.2-STABLE では使えなくって、 無理矢理変な修正をかけて強引に動かした記憶があるので、 手間が減って嬉しい。
fetchmail でメイルをフェッチする際、mda に mail.local を使うが、 こいつはデフォルトでは 555 なので、一般ユーザでキックできない。 基本的に自分ひとりしか使わないマシンなので、4755 にしてしまう。
# chmod 4755 /usr/libexec/mail.local
agp_i810 に対して FreeBSD-users-jp 91227のパッチを適用、 ついでに Oracle XE 用の kernel オプションも追加して kernel を作りなおし。 無事 agp0 が発見されるようになった。 でも xengine は 18700 くらいになった。vesa のほうが速いのか!?
並行して Oracle XE 環境を復活。自分のメモが役に立つというのは嬉しいものだ。orz
気を取り直して、引き続き ports を投入していく。
devel/darcs japanese/gqmpeg audio/aumix devel/global gmp3te (野良ビルド) gtkipmsg (野良ビルド) net/cvsup-mirror graphics/gimp japanese/samba (SYSLOG/UTMP/AUDIT/SMBSH)
cvsup のミラーデータをチョロチョロと回復開始。 samba の設定ファイルはバックアップから戻し。
# mkdir -p /var/log/samba # smbpasswd -a oresama
引き続き ports を投入していく。
mail/procmail converters/mpack graphics/gimageview textproc/gtkdiff japanese/ochusha
うぉ、xmms を入れようと思ったら既に入っている。びっくり。 指が勝手に入れたのか、何かの依存で入ったのか…
引き続き ports を投入していく。
multimedia/mmsclient audio/gogo x11-clocks/glclock misc/pinfo graphics/graphviz (TK/XPM/ICONV/NLS) japanese/ebview-gtk2 audio/mp3info japanese/zipcodes graphics/gcolor2
OOo は つくばの hiromi さんのところから Xorg 6.9 用にビルドされた パッケージを pkg_add -f で投入。libstdc++.so.6 が無いと言われる。 gcc 4.2 以降が要るのか。長そうだ。晩だな。
gcc 4.3 を入れてみたが、動かないっぽい。 Good-Day 版をダウンロードしてみる。 こちらも -f 無しだと、いろいろ無いってことで。
pkg_add: could not find package python24-2.4.4_1 ! pkg_add: could not find package openssl-0.9.8e_1 ! pkg_add: could not find package icu-3.6 ! pkg_add: could not find package ja-ipa-ttfonts-1.0.20060520.p1,2 ! pkg_add: could not find package glitz-0.5.6_1 ! pkg_add: could not find package cdrtools-2.01_6 ! pkg_add: could not find package libglade2-2.6.2 ! pkg_add: could not find package avahi-0.6.21 !
強引に入れてみたが、やはり動かない。正確には、新規ドキュメントを作ることは できるのだけれど、既存のドキュメントを開くことができない。 軽くあきらめて、引き続き ports を投入していく。
multimedia/mplayer (OCFLAGS/SIMD/X11/GUI/VIDIX/SKINS/FREETYPE/LIBUNGIF/DTS/SPEEX/WIN32/XVID) java/jdk16 java/eclipse-devel net/xrdesktop games/actx games/macopix games/sudoku www/linux-flashplugin7 www/linuxpluginwrapper devel/mercurial
darcs と mercurial と、両方入れてみた。どっちがより便利だろう?
ローカルに apache が立っていないと不便なので、立てる。野良。
% tar xvf httpd-2.2.6.tar.bz2 % cd httpd-2.2.6/ % ./configure --prefix=/usr/local/apache \ --enable-mods-shared=most --enable-proxy --with-expat=builtin % make % su - # make install
php も入れたいが、php で PostgreSQL も使いたいので、 PostgreSQL を先に入れる。これは Ports で。 8.3 は Broken だったので、8.2 で。
# cd /usr/ports/database/postgresql82-server # make install clean # su - pgsql $ initdb The files belonging to this database system will be owned by user "pgsql". This user must also own the server process. The database cluster will be initialized with locale C. creating directory /usr/local/pgsql/data ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers/max_fsm_pages ... 32MB/204800 creating configuration files ... ok creating template1 database in /usr/local/pgsql/data/base/1 ... ok initializing pg_authid ... ok initializing dependencies ... ok creating system views ... ok loading system objects' descriptions ... ok creating conversions ... ok setting privileges on built-in objects ... ok creating information schema ... ok vacuuming database template1 ... ok copying template1 to template0 ... ok copying template1 to postgres ... ok WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the -A option the next time you run initdb. Success. You can now start the database server using: postgres -D /usr/local/pgsql/data or pg_ctl -D /usr/local/pgsql/data -l logfile start $ exit # vi /etc/rc.conf postgresql_enable="YES" # /usr/local/etc/rc.d/postgresql start
php は野良で。
% tar xvf php-5.2.5.tar.bz2 % cd php-5.2.5/ % ./configure --with-apxs2=/usr/local/apache/bin/apxs \ --with-pgsql --without-mysql --enable-ftp \ --enable-mbstring --enable-mbregex --with-zlib-dir=/usr % make % su - # make install
辞書がないと不便なので、復活させる。
japanese/ebnetd japanese/epwutil
英辞郎のデータは 英辞郎II のものを使用。 自宅機の CD ドライブに突っ込んだものを NFS export して使用。 今回は測定してみた。
# cd /usr/ports/japanese/eijiro-fpw # date; make DICT_PATH=/var/tmp/eijiro/eijiro81 SRCFILE=eijiro81.txt; date Sun Jan 6 02:29:00 JST 2008 Sun Jan 6 03:11:06 JST 2008 # cd /usr/ports/japanese/waeijiro-fpw # date; make DICT_PATH=/var/tmp/eijiro/eijiro81 SRCFILE=waeiji81.txt; date Sun Jan 6 03:16:07 JST 2008 Sun Jan 6 03:44:27 JST 2008
早いなぁ。って、仕掛けて寝てたけどさ。 あわせて、2002 年ごろの /usr/local/share/dict/ のデータも復旧。
引き続き、ports を入れていく。もう must ではないものばかりか。
net-im/pidgin astro/stellarium ndtpc (野良)
ndtpc は ebnetd.conf を書いて eb view および vi からの動作を確認。
メイルの全文検索用に namazu のインデクスを作成。
# chmod 775 /usr/local/var/namazu/index/ % $HOME/bin/mknamazumh
引き続き、ちまちまとアプリケーション投入。
japanese/acroread misc/lv japanese/qkc
さて、ここいらで、OpenOffice.org をビルドしてみる。
■/etc/make.conf .if ${.CURDIR} == "/usr/ports/editors/openoffice.org-2" WITHOUT_MOZILLA=yes WITHOUT_GNOMEVFS=yes LOCALIZED_LANG=ja LANG_PKGNAME=ja .endif ■コマンド # pkg_delete gcc-4.3.0_20071221 # cd /usr/ports/editors/openoffice.org-2 # make clean # make # make install ■実行 % OOO_FORCE_DESKTOP=gnome % export OOO_FORCE_DESKTOP % openoffice.org-2.3.1
上記にサラっと書いているが、OpenOffice がちゃんと動かない問題は OOO_FORCE_DESKTOP 環境変数の設定で回避できた。 hiromi さん版、Good-Day 版でも同様かもしれないが、 自前ビルド版が動いてしまったので追試をしていない。
旧マシンが発掘された(よかった…)ので、 ちまちまと移行。
- PukiWiki のデータを移植。
- cvsweb.cgi を復活。
- ローカルトップページ、images を徐々に復旧。
あとは入れ忘れ系・入れてみようか系のアプリケーションを投入。
ftp/wget converters/base64 net/fping emulators/qemu (KQEMU,SDL,CDROM_DMA) net/wireshark textproc/hyperestraier editors/vim net/wakeonlan audio/wavplay … waveplay じゃないので注意 (笑) net-mgmt/mbrowse x11-servers/x2vnc net/x11vnc japanese/tgif (NLS,A4SIZE)
qemu-ifup は 旧ディスクから吸い上げて /etc へ配置。ちなみにこんな感じ:
#!/bin/sh sudo ifconfig $1 inet 192.168.127.1 netmask 255.255.255.252
$HOME/bin/ を file * | grep ELF して野良ビルド物件を探し、再コンパイル。
■お別れしたもの daemonclock imgsize kenjiro rad xcolsel ■動いたもの jerm akaneclock file2 jadetect nldetect key2mouse printtitle xd
qemu-0.9.0.4 は Bad system call で死んでしまうので、 qemu-devel を試してみることに。
emulators/qemu-devel/
それでもやはり死んでしまう。 調べてみたところ、aio モジュールをロードすればよいとの解を得た。 わざわざ戻す気にもならなかったので、-devel のまま運航することにした。 昔使っていた ディスクイメージは、そのまま使えた。
その他のアプリケーションの投入。
astro/luna www/tidy japanese/another-htmllint japanese/jpilot palm/jfconv japanese/today math/gnuplot+ japanese/mutt security/nmapfe japanese/expect games/oneko devel/maven2 databases/rrdtool deskutils/freemind mail/sylpheed audio/wmrecord graphics/mesa-demos x11-fm/xfe
jude は community 版を落してきて起動すればいいので、ports 版は見送って野良で入れた。
せっかくの高級塗装がきちんと味わえないので、 うざったい Intel Centrino のシールと、邪魔くさい Windows Vista BASIC のシールは ペリっと剥して裏面に貼った。
関連購入物件一覧
この ThinkPad 関連で購入したデバイス群は、以下の通り。
device price shop maker description 本体 219870 Lenovoサイト Lenovo 7666-BH5 ThinkPad X61s 15th Anni.Ed. 換装HDD 17980 池袋ドスパラ HITACHI HTS542525K9SA00 SATA 2.5" 250GB HDD HDD Case 1980 池袋ドスパラ 玄人志向 GW2.5SJ-SU2 ケース 680 池袋ビックP 不明 PKSPR11WBK USB SD Reader 1571 浜田電機 ELECOM MR-C11BK 拡張バッテリ 9980 若松通商 Lenovo 93P5030 拡張バッテリ 8 CELL AC アダプタ 6090 若松通商 Lenovo 40Y7699 65W AC アダプタ FD ドライブ 998 若松通商 Lenovo 05K9283 USB FD (中古)
互換電源アダプタは ツクモで 4200 円、Sofmap で 3980 円だったが、 若松で純正品を売っていたので、つい純正品にしてしまった。
このページでの記録は、以上。あとは「交際日記」で。