[email protected] (丸山直昌) wrote in <[email protected]>:
ma> VIMAGE のことは忘れていました。 ma> ma> Date: Thu, 01 Sep 2016 14:04:04 +0900 ma> Subject: [FreeBSD-users-jp 95966] FreeBSD と PC-BSDの違い ma> ma> に書いた通り、 10.3での元祖 FreeBSD と PCBSDの違いは ma> ma> usr/src/sys/amd64/conf/GENERIC PCBSD/usr/src/sys/amd64/conf/GENERIC ma> usr/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c ma> ma> だけで、少ないとは言え違うので、可能性だけ言えば、動かなくなる機能はある ma> わけですが、私は jail は使っていないので、まあこのままFreeBSD プロジェク ma> ト側の freebsd-update サーバを使ってみます。 PC-BSDの update サーバーは ma> 手抜きでどうしようもありません。 VIMAGE が入っている場合、jail を使っているかどうかと関係なく ネットワーク周りのコードがごっそり変わりますので、 不具合はこれからも出ると思います。 先のメールにあった ma> link_elf_obj: symbol vnet_entry_ifnet undefined は、グローバル変数である ifnet の参照(カーネルモジュールの リンク時のシンボル解決)に失敗していることを示しています。 linprocfs は proc/net/dev をサポートするために ifnet を使います。 ifnet の構造体は VIMAGE がある場合とない場合とで大きく異なります。 具体的には、ある場合は vnet_entry_ifnet という名前に置き換えられ、 ない場合は ifnet という名前のままです。 そのため、linprocfs.ko を読んだ時点で上記のエラーが出るという情報から 推測すると、PC-BSD に含まれている linprocfs.ko と FreeBSD プロジェクトがリリースしている GENERIC カーネルとを 組み合わせた場合なのだと思います。GENERIC カーネルには vnet_entry_ifnet が定義されていませんので、カーネルモジュールの ロードに失敗します。 なぜ再現しないのかはわかりませんが、 「freebsd-update によってカーネル本体だけ差し替えられた」という 想像が正しいなら、カーネルモジュールのうち、ifnet を参照するものは 全滅しています。これには linprocfs だけでなく、 ipfw や pf, if_vlan などが含まれますので、影響は大きいです。 自己責任で使われるのは自由だと思いますが、 メーリングリストに報告しても有益なアドバイスを得られる可能性は 非常に低いのではないでしょうか。 -- Hiroki
pgpJzebKSgE7s.pgp
Description: PGP signature
