newconfig パッチの使い方

最終更新日時: $Date: 1999/08/11 14:57:29 $

このパッチはテスト目的に作成されたものです。4.0-current または 3.1-RELEASE をインストール してある環境でカーネルのコンパイルして、そのカーネルを起動することが可 能ですが、いくつかの制限があります。

newconfig カーネルの作成方法

  1. 4.0-current または 3.1-RELEASE が動作しているマシンを用意します。 貴重なデータ等があれば、バックアップしておくことをおすすめします。
  2. FreeBSD 4.0-current の 990410 00:00:00 JST のソースを用意します。 CVS repository から入手するか、 ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-jp/newconfig/base/sys4c990410.tar.gz から入手します。
  3. sys4c990410.tar.gz を使う場合、 /usr/src 以下にソースコードを展開します (最低限、/usr/src/sys と /usr/src/include 以下があれば十分です)。 以前のソースコードが展開されており、それが必要であればバックアップを取ります。
    	# cd /usr/src/
    	# mv sys sys.ORG
    	# mv include include.ORG
    	# tar xzf somewhere/sys4c990410.tar.gz
    
  4. パッチを入手します。 パッチは ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-jp/newconfig/snapshot/ に公開されています。 最新のパッチキットの利用をおすすめします。
  5. パッチを当てます。
    	# cd /usr/src
    	# zcat somewhere/newconf_30_981225.diff.gz | patch -p1
    
    必要なら、正常にパッチが当ったかどうかを検査します。
    	# find . -name '*.rej' -print
    
  6. config.new をコンパイルします。
    	# cd /usr/src/usr.sbin/config.new
    	# make
    	# make install BINDIR=/usr/sbin
    
    csh 系をお使いの場合は、さらに rehash を行います。
    	# rehash
    
  7. config.new が読む config ファイルを編集します。サンプルの config ファイルは
    	/usr/src/sys/i386/conf/NEWCONF		(PC の場合)
    	/usr/src/sys/pc98/conf/NEWCONF98	(98 の場合)
    
    です。貴方のマシンに応じて config ファイルを編集してください。 config ファイルの文法は、旧来の config ファイル(GENERIC 等) とは異ります。付属の config ファイルを参考にしてください。 なお、newconfig では UserConfig が動作しないことに注意して 下さい。
    	# cd /usr/src/i386/conf (98 の場合は /usr/src/pc98/conf)
    	# cp NEWCONF MYCONF	(98 の場合は NEWCONF98)
    	# vi MYCONF
    
  8. config.new を実行します。
    	# config.new MYCONF
    
  9. カーネルの make を行います。
    	# cd ../../compile/MYCONF
    	# make depend
    	# make
    
    make が上手くいけば、めでたく config.new ベースのカーネルが できあがります。
  10. 3.1-RELEASE を使っている場合には、/boot を入れ換えます。
    	# cd /usr/src/sys/boot
    	# make
    	# make install
    
    -Os オプションのために /usr/src/sys/boot/i386/boot2 のコンパイルに失敗する 場合には、-Os を -O オプションにしてみて下さい。
  11. 適当な名前で / にコピーして reboot して下さい。 make install は、この場合避けた方が良いです。/kernel と いう名前でインストールするのは危険ですから。
    	# cp kernel /kernel.newconf
    
作成したカーネルでブートする場合は、まず single user mode でブートして みることをおすすめします。 また、SCSI はハードコーディングなために,
(probe14:ncr0:0:15:0): COMMAND FAILED (6 ff) @0xf085de00.
といったメッセージが表示されますが, 動作に支障はありません.

[Powered by FreeBSD]

www@jp.FreeBSD.org
Copyright (C) 1998, 1999 The FreeBSD Project (Japan). All rights reserved.
$Date: 1999/08/11 14:57:29 $