最新更新日  2003.04.16.

インストールは?
  まず初めにインストールについてですが、きっと皆さん知っていると言う事で省略;-P。

  そーいやぁ、最近、銀河鉄道 999 に凝っているのですが、メーテルとエメラルダスって二子の姉妹だって知ってました?僕も驚いているのですが。って・・。そんな事はどうでも良いですね(^^;;。

  ブート FD が 3 枚になりましたね。最後の一枚は本当に必要な時に使えば良いので実質利用するのは今まで通りですね。他にいろいろなデバイスに対応した、標準の 2 枚ではダメな時に 3 枚目を使えばよいでしょう。

  CD-ROM から 5.0-RELEASE をインストールすると XFree86 は 4.2.0、 gnome2 は 2.2.0、KDE3 は 3.0.5 ですね。んーー。KDE3 の場合はちっと古めかなぁ・・。ports を cvs から取ってきてアップデートしましょう。

   ports を CVS から取ってくる手順を簡単に書いておきます。

# cd /usr/ports/net/cvsup-without-gui
# make install
# mkdir /usr/local/etc/cvsup
# cd /usr/local/etc/cvsup
# vi supfile_ports
# rehash
# cvsup /usr/local/etc/cvsup/supfile_ports

  こんな感じで ports を最新版に更新する事が出来ます。ただし、ports は絶えず更新されているので必要なのが make 出来なくなっている場合もあるので current な ML に入るなどして情報収集する必要があるかもしれません。

  下は supfile_ports の中身です。

*default tag=.
*default host=cvsup2.jp.freebsd.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release=cvs delete use-rel-suffix compress
release=cvs delete use-rel-suffix compress
ports-all

カーネルは小さくしようぜぃ。
  まぁ、4 系 RELEASE でもローダブルモジュールと言うのは使われていたのですが、5.0-RELEASE ではもっとガンガン行きましょう;-)。以下は僕がメインで使っている PC の kldstat ですが、ありとあらゆるモノを kldload しています;-)。

Id Refs Address    Size     Name
 1   29 0xc0100000 296f98   kernel
 2    1 0xc0397000 9554     cd9660.ko
 3    1 0xc03a1000 fb48     msdosfs.ko
 4    1 0xc03b1000 64f8     procfs.ko
 5    1 0xc03b8000 56f4     md.ko
 6    1 0xc03be000 2c54     if_faith.ko
 7    1 0xc03c1000 5548     if_gif.ko
 8    2 0xc03c7000 1677c    miibus.ko
 9    1 0xc03de000 a5ec     if_fxp.ko
10    2 0xc03e9000 1d128    snd_pcm.ko
11    1 0xc0407000 4ff4     snd_via8233.ko
12    6 0xc040c000 20b80    usb.ko
13    1 0xc042d000 5800     ugen.ko
14    1 0xc0433000 4020     ums.ko
15    1 0xc0438000 67a8     umass.ko
16    1 0xc043f000 e678     bktr.ko
17    2 0xc044e000 1f3c     bktr_mem.ko
18    1 0xc0450000 1557c    random.ko
19    1 0xc0466000 1bab4    nfsclient.ko
20    1 0xc0482000 296c     aout.ko
21    2 0xc0485000 4850     sysvmsg.ko
22    2 0xc048a000 6128     sysvsem.ko
23    2 0xc0491000 50c4     sysvshm.ko
24    1 0xc0497000 4a6ac    acpi.ko
25    1 0xc425e000 16000    nfsserver.ko
26    1 0xc42af000 17000    linux.ko

  カーネルのコンフィグファイルでトコトンまでスリムにした後、/boot/loader.conf にがんがん書いてロードモジュールにします。うひひ。そーするとこんな感じでしょうかね。以下にちっと loader.conf のサンプル設定を掲載してみましょう。

#boot_verbose="-v"
#hw.acpi.ec.event_driven="1"
#debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_BUS"
#debug.acpi.level="ACPI_LV_WARN ACPI_LV_ERROR ACPI_LV_OBJECTS"

