Q. boot -v などで起動すると、起動メッセージの最初の部分が、dmesg にも /var/log/messages にも残っていないのですが。 A. dmesg で表示されるメッセージは、カーネルがメッセージバッファに貯めて いるものです。このサイズは決まっており、起動時のメッセージが長すぎると バッファに入り切らず、先頭部分が表示されなくなります。 また、/var/log/messages には、マルチユーザーモードに入って syslogd が 起動した時に、カーネルのメッセージバッファを読んで書き込まれます。 その時点でバッファがあふれてしまっているので、これも dmesg と同様に 先頭部分が記録されないわけです。 このバッファのサイズは /usr/src/sys/sys/msgbuf.h で #define MSGBUF_SIZE 8192 と指定されています。 バッファを増やすには、MSGBUF_SIZE というオプションを指定して カーネルの再構築をします。LINTによると、 # Size of the kernel message buffer. Should be N * pagesize. options "MSGBUF_SIZE=40960" のように指定します。この場合はデフォルトの 5倍の容量になるわけです。 i386アーキテクチャではページサイズは普通は 4096 バイトとなっています ので、4096の倍数で指定してください。 カーネルの再構築の方法は <URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/kernelconfig-building.html> を参照してください。 なお、MSGBUF_SIZE が使えるのは 2.2.7 以降のバージョンです。
グループ名: boot-message