ミニマルなカスタムカーネルを作成するためのチュートリアルを読んだ。ここチュートリアルで説明されているように、GRUBをブートローダとして使用して仮想マシンから起動できました。
起動可能なペンドライブを使用してベアハードウェアで同じことを行うことができれば、もっと興味深いと思いました。つまり、GRUB、ペンドライブ、およびカーネル実行可能ファイルを使用して起動可能なペンドライブを作成し、このペンドライブからカーネルから起動します。
Q1.起動可能なLinuxペンドライブを作成する一般的なプロセスを使用しようとしましたが、私のカーネルは実際にisoイメージではなく、elf形式の実行可能ファイルです。どういうわけか実行可能ファイルをiso形式に変換すると、一般的な方法は機能しますか?
Q2.進行方法に関する他のアイデアやリソースへのリンクはありますか?
添付:それ自体はLinuxカーネルではなく、確かにファイルシステムがない最小カーネルです。起動し、コンソールに何かを印刷し、キーボードイベントを処理できます。それがすべてです。
答え1
ブートの観点から見ると、カーネルファイル自体はgrubに提供されている設定オプションです。 grubがカーネルを見つけることができるだけであれば、続行できます。
ただし、rootfsとして使用するものが必要なため、USBキーのパーティションまたはddイメージが適しており、その中にカーネルファイルを保存します。すべての grub エントリとともに /boot に入れることもできます。したがって、少なくとも起動するには、USBキーにmbrを設定し、grub構成を含むファイルシステムを設定する必要があります。 (インターネットで/bootのfatとextの例を探してみました。ほとんどのUSB LaunchKeyToolがFATを基本として使用していることを知っています。情報があります。ここUbuntuを例に挙げましょう。私はあなたの立場でこれらのツールを使用して起動可能なUSBを作成し、必要に応じて修正してgrubをインストールし、mbrコンテンツを管理できると思います。
私は最終的にUSBキーからgrubを起動して実行する方法の問題だと思います。その後は grub 構成にすぎません。これ過去にリンクが役に立ちました。
答え2
読むDebianのリアルタイムビルドシステムについて。
--linux-package
linux-kernel.debには、独自のカーネルを指定してDebian形式でパッケージ化するオプションがあります。