executando o kernel no QEMU

5

Eu enfrento esta mensagem:

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

Estou usando esta linha de comando:

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"

no qemu, a mensagem completa é:

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
    
por Ash 26.02.2014 / 13:54

4 respostas

4

Eu usei:

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

Especificando o tamanho da RAM, por exemplo

-m 1024

corrigiu esse problema e inicializou com sucesso.

    
por 30.10.2015 / 11:18
0

Ok, aqui está a minha linha de comando do 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
    
por 26.02.2014 / 14:54
0

Eu tive o mesmo problam e consegui construir o mini Linux seguindo os passos abaixo.

Passos na criação da base Mini Linux Distro

  1. Compile o kernel e veja o resultado em termos de tamanho da compilação
  2. Crie uma imagem rootfs (formato como ext2 mke2fs por exemplo) que conterá o sistema raiz e alguns programas básicos (busybox usado)
  3. Monte rootfs e crie diretórios e arquivos básicos
  4. Compile o busybox e instale-o dentro do rootfs
  5. Verifique o tamanho do kernel (com ou sem módulos habilitados) e a imagem do Ciar (com mkdosfs aplicado à imagem linux.img example) que contém linux.img grub ou syslinux definindo o processo de inicialização do sistema
  6. Após o rootfs criado e o linux, copie para syslinux.cfg linux.img, bzImage, no linux.img
  7. Aplica o comando sync syslinux para finalizar a imagem linux.img;
  8. Após todas as configurações e instalações, teste-o com qemu , por exemplo, o seguinte comando qemu linux.img
  9. Se tudo estiver OK, o sistema inicializará no shell básico.

Mas as tentativas atuais não podem entrar no terminal (shell)

Deixo estes passos aqui, caso eles possam ajudar alguém ou alguém pode me ajudar.

    
por 10.07.2014 / 01:55
0

Eu tive esse problema, e aumentar a RAM do convidado resolveu isso. Tente passar -m 1024 .

    
por 18.10.2015 / 01:38