2001年9月6日更新
VAIO PCG-Z505F に入れていた FreeBSD 3.2-RELEASE + PAO3 を 4.3-RELEASE に入れ換えました。いい感じです。さよなら 3 系列。さよなら PAO。以下は備忘録。(内容の信憑性に関する責任は負いません。)
VAIO Z505F の内蔵モデムは "Rockwell HCF 56K Speakerphone PCI Modem" というもので、Windows 環境でしか動作しないゴリゴリのソフトウェアモデムです。従って FreeBSD や Linux では使うことができません。素直に PC card モデムを買いましょう。
ちなみに、無印の 505 シリーズや C1 シリーズのモデムはハードウェアモデムなので FreeBSD でも使えるらしいという情報もあります。ほんとかどうかは知らん。
VAIO Z505F のサウンドシステムは NeoMagic 256AV(AC97) というもの(ビデオチップとサウンドチップが一体になっている?)で、FreeBSD 4.2R あたりから使えるようになりました。ドライバ名は pcm0 (a.k.a. "newpcm" driver) です。
ちなみに Linux では、このサウンドチップは kernel 2.2.13 以降で正式にサポートされています。
VAIO Z505F には PC card スロットの上部に「メモリースティック専用スロット」というスロットがあります。何もせずに FreeBSD をインストールしようとすると、インストーラのカーネルはこのスロットを IDE HDD などと同じ "adなんとか" というデバイスとして認識しようとします。しかし、スロットにメモリースティックのメディアが入っていないためか、ここでインストールメニューがフリーズしてしまいます。
対策として、インストール前に BIOS 設定(電源投入後、"SONY" のロゴが出ている間に F2 キーを押すと BIOS 設定メニューが出る)でメモリースティック用スロットを "disable" にしておく必要があります。
もしかしたら、メモリースティックを買ってきて実際にスロットに挿入しといてやれば普通の IDE ストレージデバイスとして mount して使えるかもしれん。が、試していないので不明。チャレンジャー求む。
…と、今までは書いていたのですが、 4.3R からメモリースティックが使えるようになったそうです。いまだにメディアを持っていないので試してませんが。
参照:VAIO (PCG-C1VJ) でFreeBSD
のみならず、なんと VAIO C1 であの「目玉カメラ」も動くらしい。素晴らしい。
はできませんでした。ドライブは I/O DATA の CDP-AX24TP ってやつなんですが。(インストール完了後はちゃんと使えるようになります。)インターフェイスカードは CBIDE-IIA。ということで素直にフロッピーディスクからインストール。ソニーの純正 CD-ROM ドライブならできるかも。
インストールを開始する時、Windows から「再起動」したり FreeBSD から「shutdown -r now」したりしてインストーラを起動すると、内蔵 LAN インターフェイスである fxp0 を検出した直後に
fxp0: SCB timeout
というメッセージが出続けて先へ進めなくなることがあります。なので、インストーラを起動する時は必ず電源を一度落としてから cold boot でやること。
4.2R 以降から PC card コントローラのデフォルト設定が変更されました。これに伴って Z505F の PC card コントローラ (Ricoh RL5C475 PCI-CardBus Bridge) の初期化がうまくできなくなってしまっています。デフォルトの状態のままではカードの挿抜時に固まってしまうので、
irq pcic0 11
という行を /boot/kernel.conf に追加する必要があります。
PC card modem を挿すとシリアルデバイスとして sio4 が割り当てられます。従って、/etc/ppp/ppp.conf では "set device cuaa4
" と指定する必要があります。が、インストール直後の設定ではシリアルデバイスは /dev/cuaa3 までしか存在しません。ので、以下の手順でデバイスファイルを作ります。
------------------- % su # cd /dev # sh MAKEDEV cuaa4 -------------------
あるいはカーネルを再構築して sio2,sio3 をなくしてしまえば、PC card modem に sio2 が割り当てられるようになります。
サウンドは GENERIC カーネルのままでは使えないので、使うためにはカーネルを再構築する必要があります。newpcm ドライバ用の設定は /usr/src/sys/i386/conf/LINT に含まれているので、これを参考に GENERIC カーネルの config file を編集して再構築に使います。この機会に使わないデバイスの設定なども削除しておくとぐー。config file の変更箇所は以下の通り。
------------------------------------------------------------------- % diff GENERIC Z505 21,22c21,22 < cpu I386_CPU < cpu I486_CPU --- > #cpu I386_CPU > #cpu I486_CPU 25c25,26 < ident GENERIC --- > #ident GENERIC > ident Z505 69c70 < device fd1 at fdc0 drive 1 --- > #device fd1 at fdc0 drive 1 110,112c111,113 < device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID < device dpt # DPT Smartcache - See LINT for options! < device mly # Mylex AcceleRAID/eXtremeRAID --- > #device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID > #device dpt # DPT Smartcache - See LINT for options! > #device mly # Mylex AcceleRAID/eXtremeRAID 115,119c116,120 < device aac # Adaptec FSA RAID, Dell PERC2/PERC3 < device ida # Compaq Smart RAID < device amr # AMI MegaRAID < device mlx # Mylex DAC960 family < device twe # 3ware Escalade --- > #device aac # Adaptec FSA RAID, Dell PERC2/PERC3 > #device ida # Compaq Smart RAID > #device amr # AMI MegaRAID > #device mlx # Mylex DAC960 family > #device twe # 3ware Escalade 155,156c156,157 < device sio2 at isa? disable port IO_COM3 irq 5 < device sio3 at isa? disable port IO_COM4 irq 9 --- > #device sio2 at isa? disable port IO_COM3 irq 5 > #device sio3 at isa? disable port IO_COM4 irq 9 168c169 < device de # DEC/Intel DC21x4x (``Tulip'') --- > #device de # DEC/Intel DC21x4x (``Tulip'') 170,172c171,173 < device tx # SMC 9432TX (83c170 ``EPIC'') < device vx # 3Com 3c590, 3c595 (``Vortex'') < device wx # Intel Gigabit Ethernet Card (``Wiseman'') --- > #device tx # SMC 9432TX (83c170 ``EPIC'') > #device vx # 3Com 3c590, 3c595 (``Vortex'') > #device wx # Intel Gigabit Ethernet Card (``Wiseman'') 176,186c177,187 < device miibus # MII bus support < device dc # DEC/Intel 21143 and various workalikes < device pcn # AMD Am79C79x PCI 10/100 NICs < device rl # RealTek 8129/8139 < device sf # Adaptec AIC-6915 (``Starfire'') < device sis # Silicon Integrated Systems SiS 900/SiS 7016 < device ste # Sundance ST201 (D-Link DFE-550TX) < device tl # Texas Instruments ThunderLAN < device vr # VIA Rhine, Rhine II < device wb # Winbond W89C840F < device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') --- > #device miibus # MII bus support > #device dc # DEC/Intel 21143 and various workalikes > #device pcn # AMD Am79C79x PCI 10/100 NICs > #device rl # RealTek 8129/8139 > #device sf # Adaptec AIC-6915 (``Starfire'') > #device sis # Silicon Integrated Systems SiS 900/SiS 7016 > #device ste # Sundance ST201 (D-Link DFE-550TX) > #device tl # Texas Instruments ThunderLAN > #device vr # VIA Rhine, Rhine II > #device wb # Winbond W89C840F > #device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') 189,192c190,193 < device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 < device ex < device ep < device fe0 at isa? port 0x300 --- > #device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 > #device ex > #device ep > #device fe0 at isa? port 0x300 196c197 < device awi --- > #device awi 200c201 < device wi --- > #device wi 206c207 < device an --- > #device an 236,237c237,238 < device ulpt # Printer < device umass # Disks/Mass storage - Requires scbus and da --- > #device ulpt # Printer > #device umass # Disks/Mass storage - Requires scbus and da 239c240 < device uscanner # Scanners --- > #device uscanner # Scanners 241,243c242,263 < device aue # ADMtek USB ethernet < device cue # CATC USB ethernet < device kue # Kawasaki LSI USB ethernet --- > #device aue # ADMtek USB ethernet > #device cue # CATC USB ethernet > #device kue # Kawasaki LSI USB ethernet > > # The newpcm driver (use INSTEAD of snd0 and all VOXWARE drivers!). > # Note that motherboard sound devices may require options PNPBIOS. > # > # Supported cards include: > # Creative SoundBlaster ISA PnP/non-PnP > # Supports ESS and Avance ISA chips as well. > # Gravis UltraSound ISA PnP/non-PnP > # Crystal Semiconductor CS461x/428x PCI > # Neomagic 256AV (ac97) > # Most of the more common ISA/PnP sb/mss/ess compatable cards. > > # For non-pnp sound cards with no bridge drivers only: > device pcm0 at isa? irq 10 drq 1 flags 0x0 > # > # For PnP/PCI sound cards > device pcm -------------------------------------------------------------------
shutdown -p で電源を切れるようにするため、APM を有効にします。GENERIC カーネルには既に apm ドライバが含まれていますが、そのままでは disable されているので、/boot/kernel.conf に
enable apm
という行を追加して起動時に有効化するようにします。
スマートメディア用の PC card アダプタは以下のように ad8 として認識されます。("8" かよっ!(三村))
----------------------------------------------------------------------------------------------- pccard: card inserted, slot 0 Jun 17 19:05:22 lavender pccardd[109]: Card " "(" ") [0.0] [(null)] has function ID 4 ata4 at port 0x240-0x24f irq 3 slot 0 on pccard0 ad8: 31MB <> [500/8/16] at ata4-master BIOSPIO Jun 17 19:05:27 lavender pccardd[109]: ata4: GENERIC Flash ATA / ATA HDD inserted. -----------------------------------------------------------------------------------------------
ここでも /dev/ad8 というデバイスファイルはないので sh MAKEDEV ad8 して作ります。これで
--------------------------------- % mount -t msdos /dev/ad8s1 /mnt ---------------------------------
のようにすれば、Windows パーティションと同様に MS-DOS ファイルシステムとしてマウントできます。これでデジカメ画像もばっちり取り込めるなり。アンマウントは
-------------------- % umount /dev/ad8s1 --------------------
で。"device busy" とか言われたら umount -f で強制解除。
Tips でもなんでもないが、毎回やり方を忘れるので書いとかんと。
まず、マウントポイントを作る。
-------------------- # cd / # mkdir /win # chown nakano /win --------------------
一般ユーザの権限で書き込めるように owner を自分にしておく。FreeBSD Q and A には chmod 777 する例が書いてあるけど、どうせユーザは自分しかいないマシンなので 777 にまでする必要はない。で、マウント。
-------------------------------------------- # mount -t msdos /dev/ad0s1 /win --------------------------------------------
起動時に自動マウントさせるべく、/etc/fstab を編集。
-------------------------------------------------------- # Device Mountpoint FStype Options Dump Pass# /dev/ad0s2b none swap sw 0 0 /dev/ad0s2a / ufs rw 1 1 /dev/ad0s2f /usr ufs rw 2 2 /dev/ad0s2e /var ufs rw 2 2 /dev/ad0s1 /win msdos rw 0 0 proc /proc procfs rw 0 0 --------------------------------------------------------
Mule 2.3 はもう時代遅れらしいので、みーはーな私は Emacs 20 を使うことにしました。つっても基本的には package をせっせとインストールするだけ。
ただ、Emacs 20 はそのままでは日本語入力に FreeWnn を使えないので、Wnn を使いたい場合には以下のいずれかの方法を選ぶ必要があります。
手法としては後者の方が美しいのですが、私の場合はこれに加えて omelet でキーボード入力を親指シフト化したいというわがままな条件があったため、前者の方法をとりました。(omelet は tamago 4 にまだ対応していない。)
というわけで package から ja-emcws-20.7 を入れる。依存関係で当然 emacs-20.7 とかも入れる。omelet-2.0 もコンパイルして入れる。終了。(かなり手抜き)
参考サイト:
GNU Emacs + Gnus + Mew の環境を作ろう Emacs 20 の定番サイトらしい
Mule-2.3 から Emacs-20 への移行について .emacs.el の書き方
Rmail を使ってる人なんてもう絶滅しつつあるのかもしれませんが…。一応備忘録として。
RMAIL ファイルを Mew 形式に変換する時、nkf の -m0(MIME decode しない)オプションを忘れないこと。nkf はデフォルトで勝手に MIME decode しやがるお節介仕様になっているので、MIME encode された日本語ヘッダを含むメイルを nkf -j すると、日本語ヘッダが生 JIS にされてしまう。これを Mew で inc すると当然化ける。ということで、正しい変換の仕方は下記の通り。
LaTeX や xdvi のインストールは package 入れるだけであまり引っかかる箇所はなし。
わしがはまったのは、VFlib 版の dvipsk (ja-dvipsk-vflib-5.78a.tgz) を入れて実際に .dvi を ps に変換しようとすると、kpathsea がフォントを探しに行ったまま見つからなくて止まってしまう、という症状。これは VFlib 版の dvipsk/dvi2ps で必要な virtual font の設定ツール (ja-vftool-1.2) が入っていないのが原因だった(dvipsk-vflib の依存パッケージにしておくべきだと思うが…)。vftool を入れてから、/usr/local/share/texmf/web2c/texmf.cnf の
------------------------------------------------------------------------------ VFFONTS = .:$TEXMF/fonts//vf// TFMFONTS = .:{$TEXMF/fonts:$VARTEXFONTS}//tfm// ------------------------------------------------------------------------------
という記述を
------------------------------------------------------------------------------ VFFONTS = .:/usr/local/share/fonts/vf-a2bk:$TEXMF/fonts//vf// TFMFONTS = .:/usr/local/share/fonts/vf-a2bk:{$TEXMF/fonts:$VARTEXFONTS}//tfm// ------------------------------------------------------------------------------
に直し、ついでに /usr/local/share/texmf/dvips/base/psfonts.map に
------------------------- min microsoft-mincho goth microsoft-gothic -------------------------
という行を追加して解決。
margins.ps とか名前を付けたファイルを用意して、中に
----------------------------------------------- << /PageOffset [-22.0 -36.0] >> setpagedevice -----------------------------------------------
と書く。[-22.0 -36.0] が印刷位置をずらしたい量。この例では左に 22.0pt、上に 36.0pt ずれる (1pt = 1/72 inch)。で、印刷したい PS file がプリンタに送られる前にまず margins.ps を処理させるようにする。毎回 cat margins.ps hoge.ps | lpr とかやってもいいけど超超超めんどくさいので、gs の設定用 PS file が置いてあるディレクトリ(わしの場合は /usr/local/share/ghostscript/5.50vflib/)に margins.ps を置いておき、gs のフィルタスクリプトに
--------------------------------------------------------------------------------- #!/bin/sh /usr/local/bin/gs -q -dNOPAUSE -sDEVICE=bj10v -sOutputFile=- margins.ps - quit.ps ---------------------------------------------------------------------------------
のように書いておけばOK。