QEMU

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 04 окт 2012, 15:28

Olej писал(а): P.S. нужно смотреть документацию QEMU,
Только сейчас заметил, что я давал ссылки на свои заметки к QEMU:
Olej писал(а):
minix-in-qemu-218.odt
net-minix-config-419.odt
Но совсем не привёл самого интересного там - ссылки на ресурсы QEMU, оказавшиеся особо полезными.
Тем более, что некоторые из них за это время "сползли":

- http://wiki.qemu.org/Manual - оглавление оригинальных документов документации QEMU

- http://wiki.qemu.org/Documentation/Networking - документация по сети (то, что меня сегодня интересует)
Изображение
User Networking (SLIRP)
This is the default networking backend and generally is the easiest to use. It does not require root / Administrator privileges. It has the following limitations:
- there is a lot of overhead so the performance is poor
- ICMP traffic does not work (so you cannot use ping within a guest)
- the guest is not directly accessible from the host or the external network
Здесь есть изрядная новость (я выделил шрифтом) - ранее они позиционировали kernel-space tap-интерфейс как default!
И понятно, почему ping нет (да и traceroute не будет).

- http://qemu.weilnetz.de/qemu-doc.html - QEMU Emulator User Documentation - самая полная и самая свежая в природе документация на QEMU.

- http://jack.kiev.ua/docs/qemu-doc-ru.html - вот это та же документация, но в переводе на русский язык, по более старой версии:
Документация пользователя эмулятора процессора QEMU
ПЕРЕВОД: Павел Марьянов <acid_jack@ukr.net>, март 2006
- http://www.xakep.ru/magazine/xa/118/094/1.asp - начальное знакомство с QEMU для тех, кто ещё не сталкивался:
Хакер № 10/08 (118)
Виртуальный полигон: Эмулируем аппаратное обеспечение различных платформ с помощью QEMU
Владимир «turbina» Ляшко (v.turbina@gmail.com)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 04 окт 2012, 18:16

Olej писал(а):ссылки на ресурсы QEMU, оказавшиеся особо полезными.
Пока смотрел документацию, вспомнил о такой "мелочи", которую совсем не упомнил о QEMU: возможность просто запустить и выполнить отдельный процесс для любой аппаратной архитектуры, не устанавливая ОС (Linux) для этой архитектуры - http://jack.kiev.ua/docs/qemu-doc-ru.html#TOC39:
8. Запуск QEMU в качестве эмулятора пользовательского пространства

Код: Выделить всё

bash-4.2$ qemu-i386 -L / /b_i_n/ls
boot  lib
Это тривиальный пример, когда выполняем x86-сборку (путь bin пришлось изувечить в угоду движку форума).

А вот завалялась у меня ARM-сборка отдельной программы:

Код: Выделить всё

bash-4.2$ file chat
chat: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped
bash-4.2$ qemu-arm -L / chat
Error -13 while loading chat
Совершенно естественный результат - нет для него библиотек *.so под ARM...
Но это совершенно решаемая задача.


Чем отличаются (команды) а). менеджера виртуальных машин от б). исполняющей системы? ... и то и другое под самые разные архитектуры и какие они (архитектуры) есть?
Как я понимаю, это:

Код: Выделить всё

bash-4.2$ ls /usr/bin/qemu*
/usr/bin/qemu-alpha  /usr/bin/qemu-io	     /usr/bin/qemu-ppc		/usr/bin/qemu-sparc64	     /usr/bin/qemu-system-mips64el
/usr/bin/qemu-arm    /usr/bin/qemu-kvm	     /usr/bin/qemu-ppc64	/usr/bin/qemu-system-arm     /usr/bin/qemu-system-mipsel
/usr/bin/qemu-armeb  /usr/bin/qemu-launcher  /usr/bin/qemu-ppc64abi32	/usr/bin/qemu-system-cris    /usr/bin/qemu-system-sh4
/usr/bin/qemu-cris   /usr/bin/qemu-m68k      /usr/bin/qemu-sh4		/usr/bin/qemu-system-i386    /usr/bin/qemu-system-sh4eb
/usr/bin/qemu-ga     /usr/bin/qemu-mips      /usr/bin/qemu-sh4eb	/usr/bin/qemu-system-m68k    /usr/bin/qemu-system-x86_64
/usr/bin/qemu-i386   /usr/bin/qemu-mipsel    /usr/bin/qemu-sparc	/usr/bin/qemu-system-mips    /usr/bin/qemu-x86_64
/usr/bin/qemu-img    /usr/bin/qemu-nbd	     /usr/bin/qemu-sparc32plus	/usr/bin/qemu-system-mips64
- вот то, что qemu-system-* - это менеджеры виртуальных машин
- а то, что qemu-* без -system- - это исполняющие системы.
- но и здесь не без исключений: как мы уже видели раньше, qemu-kvm - это менеджер VM x86 ... который раньше и назывался просто qemu (и которого теперь нет).

