![カスタムバージョン番号でカーネルパッチと grub に一覧表示 [閉じる]](https://linux33.com/image/106228/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%95%AA%E5%8F%B7%E3%81%A7%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%91%E3%83%83%E3%83%81%E3%81%A8%20grub%20%E3%81%AB%E4%B8%80%E8%A6%A7%E8%A1%A8%E7%A4%BA%20%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
質問をもう少し具体的に変更してもう一度開きます。
Ubuntuでパッチを適用する方法(使用修理するコマンド)を使用してカーネルにパッチを適用します(これは修理する、交換用ディスクを受け入れるようにbtrfsをインポートする、すべて)。オンラインでいくつかの指示を見つけました(Ubuntu用のBuildYourOwnKernel)、しかし私が探している全体のレシピではありません。この質問により、誰かが誰もが従う簡単な方法を提供できることを願っています。必要なものは次のとおりです。
現在実行中のカーネルのソースコードを取得する方法。
パッチを適用する方法。
私のディストリビューションで一般的に使用する設定を使用してどのようにコンパイルしますか?
現在の公式カーネルを交換せずにインストールできるようにカーネルバージョンを変更するにはどうすればよいですか?可能であれば、「-tmp」またはいくつかの略語を追加して公式バージョンと区別してください。
grubが新しく構築されたカーネルを認識し、メニューに表示しますが、デフォルトではロードしないようにするにはどうすればよいですか?以前の公式カーネルはデフォルトでロードする必要があります。私のカスタムカーネルを明示的に選択したいと思います。
システムを再起動する方法(たとえば、再起動時など) grub では、起動するカーネルを選択できます。
カーネル操作が終わったら、ファイルシステムとグラブからカーネルのすべてのトレースをどのように削除しますか?
答え1
これらのほとんど/すべてに対して root 権限が必要なので、以下を使用してください。
sudo -i
いくつかのユーティリティとライブラリのインストール -
apt-get install build-essential fakeroot kernel-package libncurses5-dev zlib1g-dev libssl-dev xz-utils
次に、カーネルソースツリーを抽出してパッチを適用してから、/bootから/path/to/source/.configにジョブ設定をコピーします。
次にカーネルを設定します。
make oldconfig
または
make menuconfig
構成が完了したらビルドします。ビルドコマンドはバージョンに追加する場所です。
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-MyPatchedKernel kernel_image kernel_headers
これにより、2つのdebファイルが作成されます。 1つはカーネル用で、もう1つはヘッダー用です。 /usr/src/linuxで作業している場合、debファイルは/usr/srcにあります。 dpkgを使用してインストールするだけです。