web-dev-qa-db-ja.com

QEMUでカーネルを実行する

私はこのメッセージに直面します:

Failed to execute /initKernel panic - not syncing: no init found. 
Try passing init=option to kernel.

私はこのコマンドラインを使用しています:

qemu-system-x86_64 -hda disk.img -kernel /home/marssonubuntu/linux_qemu/linux-3.3.3/Arch/x86/boot/bzImage -initrd my-initramfs.cpio -append "root=/dev/sda rdinit=/sbin/init"

qemuでは、完全なメッセージは次のとおりです。

Failed to execute /sbin/init Kernel panic - not syncing: No init found. 
Try passing init= option to kernel. see Linux Documentation/init.txt for guidance. 
Pid: 1, comm: swapper Not tainted 3.3.3 #1 
Call Trace: 
[<ffffffff811d78b4>] ? panic+0xa9/0x197
[<ffffffff811d6927>] ? init_post+0xb2/0xb2
[<ffffffff812aad96>] ? kernel_init+0xff/0xff
[<ffffffff811dcd44>] ? kernel_thread_helper+0x4/0x10
[<ffffffff812aac97>] ? do_one_initcall+0x121/0x121
[<ffffffff811dcd40>] ? gs_change+0xb/0xb
7
Ash

私が使用した:

qemu-system-x86_64 --enable-kvm -m 1024 -machine smm=off -cdrom mint.iso -boot order=d mint_hdd.img

RAM size、つまり.

-m 1024

この問題を修正し、ミントを正常に起動しました。

7
MedicineMan25

この問題が発生し、ゲストのRAM=修正しました。-m 1024を渡してみてください。

1
user2021201

さて、ここに私のQemuコマンドラインがあります:

KERNEL=vmlinuz-2.6.32-5-686
INITRD=initrd.img-2.6.32-5-686
APPEND="root=/dev/sda2 ro "
IMG=qemu.img
qemu -kernel $KERNEL -initrd $INITRD -append "$APPEND"  -hda $IMG

$ file $IMG $INITRD $KERNEL
qemu.img: DOS/MBR boot sector
initrd.img-2.6.32-5-686: gzip compressed data
vmlinuz-2.6.32-5-686:    Linux kernel x86 boot executable bzImage
0
user55518

私は同じ問題を抱えており、以下の手順に従ってミニLinuxをなんとか構築できました。

Boot Mini Linux Test with Qemu

Base Mini Linux Distroをビルドする手順

  1. カーネルをコンパイルし、コンパイルのサイズに関して結果を確認します
  2. ルートシステムといくつかの基本的なプログラム(busyboxを使用)を含むrootfsイメージ(たとえば、ext2 mke2fsとしてフォーマット)を作成します。
  3. Rootfsをマウントし、基本的なディレクトリとファイルを作成する
  4. Busyboxをコンパイルしてrootfs内にインストールします
  5. カーネルサイズ(モジュールを有効または無効にして)およびCiarイメージ(mkdosfsをイメージに適用)を確認しますlinux.img例)システムの起動プロセスを設定するlinux.img grubまたはsyslinuxを含む
  6. Rootfsを作成してlinuxを作成したら、syslinux.cfg linux.img、bzImageをlinux.imgにコピーします。
  7. コマンドsync syslinuxを適用してlinux.imgイメージを終了します。
  8. すべての設定とインストールがqemuでそれをテストした後、たとえば、次のコマンドqemu linux.img
  9. すべて問題なければ、システムは基本的なシェルで起動します。

しかし、現在の試みはターミナルに入ることができません(シェル)

これらの手順は、誰かまたは誰かが私を助けることができるように、ここに残します。