P.S. - http://qemu.weilnetz.de/qemu-doc.html#S ... ng-Systems
5 QEMU User space emulator
5.1 Supported Operating Systems

The following OS are supported in user space emulation:
* Linux (referred as qemu-linux-user)
* BSD (referred as qemu-bsd-user)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 04 окт 2012, 18:23

Olej писал(а):Пока смотрел документацию,
Но возвращаемся к сети - http://jack.kiev.ua/docs/qemu-doc-ru.html#TOC21:
3.7.2 Использование сетевого стека в режиме пользователя
При использовании опции `-user-net', или если у вас нет скрипта инициализации tun/tap, QEMU использует полностью пользовательский сетевой стек (вам не нужны права root'а для использования виртуальной сети). Конфигурация виртуальной сети представляет собой следующее:

Код: Выделить всё

Виртуальная машина QEMU  <------>  Файервол/DHCP-сервер <-----> Интернет
         (10.0.2.x)               |          (10.0.2.2)
                                  |
                                  ---->  DNS-сервер (10.0.2.3)
                                  |
                                  ---->  SMB-сервер (10.0.2.4)
ВМ QEMU ведёт себя так, как если бы она находилась за файерволом, блокирующим все входящие подключения. Вы можете использовать клиент DHCP для автоматической настройки сети в ВМ QEMU.

Чтобы проверить работу сети в режиме пользователя, пропингуйте адрес 10.0.2.2 и проверьте, получили ли вы адрес из диапазона 10.0.2.x от виртуального DHCP-сервера QEMU.

Обратите внимание, что ping не работает по отношению к Интернет-адресам, поскольку для этого требуются привилегии root'а. Это означает, что вы можете пропинговать только локальный маршрутизатор (10.0.2.2).

При использовании встроенного сервера TFTP, маршрутизатор также выступает в роли TFTP-сервера.

При использовании опции `-redir', TCP- или UDP-подключения к системе-хозяину могут быть перенаправлены в гостевую систему. Например, это позволяет перенаправлять X11-, telnet- или SSH-подключения.
Мне только непонятно что эти QEMU намудрили, что обеспечивают прозрачность (forwarding) пакетов от гостевого интерфейса 10.0.2.15 до реального интерфейса хоста eth0 192.168.1.1 ?
Это было бы достаточно просто сделать, если в качестве их "Файервол" использовать iptables, и делать NAT трансляцию адресов в подсеть 192.168.1.1/24 ... Но этого нет, вот как это выглядит на гостевой машине:

Код: Выделить всё

