カーネルモジュールのお話。特に DELL 製 NotePC 系でのお話。xorg.conf のお話。なんか、いろんなことが絡んでいるなぁ・・。
xorg が 7.2 になったので合せて色々なものが動く様になったり動かない様になったり、目に付くようになった今日このごろ、僕の持っている DELL X1 の NotePC において /var/log/Xorg.0.log を眺めていると、 /dev/agpgart が無いゼイッって怒られている行が合った。
/dev/agpgart が無いとどうなるのかと言うと drm が動かないので mplayer がフル画面で表示してくれないとか 3D が遅いかもとか言った弊害が出てくる。まぁ、そんなに大した問題では無いのだけどね(^^;;。
では、どうして /dev/agpgart が出来ないのか? どうやらカーネルモジュールをロードする時に問題がありそうだ。acpi_video.ko を先にロードしてから agp.ko、drm.ko、i915.ko をロードすると /dev/agpgart が生えてこないみたい。
そして、acpi_video.ko をロードしないようにすると /dev/agpgart が無事に生えてくる。この辺り、pciconf -lv するとデバイスの認識状況が楽しかったりします;-)。
それにしても、/dev/agpgart が生えてこないんだったら acpi_video.ko をロードしなければいいじゃん。となるんだけど、これがまたねぇ・・。DELL X1 は中途半端に suspend/redume するもんだから acpi_video.ko をロードしておかないとディスプレーのリセットとかできなくなってします。
解り易いのは acpi_video.ko をロードした時としない時の sysctl -a | grep video の違いを見れば一目瞭然。
前者の場合、外部ディスプレー出力にも対応しているのに対して、後者の場合は video 周りの ACPI (と言うか sysctl の MIB) は何も無い状態。その状態で acpiconf -s3 なんざ叩いたらマシンがあっと言う間に凍りついてしまう。
mplayer をフル画面で見たいがため、もしくは Xorg.0.log からエラーメッセージを除去したいがために acpi_video.ko をロードしないのはあまりにもナンセンスだ・・。
と、言うか、agp.ko と acpi_video.ko で drm 辺りが競合してしまうのに問題があると言うか、なんちゅーか本中華・・。
デスクトップの i915 だったら無条件で acpi_video.ko をロードしないと言う選択枝が取れるんだけどねぇ。NotePC の場合は悩ましい。
さて、あなたはどっちを選択しますか!?
うちの家は ADSL の固定 IPv4+IPv6 の /48 (IIJmio)と マンションタイプの B フレッツのマルチホームである。
最近、自宅のサーバのウェブサーバにアクセスが増えてきたので ADSL 側を 12Mbps から 47Mbps のフレッツ・モアIII と言うのに変えてみました。
しかし、モアIIIは品質悪いなぁ。ブツブツ切れまくりなんだけど・・。NTT 側でなんちゃらって機器を変えてもらったのだけどそれでも直らない。しょーがないので今までのに戻そうかなぁ・・。
ちなみに自宅のサーバは mpd で PPPoE して それを ipnat して自宅 LAN はプライベートアドレスで利用している。更にこのサーバは NIC がもう一枚刺さっていて、DHCP で マンションタイプの B フレッツのグローバルアドレスが付いているのだけど、IIJmio 側から入ってきたパケットはそっち出ていって(こっちが default route)、Bフレッツ側のパケットははやり Bフレ側に流さなければならないのでポリシールーティングが必要なのである・・。
こーいうことは絵が無いと、文章だけではまったく解らない。と言うことはよおーく知っているんだけどね(^^;;。
それにしても ADSL をなんとかしないとなぁ・・。
いっそのこと IPv6 を捨ててしまえば、IIJmio からさくらに乗換えて値段はうんとさがるし、FreeBSD での PPPoE やめてフツーの BB ルータでどうにでもなるので、やはりそう考えると、IPv6 は不要なものなのかなぁ・・。
まさか、このブログに「Windows」と言うカテゴリーができるとは思ってもいなかった;-P。
Apple の MacOSX 用のブラウザである Safari の Windows 版がテスト公開されています。すげー。
まだ、日本語に対する対応があまかったり、良く落ちる。と言う話を聞きます。が、そんなことはどーでもええんですよ。
Safari の Windows 版が出ているると聞いて、一番期待したのはフォントのアンチエイリアス。もーーっ!!。ダウンロードしている時からどきどきワクワクですよっ!!「Apple がわざわざ Windows 向けに出すんだから当然綺麗なんだろうな。」と思うわけですよ。期待しますよっ!!
果たして、インストールして起動してみると期待にばっちりと応えてくれた Safari なのでした(英語フォントでの確認なんだけど;-)。
しかし、Microsoft も付け入る隙を与えすぎだよねぇ。Windows Vista で「メイリオフォント用意しました。」「アンチエイリアスが使えます。」とは言っても、今だにフォント周りはぼろぼろ(汚いフォント表示と言う意味です)だよ。あんなに美しくないデスクトップは使いたくもない。
僕はそもそも普段から X11 に KDE3 使っていて、時々 MacOSX ユーザなんだけど、このデスクトップ環境に慣れてしまった体では Windows は使いたくもない。フォント周りが汚すぎてね。
と、言うことで Apple の Safari に大いに期待。そして Microsoft たただちに IE7.2 を出してアンチエイリアスを有効にした綺麗なブラウザで迎撃するんだろうなぁ;-)。もしかしたら WindowsVista SP1 として出してきたりして。
アンチエイリアスが有効になった Safari が Windows で動くようになると、Windows ユーザは Safari を使い出すようになって、するとコンテンツ屋さんは Safari 対応のコンテンツを書くようになる。今までのように、IE にしか対応していません。じゃ通らなくなる。うーーん。これは良い傾向だ;-)。
/usr/ports/www/nspluginwrapper はすごいらしい。flash7 で音が出るらしいと風の噂で耳にした。と、言うことで試してみた。
この ports をインストールした後に nspluginwrapper -v -a -i とコマンドを実行すれば ~/.mozilla/plugins に プラグインが格納される。
firefox の場合は www/linuxpluginwrapper を利用すれば www/linux-flashplugin7 は動いていたんだけど、konqueror では flash6 のプラグインしか動かなかったのよねぇ。
なので、僕は古い ports から www/linux-flashplugin の 6 のバージョンを持ってきて firefox の場合は linux-flashplugin7 を利用するけど、konqueror の場合は linux-flashplugin6 を参照するように設定してた。
けど、www/nspluginwrapper を利用すると konqueror でも linux-flashplugin7 が使えるようになってちょっと感激;-)。
ちなみに www/nspluginwrapper を FreeBSD/amd64 上でインストールすると、 /usr/local/lib/nspluginwrapper/amd64/freebsd と言うディレクトリができるので、ん? 64bit 環境で動くのかぁ? と期待を寄せてしまう;-)。こっちはまだ試していないんだけどねぇ。
今日の夜にでも試してみよう;-)。
ウェブページのカウンターとしては Count.cgi と言うのが有名なんですが、まぁ、以下の URL のプログラムです。
http://www.muquit.com/muquit/software/Count/Count.html
僕もその昔、ASP にいた頃良くメンテしていました。
で、このカウンター、同一のアクセスもとから何回もアクセスがあるとカウンターが上がらないようにするオプションがあるんだけど、conf/count.cfg の count_reload=No かな。リロードしてもカウンタ-アップしないうにするオプションです。
しかし、IPv6 のアドレスからアクセスすると、この設定が有効にならないのねぇ・・。
カウンターの元データとなる Counter/data/file.dat にはカウンター数と最後にアクセスのあった IPv4 アドレスを保持します。このファイルに掲載されている IPv4 アドレスからアクセスがあるとカウンタアップしないんだけど、IPv6 アドレスからのアクセスだと count_reload=No が有効にならないのでガンガンカウンター値が上がってしまうX-(。
こらー、IPv6 対応させる必要があるかなぁ・・。どなたかチャレンジして、FreeBSD の ports でええので対応しませんか?:D:D
僕はDELL Latitude X1を持っているんだけど、現在 FreeBSD は 6.2-STABLE を追いかけている。
ports は ports-current を追いかけているんだけど、 xorg が 7.2 になったからなのか、最新の STABLE で 変更が入ったからなのか、 sysctl から hw.acpi.video.out0.active が消えてしまった・・。
DELL X1 は 一応 S1 っぽい S3 の suspend/resume ができるのだけど、今までは以下のようにすれば、 resume からの復活でディスプレーのバックライトが点いていたんだけど、この sysctl のパラメータが無くなってしまった・・。
|
なので resume から目覚めてもバックライトが点灯しないので画面は真っ暗・・。あぁ・・。どうしよう。多分原因と言うか、手が入ったのは acpi_video.ko だと思うのだけどねぇ。しばらくは調査の日々が続きそうです・・。
まだ、原因が特定できていないし回避策も見つかってはいません・・。
あ、後、良い事も一つあって、レジューム後は CPU 速度が自動的に可変に動作するようになりました。今までは ntpd をリスタートしないと CPU 速度が固定だったのだけどねぇ。
DELL X1 の詳細については DELL Latitude X1(7-CURRENT) もご覧下さい。ちょっと古いんですけど・・。
5/19 の cvsup からかな。X11 と言うか xorg が大きく変更された・・。僕は今日、cvsup したんだけどねぇ。ports は xorg-6.9 から xorg-7.2 にバージョンアップしたんだけど、/usr/X11R6 を使わなくなっているやないのっ!!
まじかよっ!! って感じなんだけど、まぁ、考えてみると、僕の UNIX 生活は X11R4 から始まっているわけで、/usr/X11R4 が最初だった気がする。そのあとバージョンがあがって長い間 /usr/X11R6 だったな。
でもって、xorg-7.2 からは /usr/local/ になりました。これも UNIX の歴史の一部なのかなぁ。
ports からインストールする人は /usr/ports/UPDATING に従ってバージョンを上げましょう;-)。
/usr/X11R6/bin や /usr/X11R6/lib の中がちょっとづつ無くなって行くサマはそれなりに悲しいものですが・・。
デスクトップと NotePC の FreeBSD は最新の 6.2-STABLE にしていたんだけど、サーバはなかなか最新にする勇気が無かった・・。
そー。sendmail 回りがガガガとバージョンアップしたからねぇ。メールの送受信に問題が発生すると困るのでなかなかその勇気がでなかった(^^;;。
ちなみにうちのサーバは sendmail+procmail で courier-imap を利用していて、更に majordomo が動いているので sendmail は結構真剣に作らなければならないのでした。
majordomo はバーチャルホストで複数のドメインを利用しているので以前に書いた local-host-names を利用しないようにするための sendmail.cf にしなければいけないしねぇ。
と、言うことでちゃんとバックアップして、恐る恐る最新の STABLE にして、ただちに sendmail.cf を作って一応事なきを得た。と言う感じ。
作業中、spam がガンガン届くんだけど、これって、MTA の設定に不備がないかの目安になってある意味役に立つかも;-)。spam が届かなくなったら sendmail.cf の設定が悪いんだって事だからねぇ・・。
ちゅーこってこれで自宅の全ての UNIX ベースの OS は sendmail-8.14.1 になったな;-)。
僕は Core2Duo な MacBook を持っているんだけど、以前から MacOSX で納得のいってなかったのは、 MTA が IPv6 に対応していないこと。そー。MacOSX では Postfix が default で入っているのだけど、こいつが IPv6 に対応していないX-(。
なので最近は、FreeBSD の sendmail のバージョンがアップする度に MacOSX に sednamil をインストールしている。今回はそのインストール方法についてまとめて掲載してみよう。まぁ、一種の自分の忘却録みたいなモンだけどね(^^;;。
僕の手元には FreeBSD があるので MacOSX に最新版の sendmail をインストールするときには FreeBSD が必須となっています。以下、MacOSX に sendmail をインストールするときに必要なもの。
1. FreeBSD の /etc/mail 配下一式。FreeBSD STABLE などから tar で固めて持ってきましょう;-)。
2. /usr/ports/mail/sendmail/files/site.config.m4 と site.config.m4.ipv6
IPv6 対応にする sendmail にするためには以下のコマンドを打って site.config.m4 を作成すれば良いでしょう。
|
3. sendmail-8.14.1 のソースコード。
さぁ。準備は整いましたか?では続いて sendmail の build と行ってみましょうか。
1. MacOSX 上で sendmail のソースを展開します。
2. Build スクリプトを実行します。大体以下のような感じ。os と rel は uname -a コマンドを実行し、自分の MacOSX のバージョンに合わせます。
|
次に build が終わったらインストールしますがその前にディレクトリを掘って上げます。なお、Build install では mail.local をインストールしてくれないのでこれだけは手でインストールします。また、sendmail.cf を作成するために cf ディレクトリを /usr/share/sendmail/ 配下にコピーします。
|
以上で sendmail のインストールは完了です。
FreeBSD から /etc/mail 配下を持って来ているのでそれをそのまま MacOSX に展開します。/etc/mail 配下では bsdmake とたたくと m4 マクロから sendmail.cf を作成してくれることでしょう。
しかし、これだけでは sendmail が動作しないのが MacOSX です。sendmail が正しく動作するために環境を整える必要があります。
まずは NetInfo マネージャで sendmail が動作するユーザを登録します。これは FreeBSD の /etc/passwd、group ファイルと同じでいいでしょう。 以下の二つを NetInfo マネージャ から users と groups に登録します。
|
|
次に各種ディレクトリの整合性を取ります。sendmail 用のディレクトリを作成します。また、sendmail は自分が参照するディレクトリが 775 だと動かないのでそれを直してあげる必要があります。裏を返すと MacOSX は全然安全では無い OS。と言うことですね・・X-(。
|
さてと・・。最後の三つの chmod でディレクトリのバーミッションを変更していますが、これやると、一般ユーザから NetInfo マネージャが動作しなくなります(ユーザ情報の登録・変更などができなくなります)。怖いですねぇ・・。しかし、775 になっている OS はそーそー使いたくないものです。この際だから 755 に変更してしまいましょう。
NetInfo マネージャが使えなくなると困るので、ログイン画面から root でログインできるようにします。NetInfo マネージャで root にパスパードを設定してあげれば良いです。そうすれば、NetInfo マネージャを使いたい場合は、いつでも root でログインして利用することができます。
以上で sendmail のインストールは完了です。後はスタートアップスクリプトを書くだけです。まぁ、あれなんですけど、/etc/hostconfig から起動するようにしましょうかね。以下の行を /etc/hostconfig に書きます。
|
でもって起動スクリプトSendmail を用意しました。これを /Library/StartupItems/ に展開すれば、起動時に sendmail が起動するようになるでしょう。
さて、これで以上ですが、あなたも MacOSX で IPv6 な MTU の世界をお楽しみください;-)。
iPod miniを持っている。自宅では MacOSX を利用しているのでカレンダーなどを同期している。
会社では iPod にバッテリーが無い時だけ FreeBSD に接続し充電だけしている。まぁ、iPod を HFS+ にしているとファイルシステムとしては認識しなくて全然利用できないので ISMS 的にはなんの問題もないのだど、 ISMS の審査員がそこまで知っているか?と言えば知らないと思うので明らかにアウトだな。
で、話は konqueror との相性です。以前に KDE と hald の関係について書いたけど、hald がちょっと頑張りすぎる傾向にあるみたい。
FAT32 にした iPod を KDE が動作している FreeBSD に接続すると、mount しようとして hald が頑張るんだけど konqueror はそれをうまく認識できなくて、一人でブクブク太っていってしまう。気がついたら konqueror がメモリを食いつぶしていた。なんてことが多々あるわけですよ。
何回かに一回位は hald が拾ってくれる時があるんだけどねぇ。
後、iPod をつなげた瞬間に X が固まることもあったりするし、iPod をつなげたままリブートすると再起動中に途中で止まったりするし・・。
しかし、これらの現象、iPod を USB から引っこ抜くと全てちゃんと動き出す。iPod 恐るべし;-)。
ちなみに僕の持っている iPod は黄緑色の mini です。