Ответы пользователя по тегу QEMU
  • Как установить ARM Android на QEMU?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    установить ARM андроид на QEMU ... как установить такой андроид на на эмулятор QEMU ... и потом дополнить плагинами KQEMU и KVM?

    Никак. KQEMU уже лет 10 как сдох, KVM ускоряет только виртуальные машины с той же архитектурой, что и у хоста, т.е. x86(_64) на x86_64, для ARM + KVM нужен ARM-хост.
    Ответ написан
  • Error loading uncompressed kernel without PVH ELF Note ( osdev ) !?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    пытаюсь понять, почему qemu не хочет запускать ядро....


    Потому что это не заголовок multiboot, MAGIC тут взят из старой версии формата, а структура -- из версии 2:

    MAGIC equ 0x1BADB002
    ...
    grubBoot:
      dd MAGIC
      dd FLAGS
    ;	dd 0
      dd (end_grubBoot - grubBoot)
      dd -(MAGIC + FLAGS + (end_grubBoot - grubBoot))
    ;	dd -(MAGIC + 0 + (end_grubBoot - grubBoot))
      
    ;	dw 0
    ;	dw FLAGS
    ;	dd 8
    end_grubBoot:


    QEMU отлично понимает заголовок старого формата:

    MAGIC equ 0x1BADB002
    
      dd MAGIC
      dd FLAGS
      dd -(MAGIC + FLAGS)


    И с этим изменением твой код прекрасно загружается и выполняется:

    trace
    ...
    
    Trace 0: 0x7f2a71e084c0 [00000000/000caa1a/0xb0]
    ----------------
    IN:
    0x00102060:  9b                       wait
    0x00102061:  db e3                    fninit
    0x00102063:  bc 44 23 10 00           movl     $0x102344, %esp
    0x00102068:  53                       pushl    %ebx
    0x00102069:  50                       pushl    %eax
    0x0010206a:  e8 68 00 00 00           calll    0x1020d7
    
    Trace 0: 0x7f2a71e08800 [00000000/00102060/0xb0]
    ----------------
    IN:
    0x001020d7:  55                       pushl    %ebp
    0x001020d8:  89 e5                    movl     %esp, %ebp
    0x001020da:  68 00 10 10 00           pushl    $0x101000
    0x001020df:  e8 8d ff ff ff           calll    0x102071
    
    Linking TBs 0x7f2a71e08800 [00102060] index 0 -> 0x7f2a71e08a40 [001020d7]
    Trace 0: 0x7f2a71e08a40 [00000000/001020d7/0xb0]
    ----------------
    IN:
    0x00102071:  55                       pushl    %ebp
    0x00102072:  89 e5                    movl     %esp, %ebp
    0x00102074:  53                       pushl    %ebx
    0x00102075:  83 ec 10                 subl     $0x10, %esp
    0x00102078:  c7 45 f4 00 80 0b 00     movl     $0xb8000, -0xc(%ebp)
    0x0010207f:  c7 45 f8 00 00 00 00     movl     $0, -8(%ebp)
    0x00102086:  eb 35                    jmp      0x1020bd
    
    Linking TBs 0x7f2a71e08a40 [001020d7] index 0 -> 0x7f2a71e08c80 [00102071]
    Trace 0: 0x7f2a71e08c80 [00000000/00102071/0xb0]
    ----------------
    IN:
    0x001020bd:  8b 55 f8                 movl     -8(%ebp), %edx
    0x001020c0:  8b 45 08                 movl     8(%ebp), %eax
    0x001020c3:  01 d0                    addl     %edx, %eax
    0x001020c5:  0f b6 00                 movzbl   (%eax), %eax
    0x001020c8:  0f be c0                 movsbl   %al, %eax
    0x001020cb:  3b 45 f8                 cmpl     -8(%ebp), %eax
    0x001020ce:  7f b8                    jg       0x102088
    
    Linking TBs 0x7f2a71e08c80 [00102071] index 0 -> 0x7f2a71e08f00 [001020bd]
    Trace 0: 0x7f2a71e08f00 [00000000/001020bd/0xb0]
    ----------------
    IN:
    0x00102088:  8b 45 f8                 movl     -8(%ebp), %eax
    0x0010208b:  8d 14 00                 leal     (%eax, %eax), %edx
    0x0010208e:  8b 45 f4                 movl     -0xc(%ebp), %eax
    0x00102091:  01 d0                    addl     %edx, %eax
    0x00102093:  8b 55 f8                 movl     -8(%ebp), %edx
    0x00102096:  8d 0c 12                 leal     (%edx, %edx), %ecx
    0x00102099:  8b 55 f4                 movl     -0xc(%ebp), %edx
    0x0010209c:  01 ca                    addl     %ecx, %edx
    0x0010209e:  0f b7 12                 movzwl   (%edx), %edx
    0x001020a1:  89 d3                    movl     %edx, %ebx
    0x001020a3:  b3 00                    movb     $0, %bl
    0x001020a5:  8b 4d f8                 movl     -8(%ebp), %ecx
    0x001020a8:  8b 55 08                 movl     8(%ebp), %edx
    0x001020ab:  01 ca                    addl     %ecx, %edx
    0x001020ad:  0f b6 12                 movzbl   (%edx), %edx
    0x001020b0:  66 0f be d2              movsbw   %dl, %dx
    0x001020b4:  09 da                    orl      %ebx, %edx
    0x001020b6:  66 89 10                 movw     %dx, (%eax)
    0x001020b9:  83 45 f8 01              addl     $1, -8(%ebp)
    0x001020bd:  8b 55 f8                 movl     -8(%ebp), %edx
    0x001020c0:  8b 45 08                 movl     8(%ebp), %eax
    0x001020c3:  01 d0                    addl     %edx, %eax
    0x001020c5:  0f b6 00                 movzbl   (%eax), %eax
    0x001020c8:  0f be c0                 movsbl   %al, %eax
    0x001020cb:  3b 45 f8                 cmpl     -8(%ebp), %eax
    0x001020ce:  7f b8                    jg       0x102088
    
    Linking TBs 0x7f2a71e08f00 [001020bd] index 1 -> 0x7f2a71e091c0 [00102088]
    Trace 0: 0x7f2a71e091c0 [00000000/00102088/0xb0]
    Linking TBs 0x7f2a71e091c0 [00102088] index 1 -> 0x7f2a71e091c0 [00102088]
    Trace 0: 0x7f2a71e091c0 [00000000/00102088/0xb0]
    ----------------
    IN:
    0x001020d0:  90                       nop
    0x001020d1:  83 c4 10                 addl     $0x10, %esp
    0x001020d4:  5b                       popl     %ebx
    0x001020d5:  5d                       popl     %ebp
    0x001020d6:  c3                       retl
    
    Linking TBs 0x7f2a71e091c0 [00102088] index 0 -> 0x7f2a71e098c0 [001020d0]
    Trace 0: 0x7f2a71e098c0 [00000000/001020d0/0xb0]
    ----------------
    IN:
    0x001020e4:  83 c4 04                 addl     $4, %esp
    0x001020e7:  eb fe                    jmp      0x1020e7
    
    Trace 0: 0x7f2a71e09b00 [00000000/001020e4/0xb0]
    ----------------
    IN:
    0x001020e7:  eb fe                    jmp      0x1020e7
    
    Linking TBs 0x7f2a71e09b00 [001020e4] index 0 -> 0x7f2a71e09c40 [001020e7]
    Trace 0: 0x7f2a71e09c40 [00000000/001020e7/0xb0]
    Linking TBs 0x7f2a71e09c40 [001020e7] index 0 -> 0x7f2a71e09c40 [001020e7]
    
    ...


    Ещё непонятно, зачем такие игры с форматом kernel, можно было же напрямую:
    LDEMU=-melf_i386
    kernel: $(CSOURCES) $(NASMSOURCES) $(LDFILE)
            $(CC) $(CEMU) -std=c$(CSTD) -c $(CSOURCES) -ffreestanding -nostdlib -nostdinc -fno-pic
            $(ASM) $(NASMSOURCES)
            $(LD) $(LDEMU) --nmagic -T$(LDFILE) -o kernel *.o
    Ответ написан
  • Почему "The max CPUs supported by machine 'versatilepb' is 1"?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    Машина versatilepb -- это же антиквариат. Какой-нибудь vexpress-a15 хотя бы нужен для многоядерности.
    Ответ написан
  • Как послать набор символов в qemu, если там нет ОС?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    Можно научить интерпретатор читать из последовательного порта, присоединить последовательный порт QEMU к stdio опцией -serial и писать туда например так:
    echo '++++++' | qemu-system-... -nographic -monitor none -serial stdio
    Ответ написан
  • Как настроить сеть в qemu?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    Пробовал еще так: -net tap,vlan=0,ifname=tap0,script=no,downscript=no, назнал адреса хосту и гостевой, но не работает, хост даже не пингуется!

    Регулярно пользуюсь этим способом, всё работает. Если стоит networkmanager надо следить за тем, чтобы он не потушил tap-интерфейс если qemu от него отключается.
    Ответ написан
  • Как в KVM или QEMU запустить не сжатое ядро системы?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    для иследовательских целей хотелось бы запустить не сжатое ядро системы, кто может что подсказать

    А почему вы думаете, что это вообще возможно? vmlinux должен быть рассчитан на прямую загрузку и это действительно поддерживается для некоторых конфигураций некоторых архитектур. Но не для всех.
    И, да -- что вы ожидаете от загрузки несжатого ядра, чего вам не даст загрузка сжатого?
    Ответ написан
  • Как qemu angstrom на beaglebone?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    но при вызове ... я увидел только адреса в памяти на консоли

    Показывай, что увидел.

    Как это сделать правильно

    В общем всё правильно сделал. Мог бы сократить себе работу, если нужен только linux, подсунув QEMU uImage в параметре -kernel, а командную строку ядра, переданную из u-Boot -- в параметре -append
    Ответ написан
  • Эмулируют ли QEMU/KVM и VmWare AHCI(SATA) контроллеры?

    jcmvbkbc
    @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    За VmWare не скажу, QEMU умеет. Синтаксис командной строки, правда, вырвиглазный.
    См. например lists.gnu.org/archive/html/qemu-devel/2011-11/msg03537.html
    Ответ написан