[root@fedora-arm ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
А это на хосте ... и здесь тоже ничего нового не добавилось :-( :

Код: Выделить всё

bash-4.2$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 04 окт 2012, 19:48

Olej писал(а):
Olej писал(а):Пока смотрел документацию,
Но возвращаемся к сети
Естественно, такой интерфейс будет существенно медленнее tap-интерфейса, о чём указывается и в документации.
Но для моих (проверочных) целей и этого вполне достаточно.

Кстати, они и о tap-интерфейсе пишут - http://qemu.weilnetz.de/qemu-doc.html#pcsys_005fnetwork:
3.7.2 Using TAP network interfaces
This is the standard way to connect QEMU to a real network. QEMU adds a virtual network device on your host (called tapN), and you can then configure it as if it was a real ethernet card.
Так что у них один default, а другой standard way ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 05 окт 2012, 01:55

Olej писал(а): Здесь видно и релиз Fedora-17 и дату создания.
Для Debian один из подобных ресурсов - http://people.debian.org/~aurel32/qemu/arm/:

Код: Выделить всё

 README.txt                      12-Mar-2011 23:55  1.6K  
 debian_lenny_arm_standard.qcow2 12-Mar-2011 20:41  157M  
 initrd.img-2.6.26-2-versatile   12-Mar-2011 20:42  3.9M  
 vmlinuz-2.6.26-2-versatile      12-Mar-2011 20:42  1.4M  
Не такие свежие сборки, но на потренироваться годится.

Они делают практически то же самое, что и мы выше:
To use this image, you need to install QEMU 0.10.0 (or later). Start
QEMU with the following arguments:
- qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.26-2-versatile -initrd initrd.img-2.6.26-2-versatile -hda debian_lenny_arm_standard.qcow2 -append "root=/dev/sda1"

If you don't want to start QEMU in graphic mode, you can use the -nographic
option. The image is configured to display a login prompt on the first serial
port (ttyAMA0). If you want to switch the boot messages to the serial port,
you need to add "console=ttyAMA0" after "root=/dev/sda1".
В их случае: -hda debian_lenny_arm_standard.qcow2 -append "root=/dev/sda1" - функционально делает то же, что у нас: -sd Fedora-17-arm-vexpress-mmcblk0.img

Вот здесь есть более поздние образы, но ни слова, что с ними дальше делать - http://http.us.debian.org/debian/dists/ ... nt/images/:

Код: Выделить всё

 MANIFEST                                           26-Sep-2012 15:34  4.3K  
 MANIFEST.udebs                                     26-Sep-2012 15:34   12K  
 MD5SUMS                                            26-Sep-2012 15:35  4.3K  
 ads/                                               26-Sep-2012 15:34    -   
 iop32x/                                            26-Sep-2012 15:11    -   
 ixp4xx/                                            26-Sep-2012 15:18    -   
 kirkwood/                                          26-Sep-2012 15:27    -   
 orion5x/                                           26-Sep-2012 15:30    -   
 udeb.list                                          26-Sep-2012 15:35  2.9K  
 versatile/                                         26-Sep-2012 15:33    -   
Но я пака не стану уточняться с установками в Debian & Ubuntu.

По установке на ARM Debian сообщество написало отдельный обширный документ, даже есть у них его русская редакция - http://www.debian.org/releases/stable/a ... ex.html.ru:
Руководство по установке Debian GNU/Linux
Copyright © 2004 – 2010 Команда разработчиков программы установки Debian
Аннотация
Данный документ содержит инструкции по установке системы Debian GNU/Linux 6.0 («squeeze») для архитектуры ARM («armel»). Кроме того, в нём указаны источники более подробной информации и описаны методы наиболее эффективного применения системы Debian.
Данный документ обширный "до немогу" ... но пользы от него, кажется, немного (см. даты).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 05 окт 2012, 15:37

Olej писал(а):8. Всё, можно запускать Linux на ARM:
А теперь всё то же самое, но для Fedora 18 (которая ещё не вышла).
Образы для ARM (еженочные сборки) берём здесь: http://scotland.proximity.on.ca/arm-nightlies/, должно получиться что-то типа:

Код: Выделить всё

bash-4.2$ ls -l f18arm-latest-arm-vexpress-mmcblk0*
-rw-rw-r--. 1 olej olej 172105980 окт.   3 02:02 f18arm-latest-arm-vexpress-mmcblk0.img.xz
-rw-rw-r--. 1 olej olej  21900336 окт.   3 01:45 f18arm-latest-arm-vexpress-mmcblk0-kernel.tar.xz

Код: Выделить всё

bash-4.2$ ls -l f18arm-latest-arm-vexpress-xfce*
-rw-rw-r--. 1 olej olej 739806964 окт.   4 11:58 f18arm-latest-arm-vexpress-xfce-mmcblk0.img.xz
-rw-rw-r--. 1 olej olej  31750424 окт.   4 11:18 f18arm-latest-arm-vexpress-xfce-mmcblk0-kernel.tar.xz
Это варианты консольный и X11, соответственно.

Распаковываем, размещаем, вытираем всё ненужное, ... - всё в точности как в Fedora 17.

Запускаем консольный вариант:

Код: Выделить всё

bash-4.2$ ./boot-vexpress vmlinuz-3.6.0-0.rc4.git0.1.fc18.armv7l initramfs-3.6.0-0.rc4.git0.1.fc18.armv7l.img f18arm-latest-arm-vexpress-mmcblk0.img
...
[    0.000000] Linux version 3.6.0-0.rc4.git0.1.fc18.armv7l (mockbuild@) (gcc version 4.7.1 20120720 (Red Hat 4.7.1-5) (GCC) ) #1 SMP Wed Sep 5 14:52:34 EDT 2012
...
[   22.671174] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[   25.883021] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[   30.816172] systemd-journald[41]: Received SIGTERM
[   93.537831] type=1404 audit(1349432456.060:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
[  107.637719] type=1403 audit(1349432470.150:3): policy loaded auid=4294967295 ses=4294967295
Welcome to Fedora 18 (Spherical Cow)!
...
[  300.856987] RPC: Registered named UNIX socket transport module.
[  300.858492] RPC: Registered udp transport module.
[  300.859256] RPC: Registered tcp transport module.
[  300.860013] RPC: Registered tcp NFSv4.1 backchannel transport module.
...
Fedora release 18 (Spherical Cow)
Kernel 3.6.0-0.rc4.git0.1.fc18.armv7l on an armv7l (ttyAMA0)

Root password is 'fedoraarm'
fedora-arm login: 
Password:
...
Медленно это? - Конечно медленно! Моделируется совершенно отличная архитектура.
Но это совершенно нормально (нет заметных тормозов) для выполнения терминальных команд.
То, что получается - совершенно приемлемый путь разбираться с ARM архитектурой (гораздо прозрачнее, чем все задрочки с Android на этой архитектуре).

Меня заинтересовали некоторые подробности:

Код: Выделить всё

[root@fedora-arm ~]# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 0 (v7l)
processor       : 0
BogoMIPS        : 146.63

Features        : swp half thumb fastmult vfp edsp vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc09
CPU revision    : 0

Hardware        : ARM-Versatile Express
Revision        : 0000
Serial          : 0000000000000000
(попытка запуска QEMU ARM как SMP, ключ запуска -smp 2 - заканчивается kernel panic :-? ).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 05 окт 2012, 15:57

Olej писал(а):
Olej писал(а):8. Всё, можно запускать Linux на ARM:
Меня заинтересовали некоторые подробности:

Код: Выделить всё

[root@fedora-arm ~]# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 0 (v7l)
processor       : 0
BogoMIPS        : 146.63
А именно то, насколько происходит замедление (хотя точного ответа этот вопрос не имеет: архитектуры совершенно разный - соотношение "быстрее-медленнее" у них будет "нелинейное", в зависимости от операций).
Но вот тот же хост компьютер (на котором крутится QEMU VM):

Код: Выделить всё

bash-4.2$ cat /proc/cpuinfo | grep bogo
bogomips        : 3325.08
bogomips        : 3325.08
Вопрос: насколько bogomips хотя бы коррелирует со скоростью? отражает масштаб, порядок величины производительности.

- http://ru.wikipedia.org/wiki/BogoMIPS :
BogoMIPS (от англ. bogus (поддельный) и MIPS — англ. Millions of Instructions Per Second) — в ядре Линукс ненаучный способ измерения производительности компьютера, предназначенный для калибровки внутренних циклов. Термин изобрёл Линус Торвальдс в 1993. BogoMIPS шутливо определяется как «сколько миллионов раз в секунду компьютер может абсолютно ничего не делать».
- http://adminbook.ru/index.php?men2=2-1/12
"MIPS - это аббревиатура, миллионы операций в секунду (Millions of Instructions Per Second). Это измерение скорости выполнения программы. Как и большинство таких мер, ей больше злоупотребляют, чем правильно используют (очень трудно сравнивать MIPS различных типов компьютеров). BogoMips - это изобретение Linus Torvalds. Ядру требуются (или это драйвер устройства?) временные задержки состоящие, из пустых циклов, которые должны быть отрегулированы по отношению к скорости процессора. Так как ядро вычисляет при загрузке, сколько времени занимает каждый тип цикла. "Bogo" происходит от "bogus" (фальшивый, поддельный). Так как величина BogoMips дает представление о скорости процессора, но она настолько антинаучна, что ее назвали не иначе, как BogoMips. Причины (а их две), почему это выводится во время загрузки, являются: a) удобство для отладки и проверки работы кэша и режима турбо, и b) потому что Linus любит посмеиваться над растерянными людьми в новостях. "
Как весьма приближенный ориентир, BogoMips могут быть рассчитаны так:

Система BogoMips Сравнение

Intel 8088 clock * 0.004 0.02
Intel/AMD 386SX clock * 0.14 0.8
Intel/AMD 386DX clock * 0.18 1 (по определению)
Motorola 68030 clock * 0.25 1.4
Cyrix/IBM 486 clock * 0.34 1.8
Intel Pentium clock * 0.40 2.2
...
Mips R4000/R4400 clock * 0.50 2.8
Nexgen Nx586 clock * 0.75 4.2
PowerPC 601 clock * 0.84 4.7
...
Intel Pentium II/III clock * 1.00 5.6
...
Примечание: способ вычисления BogoMips для процессоров, несовместимых с Intel, похож, но не такой же.
P.S. наверное, в этих их формулах, тактовая частота (clock) должна указываться в Mhz, тогда хоть порядки как-то совпадают, вот на той же хост машине:

Код: Выделить всё

bash-4.2$ cat /proc/cpuinfo | grep 'model name'
model name	: Genuine Intel(R) CPU           T2300  @ 1.66GHz
model name	: Genuine Intel(R) CPU           T2300  @ 1.66GHz
(clock - 1.660 => bogomips - 3325.08 ... так, что ли?)

В итоге, можно ли (с любой степенью грубости), что QEMU/ARM машина на моделировании архитектуры медленнее нативного железа ~20 раз?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 05 окт 2012, 16:21

Olej писал(а): Запускаем консольный вариант:
А теперь всё то же самое, но в X11 !
Интересно, как будет Linux выглядеть и крутиться на ARM, потому как уже на сегодня можно купить вполне приличный ARM-нетбук за $80-100 ... прямо из Сингапура ;-)
Что там будет ожидать?

Код: Выделить всё

bash-4.2$ ./boot-vexpress+x vmlinuz-3.6.0-0.rc4.git0.1.fc18.armv7l initramfs-3.6.0-0.rc4.git0.1.fc18.armv7l.img f18arm-latest-arm-vexpress-xfce-mmcblk0.img
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument
...
QEMU_035.png
(206.25 КБ) 5422 скачивания
К этому времени (видно по меткам времени) прошло ~6 мин. (загрузка, systemd запуск сервисов, ...) + сразу же после этого момента стартует X-сервер:
QEMU_036.png
(8.81 КБ) 5423 скачивания
Здесь (это неожиданно!) началась начальная настройка образа.
Это похоже на то, что происходит при инсталляции Linux, но это совершенно не инсталляция...
Как я понимаю, это внесение изменений в файл образа SD-карты.
QEMU_037.png
(76.08 КБ) 5424 скачивания
QEMU_038.png
(105.28 КБ) 5422 скачивания
QEMU_039.png
(83.54 КБ) 5422 скачивания
А вот здесь обязательно убрать "птицу" с синхронизации времени по NTP!
Почему?
Да просто потому, что прописанный в собранном образе NTP Fedora-сервер (и прописанный там повтором много раз) - мёртвый:

Код: Выделить всё

bash-4.2$ ping fedora.pool.ntp.org
ping: unknown host fedora.pool.ntp.org
И при тормознутости ARM VM - долго будете ждать ответа! :-x
Лучше это сделать по-старинке руками:
QEMU_041.png
(82.2 КБ) 5425 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 05 окт 2012, 16:31

QEMU_042.png
(808.19 КБ) 5426 скачиваний
Знакомая картинка? ;-) :
QEMU_043.png
(1.07 МБ) 5425 скачиваний
Оно (хоть само и изрядно тормознутое), но ещё и вырисовывает какие-то замысловатые хранители экрана:
QEMU_044.png
(305.31 КБ) 5425 скачиваний
QEMU_045.png
(362.69 КБ) 5420 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: QEMU

Непрочитанное сообщение Olej » 05 окт 2012, 22:45

Olej писал(а): К этому времени (видно по меткам времени) прошло ~6 мин. (загрузка, systemd запуск сервисов, ...) + сразу же после этого момента стартует X-сервер:
Поскольку это всё происходит медленно и тягомутно (довольно старенький ноутбук), решил я проделать то же самое на достаточно быстром стационарном десктопе с 4Gb RAM... - там это (кажется) должно уже крутиться без особого дискомфорта из-за задержек.
Там система Fedora 15:

Код: Выделить всё

[olej@nvidia boot]$ cat /etc/system-release
RFRemix release 15.1 (Lovelock)
И тут поджидает ещё одна неожиданность (это в точности та же команда запуска, только в полностью развёрнутом виде):

Код: Выделить всё

[olej@nvidia boot]$ qemu-system-arm -M vexpress-a9 -m 1024 -net nic -net user \
> -append "rw root=/dev/mmcblk0p2 rootwait physmap.enabled=0" \
> -kernel vmlinuz-3.6.0-0.rc4.git0.1.fc18.armv7l \
> -initrd initramfs-3.6.0-0.rc4.git0.1.fc18.armv7l.img \
> -sd f18arm-latest-arm-vexpress-xfce-mmcblk0.img
Supported machines are:
integratorcp ARM Integrator/CP (ARM926EJ-S) (default)
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9
lm3s811evb Stellaris LM3S811EVB
lm3s6965evb Stellaris LM3S6965EVB
connex     Gumstix Connex (PXA255)
verdex     Gumstix Verdex (PXA270)
akita      Akita PDA (PXA270)
spitz      Spitz PDA (PXA270)
borzoi     Borzoi PDA (PXA270)
terrier    Terrier PDA (PXA270)
tosa       Tosa PDA (PXA255)
sx1        Siemens SX1 (OMAP310) V2
sx1-v1     Siemens SX1 (OMAP310) V1
cheetah    Palm Tungsten|E aka. Cheetah PDA (OMAP310)
n800       Nokia N800 tablet aka. RX-34 (OMAP2420)
n810       Nokia N810 tablet aka. RX-44 (OMAP2420)
mainstone  Mainstone II (PXA27x)
musicpal   Marvell 88w8618 / MusicPal (ARM926EJ-S)
syborg     Syborg (Symbian Virtual Platform)
Вот так ... облом!
Не знает QEMU такой ARM архитектуры машины: vexpress-a9, под которую собраны образы (и Fedora 18, Fedora 17 тоже).

Код: Выделить всё

[olej@nvidia boot]$ qemu-system-arm -M ? | wc -l
25
[olej@nvidia boot]$ qemu-system-arm --version
QEMU emulator version 0.14.0 (qemu-kvm-0.14.0), Copyright (c) 2003-2008 Fabrice Bellard
А при запуске QEMU из инсталляции Fedora 17:

Код: Выделить всё

bash-4.2$ qemu-system-arm -M ? | wc -l
28
bash-4.2$ qemu-system-arm -M ?
Supported machines are:
collie     Collie PDA (SA-1110)
connex     Gumstix Connex (PXA255)
verdex     Gumstix Verdex (PXA270)
integratorcp ARM Integrator/CP (ARM926EJ-S) (default)
mainstone  Mainstone II (PXA27x)
musicpal   Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800       Nokia N800 tablet aka. RX-34 (OMAP2420)
n810       Nokia N810 tablet aka. RX-44 (OMAP2420)
sx1        Siemens SX1 (OMAP310) V2
sx1-v1     Siemens SX1 (OMAP310) V1
cheetah    Palm Tungsten|E aka. Cheetah PDA (OMAP310)
realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9
akita      Akita PDA (PXA270)
spitz      Spitz PDA (PXA270)
borzoi     Borzoi PDA (PXA270)
terrier    Terrier PDA (PXA270)
lm3s811evb Stellaris LM3S811EVB
lm3s6965evb Stellaris LM3S6965EVB
syborg     Syborg (Symbian Virtual Platform)
tosa       Tosa PDA (PXA255)
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
vexpress-a9 ARM Versatile Express for Cortex-A9
z2         Zipit Z2 (PXA27x)
3 новых архтектуры ARM машин в версии:

Код: Выделить всё

bash-4.2$ qemu-system-arm --version
QEMU emulator version 1.0,1 (qemu-kvm-1.0.1), Copyright (c) 2003-2008 Fabrice Bellard
Так что если кто заинтересуется воспроизвести эксперименты с ARM Linux, то вам годится только самые последние версии QEMU ... и в Debian & Ubuntu она будет тем более старой...

Лучшим способом, думаю, здесь будет:
- снести установленный из репозитария пакетный QEMU;
- и установить QEMU загруженный с сайта самого проекта QEMU;
- там у них последняя версия: qemu-1.2.0
Взять это добро можно:
http://wiki.qemu.org/download/qemu-1.2.0.tar.bz2
http://wiki.qemu.org/download/qemu-1.1.2.tar.bz2
https://github.com/qemu/qemu/tree/stable-1.1
http://git.qemu.org/?p=qemu.git;a=snaps ... EAD;sf=tgz

P.S. Это (с QEMU) как-раз случай, в противовес умникам, которые впадают в истерику, если говорится, что что-то нужно поставить не из их репозитария ;-)
Это уже 3-й раз за 5-6 лет, когда я именно с QEMU попадаю в историю, что нужная функциональность есть только в последних версиях, и нет в установленной в дистрибутиве.
QEMU проект развивается очень динамично ... так, что никакая документация за самим QEMU не поспевает, а в области ARM архитектур у всех сейчас "гон" - все спешат нагнать как можно больше.

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей