セキュアブート可能なlinuxカーネルイメージパッケージの作成方法
Ubuntu16.04.4 LTSをMicrosoft Surface pro 3 で使用しています。
無線LANインターフェスをブリッジインタフェースに追加できません。
にある目的でカーネルを修正して.debパッケージを作成しようとしています。
まずは修正せずにパッケージをビルドしてインストール - ブートできるかを確認します
$ apt source linux-image-4.13.0-38-generic
$ dpkg-buildpackage -B
これでカーネルイメージのパッケージが作成されました。
つづいてパッケージをインストールします。
$ sudo dpkg -i linux-image-4.13.0-38-generic_4.13.0-38.43~16.04.1_amd64.deb
インストールも無事成功し、ブートしましたがセキュアブートに阻まれてブートできませんでした。
セキュアブートを無効にすればブートするでしょうが、Surfaceはセキュアブートを無効にすると
真っ赤なパワーオンロゴを出すといういじわるをするのでセキュアブートは有効なままでブートしたいです。
ビルドしたカーネルをセキュアブートでブートするためには
手順として、署名をする必要がありそうなことは想像つきます。
おそらく想像するに
1.証明書と秘密鍵を自前で生成
2.署名する(おそらく *.koも)
3.証明書をUEFIにインストールする
という手順が必要かと考えています。
しかし具体的にどういう操作をすればいいのか見当もつきません。
ダウンロードしたソースのどこかに証明書と秘密鍵を置けば勝手にしてくれるのか…
想像している手順を自前でしなくてなならないのか…
ちなみに、surfaceにubuntuをインストールしてVirtualBoxでゲストOS:Windows10を起動する
といういびつな使い方をしています。
VirtualBoxのドライバをmodprobeする際もセキュアブートに阻まれて
https://askubuntu.com/a/900121
を参考に無事セキュアブートでもmodprobeできたという経験はあります。
質問:
ビルドしたカーネルをセキュアブートでブートできるようにするにはどういう操作をすればよいのでしょうか?