[[diary/Kojima]]

・linux-4.16 と VirtualBox

Plamo-7.0は、LTSになっている4.14系で行こうと思っているものの、
meltdown/spectre 対応が進んでいる4.16系も気になっているのでビルドしてみた。

例のごとく、VirtualBox上のテスト用環境でスナップショットを取ってからインストールしてみたところ、問題なく起動するものの、Xウィンドウのサイズが動的に変化しない。
例のごとく、VirtualBox上のテスト用環境でスナップショットを取ってからインストールしてみたところ、問題なく起動するものの、VirtualBoxが開いているXウィンドウのサイズが動的に変化しない。

あれれ、、と思って調べてみると、VirtualBox環境用のKMSなドライバ、vboxvideo なモジュールがロードされていない。

確か vboxvideo なモジュールはカーネルのバージョンに依存して、カーネルを更新するとソースコードのツリーを元に再構築していたはずなので、kernelsrc パッケージを更新し忘れたのかしらん、、とチェックしても問題なし。手動で

  /etc/rc.d/init.d/vboxadd setup

を実行しても異常終了するわけでもないのに何もビルドしてくれない気配。

おかしいな、、と思って、4.14系のカーネルに戻してみると再起動時に vboxvideo がビルドされ、従来通り、画面サイズを動的に変更できる環境になる。

linux-4.16 になって何か変ったのだろうか、、と調べてみたところ、4.16 ではvboxguest と vboxvideo なドライバはカーネル本体に取り込まれているらしい。

じゃぁカーネルビルド時の設定ファイルか、と調べて行くと、vboxguest は

  Device Drivers => Virtualization Drivers => VirtualBox Guest Integration Support

でモジュールとしてビルドすることになっている。一方、vboxvideo なドライバがどこにあるのかと言うと、テスト版レベルを示す Staging Drivers 内にあった。

  Device Drivers => Staging Drivers => VirtualBox Graphics Card

これらのドライバは 4.16 になってマージされたらしく、
4.14 系の config ファイルを元にした make oldconfig では、
stagingレベルとされたvboxvideoなドライバは有効化されないらしい。

一方、VirtualBox側では、カーネル本体にマージされたドライバはビルド不要、と判断するようで、vboxvideo なドライバがビルドされないままになってしまう。

make menuconfig で 

  Device Drivers => Staging Drivers => VirtualBox Graphics Card

を手動で選んでカーネルを再構築、再パッケージしてやれば、無事、従来通り、vboxvideo が機能して、動的に画面サイズを変化させられる環境が復旧した。

このあたり、結構ハマりそうなのでメモしておく。

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS