FreeBSD 7 to 8のハマりどころ

ソースアップグレードならとくに引っかかるところもなく スムーズに行けるのだが、以下の点に注意が必要。

1点目。/boot/device.hints を以下のように変えておく。 該当部分のみ示す。

hint.sio.0.at="isa"
hint.sio.0.port="0x3F8"
hint.sio.0.flags="0x10"
hint.sio.0.irq="4"
hint.sio.0.disabled="1"
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.0.disabled="0"

これでFreeBSD 8 カーネルから起動できればOK。

2点目。たとえば、FreeBSD 7のときに ad0s1h に bsdlabel をさらに作って ad0s1h{a,e,f,g,h} と5パーティション分を確保していた。さらに ad1 のほうも ad1s1h{a,e,f,g,h} と5パーティション分を余分に作ってそれぞれ 対応のつくものどうしで gmirror を構築して使っていた。 ところが、FreeBSD 8カーネルでは gmirror プロバイダ検索時に bsdlabelパーティション内のbsdlabelを見に行ってくれない。よって使えない。 ついでにいうと、gmirror と gvinum を組み合わせたパーティションもダメ。 なので、素直な構成に直さないと8に行けない。ま、8に行くタイミングで FreeBSD ufsを捨てて zfs ってほうが未来は明るいか。

あと、netstat -b の出力形式が変わったので、 mrtgとかで転送量を見ている場合は注意。