そしてCURRENTへ
CURRENTは開発バージョンですがLinuxの2.2と2.3、glibcの2.1.3と2.1.9xとの
差に比べるとそこまでの違いはないです。
そんなに頻繁に更新されるものでなく1月に1回くらい行うのがいいでしょう。
PORTSの方は結構頻繁に更新されるみたいです。
CURRENTにあげるにはSTABLEから上げるのが基本です。
RELEASEの場合は一度STABLEにしてからCURRENTへ上げます。
CVSup
cvsupでCURRENTのソースへアップデートします。
supfileに/usr/share/examples/cvsup/standard-supfileをつかえば
CURRENTにできます。
このstandard-supfileをもとに
portsもアップデートできる
supfileを作りました。
#!/usr/local/bin/cvsup -g -L 2
*default host=cvsup.jp.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
src-all
ports-all
doc-all
注目点は「tag=.」です。カレントをchackoutするという意味です。
このスクリプトを実行すればCURRENTへアップデートされます。
このファイルで「src-all tag=RELENG_4」とするとSTABLEになります。
システムアップデート
変更履歴は/usr/src/UPDATINGに書かれています。
注意したいのは下の方の「COMMON ITEMS:」という部分です。
STABLEから上げる場合は必ずここに作り方のとおり
にします。
つぎにコンパイルによって作られるファイルが入る/usr/obj/以下を削除します。
STABLEからあげるときはやった方がいいでしょう。
頻繁に更新する場合は残しておいた方がいいでしょう。
# cd /usr/obj/
# chflags -R noschg *
# rm -rf *
あとはUPDATINGに書いてあるようにやります。
CURRENTで必要なファイル/boot/device.hintsは
isaデバイスの設定です。足りなければ自分で付け足します。
そのあと通常モードに移行し/stand/sysinstallをインストールします。
# cd /usr/src/
# make buildworld
# make buildkernel KERNEL=GENERIC
# cp src/sys/i386/conf/GENERIC.hints /boot/device.hints
# make installkernel KERNEL=GENERIC
# init 1
# cd /usr/src/
# make installworld
# mergemaster
# logout
# cd /usr/src/release/sysinstall/
# make all install
# fastboot
うまく動けばこのカーネルを/kernel.GENERICにして
オリジナルカーネルを作ります。
# cp /kernel /kernel.GENERIC
# cd /usr/src/sys/i386/conf/
# cp GENERIC ICHIYAMA
# vi ICHIYAMA # 「ident GENERIC」を「ident ICHIYAMA」に
# cd /usr/src/
# make buildkernel KERNEL=ICHIYAMA
# make installkernel KERNEL=ICHIYAMA
# fastboot
以前のバージョンでサウンドデバイスを作っていなければ再起動後
# cd /dev/
# ./MAKEDEV snd0
# ./MAKEDEV snd1
kernel moduleついて
UPDATINGにも書いてある通り、CURRENTではkernel moduleのパスが/modules/から
/boot/kernel/に変わっています。しかし依然kernelは、/modules/があると
そこを呼んでしまいます。そのため/modules/を消す必要があります。
/modules/を呼んでも大体は問題ないですが、linux関連を実行すると失敗します。
# rm -rf /modules/ /modules.old/
# fastboot
起動カーネルの選択
作成に失敗したときなどGENERICカーネルでブートしたい場合は、
ブートローダーで「Hit [Enter] to boot immediately ...」のときに
Enter以外のキーを押すとプロンプトが出て来ます。
そこで次のように起動カーネル選択ができます。
ad0s3a:> unload
ad0s3a:> boot /kernel.GENERIC
PORTSアップデート
# pkg_version -c > ~/update_pkg
# sh ~/update_pkg
パッケージが消えたばあいは、update_pkgをみておなじものを
「make clean; make install」してください。
# cd /usr/ports/x11/gnome/
# make clean
# make install
追記11/20: /kernelの削除
最近のCURRENT では /kernelは使わず/boot/kernel/kernelで起動します。
そこで/kernelはいらないので消す必要があります。
しかし、/kernelはchflagsでガードされているのでrmでは消せません。
まずrmする前にchflagsでフラグを外す必要があります。
# chflags noschg /kernel
# rm /kernel
あと、最近のCURRENTはGENERICでpcmサウンドが有効になっているようです。
UATA66対応だし僕の場合あえてオリジナルのカーネル設定を作る必要が
もうありません。
Copyright (c) 2000
ichiyama ryoichi,
All Rights Reserved.