「Linux from Scratch」を起動すると # プロンプトが表示されません。

「Linux from Scratch」を起動すると # プロンプトが表示されません。

私は注意を払ってきました。最初から最小限のLinuxシステムを構築小さなインストールスペース(10MB以下)でLinuxを構築します。

最後のポイントまでエラーがないと確信しています。実際にコマンドを使用して画像をテストしています。qemu-system-i386 -L . -hda minux.img

#実際にチュートリアルで示すようなプロンプトで起動するのではなく、Grub Rescueプロンプトを見ました。起動しようとしてkernel /boot/kernel_namethenを使用しましたが、boot最終的に次のように失敗しました。 グラップ2出力

私のものはgrub.conf次のとおりです。チュートリアルと同じです。

default 0
timeout 30
title Minux
root (hd0,0)
kernel /boot/vmlinux-2.6.21-1 root=/dev/hda1 rw

これまで私が見つけた唯一の違いは、で始まるfdiskセクターが2048であるということです。これはfdiskを使用して設定できる最小のセクタであるため、オフセットが大きくなります。もう1つの違いは、x86_64-pc grubを使用していて、いくつかのbusyboxライブラリの名前が異なるように指定されていることです。しかし、これが起動を妨げてはいけません。

私のLinuxが動作するようにこのプログラムをどのように修正する必要がありますか?それとも、Linuxディストリビューションを10MB未満にするより良い方法はありますか?

ベストアンサー1

小さなシステムを作ることについての2番目の質問に答えてみましょう。私たちはx86に基づいて構築しているので、私たちの意図は組み込みチップに焼かれるのではなく、フラッシュドライブからシステムを起動することです。

ディスクイメージを削除してcpio initramfsを試してください。それでは、このように始めましょう。

qemu-system-i386 -kernel vmlinuz -initrd root.cpio.gz

私はより柔軟性があり、ディスクの場所を台無しにする必要がないので、これが好きです。

私もお勧めしますgrub4dosブートローダー。名前に「dos」があるにもかかわらず、Linux上でLinuxカーネルをインストールして起動できます。インストールは簡単です。 mbrを作成し、213kファイルすべてのパーティション。 grub4dosは多くのファイルシステムを認識します。


また、あなたの設定にはgrubが正しく設定されていないようです。救うコンソールにはkernel /boot/kernel_name「root =」と入力しても表示されますboot

マイコンピュータでは、qemuゲストカーネルはディスクイメージを「/dev/hda」ではなく「/dev/sda」として認識します。

おすすめ記事