古いPC BIOSはUSBから起動できず、マザーボードの製造元はそれを可能にするために更新していません。
通常、USBを起動可能にするためにUNetbootinをロードします。
ここでは失敗するので、32MBのハードドライブから起動し、USB起動をサポートする高速Linuxが必要です。
Grubを試してみましたが、私が知っている限り、使用しているシステムを事前に宣言する必要があります。 Tiny Core、Arch、その他のリーンディストリビューションで頻繁に切り替えるので、柔軟性を維持したいと思います。
ベストアンサー1
32MBは必要ありません。実際にはLinuxを起動するだけです(コア)USBドライブのサポート機能が内蔵されていることを確認してください。
コンピュータに複数のSATA / USBディスクがある場合は、正しいルートパーティションを見つけるのが難しいかもしれませんが、カーネルをロードしてUSBドライブをルートとしてマウントするように指示するだけです。
私はこれがフロッピーディスクに合っていないと思います(カーネル縮小技術を習得したり、2.88フロッピードライブと互換性のあるフロッピーディスクを持っていない限り)。しかし、スペース要件はより単純になります。
失敗した場合は、USBドライブを処理してフロッピーディスクに挿入できる小さなプログラムを見つけたり、コーディングしたりできます。ブートローダーが好きなのかと思います。スマートなスタートアップマネージャーUSBディスクをチェーンロードする機能。
編集する:独自のカーネルをコンパイルする方法:プロセスは難しくなく、非常に簡単です。難しいのは、正確に必要なものと除外できるものを見つけることです。これカーネル構成に関するGentooマニュアルの章ステップを示します。つまり、
カーネルソースを入手し、システムにそれをコンパイルするツールがあることを確認してください(Gentooには常にツールがあるので、Gentooのマニュアルではこの最後の部分をカバーしません)
カーネルの設定:UNIXの開発に慣れていない場合、開発手順はLinux
Makefile
で使用されているレシピと共にファイルにエンコードされることが多く、make
Linuxを設定するためのさまざまな方法(インタフェース)を提供します。プレーンテキストを使って作業するのは私が主に選択することで、素晴らしい(テキスト)メニューを提供します。make xconfig
make config
make menuconfig
カーネルのコンパイル:ああ、ちょうど
make
コードをコンパイルし、イメージを構築します。コンパイルされたカーネルを必要な場所にコピーします。
ブートローダにこのカーネルについて教えてください。
今問題はそれから役に立つものを得る方法です。カーネルを作りたいです。非常に小さいため、1つの可能性は、モジュールサポートを有効にし、必要に応じて起動中に必要なすべてのモジュール機能(USBコントローラとUSBドライブを含むすべてのファイルシステムサポートを含む)をカーネルでコンパイルすることです。残りはUSBドライブに接続されているモジュールでなければなりません。 (後で読み込むことができます)
カーネル自体にはフロッピーイメージmake fdimage
などをビルドするためのターゲットがありますが、このように小さなイメージをビルドmake fdimage144
できないmake fdimage288
場合はどう動作するのか気になります。
kexec
また、kexecをサポートし、モジュールなしでUSBドライブのみを読み、他のカーネルのエントリをバイナリとして実行する非常にミニマルなカーネルを構築することが可能かどうかを知りたいです。kexec
POSIXと同様にexec
実行を置き換えます。コア)