msdosfs_load="YES"
nfsclient_load="YES"
procfs_load="YES"
aout_load="YES"
sysvmsg_load="YES"
sysvsem_load="YES"
sysvshm_load="YES"
cd9660_load="YES"
  :

  一番上の boot_verbose は カーネルブート時に boot -v としますが、それを指定しています。これを有効にするとメッセージの冗長出力をします。debug.acpi で始まっている行は ACPI のデバック用です。デバイスの他にはファイルシステム(msdosfs procfs cd9660 など)や SVR4 関係(sysv で始まる行)とかもモジュールでロードしています。

  カーネルモジュールにする価値が本当にあるのかはよく分かりません(^^;;。ただ、僕の使っている MPC-206 は全部で 31 個のモジュールをロードしています(^^)V。えばれる数でしょ;-P。

  後は関連して、/boot/device.hints で自分の PC に無いモノを disable にする事でしょうか。例えばシリアルポートがついてないヤツなどは #hint.sio.0.disabled="1" などと記述すれば良いでしょう。

ACPI と NEWCARD。
  ACPI が動く様になりました。NotePC の場合は大変。デスクトップの場合はそれなりに。と、言う感じでしょうか・・。ACPI については MPC-206 や、DELL X200 のコーナーを(あんまネタ無いけど)参考にしてみてください。

  後、OLDCARD から NEWCARD になりました。これは結構大きい。今まで PCCARD は /etc/defaults/pccard.conf を使ったりしていて、新しいカードなどはここにエントリを追加していれば良かったのですが、NEWCARD では USB みたく設定ファイルに、ベンダ ID とプロダクト ID を書く必要があります。/usr/src/sys/dev/pccard/pccarddevs と言うファイルですな。

  このファイルに USB と同じ様に書くとブート時に認識してくれたりします。ただ、悲しい事に僕の持っている 3 枚の PCMCIA のモデムカードは全然認識しなくなってしまいました。OLDCARD でのモデムの設定は pccard.conf で非常に簡単な記述で動作していたのですが、NEWCARD になったら悲しい事に・・。しくしく。この辺りはもうすこしいろいろ格闘の余地かりか・・。

  後、例えば、Bt878 の PCMCIA(CardBUS Card) を手に入れたとしましょう。でもって NEWCARD で使った場合、PCI レベルで認識しません。デバイスのソース中に以下の行を埋め込む必要がありますな。

DRIVER_MODULE(bktr, pccard, bktr_pccard_driver, bktr_devclass, 0, 0);
DRIVER_MODULE(bktr, cardbus, bktr_pci_driver, bktr_devclass, 0, 0);

  もし、本当に Bt878 の PCMCIA が出たのなら上の行を /usr/src/sys/dev/bktr/bktr_os.c の一番最後くらいに書けば PCI レベルではプローブされるかも。と、言う事で、上記の行は PCMCIA で存在するデバイスにしか書かれていない場合が多いです。もし、まるっきりあたらしいデバイスを持つ PCMCIA を手に入れた時には対応すると思うデバイスのソース中に上のコードを入れてみると面白いかもしれません。

rcng。起動方法が変わったね。
  rcng プロジェクトと言うのがあるのですが、この成果が半分位でしょうか。取り込まれています。SVR4 系の起動スクリプトなんかは /etc/init.d 配下のヤツを実行すれば良いので簡単ですな。rcng はそれに通じるモノがあるかもしれません。ただし、ラン・レベルと言う概念は有りませんが。

  基本的に /etc/rc.hoge 例えば rc.network、rc.shutdown などは過去の互換性を保つためのものでダミーです。互換のために残されているだけで使われていません。/etc/rc.d/ の下のが本物で、/etc/rc.subr はそれらをつかさどるモノです。

  デーモンの起動は /etc/rc.d/sendmail start とかすれば良いです。ラクチンになりましたね;-)。後は /usr/local/etc/rc.d の下のスクリプトの記述方法とかも今後はどう変わっていくのか楽しみですね;-)。

  ま、初期の段階ではこんな所で。気がついた点があったらまた更新します。



Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.