The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск эмулятора QEMU 2.10.0

31.08.2017 21:03

Представлен релиз проекта QEMU 2.10. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.10 внесено более 2600 изменений от 208 разработчиков.

Ключевые улучшения, добавленные в QEMU 2.10:

  • Операционная система NetBSD возвращена в число поддерживаемых систем. Прекращена возможность работы в Solaris 9 и более ранних выпусках. В разряд неподдерживаемых переведена архитектура ia64 и системы GNU/kFreeBSD, DragonFly BSD, OpenBSD, Solaris, AIX и Haiku. Неподдерживаемые системы продолжат работать, но качество работы не гарантируется, так как у команды разработчиков QEMU нет возможности их протестировать. В будущем поддержка данных ОС может быть удалена или возобновлена, если найдутся заинтересованные энтузиасты;
  • Обеспечена возможность использования шифрования образов виртуальных машин qcow2 с использованием формата LUKS;
  • Представлен бэкенд 9pfs/virtfs, обеспечивающего работу с сетевой файловой системой Plan 9. Фронтэнд для 9pfs включен в состав ядра Linux, а транспорт для протокола 9pfs в состав гипервизора Xen. При помощи 9pfs можно организовать доступ одной виртуальной машины к другой;
  • Добавлена опция "-numa cpu", позволяющая назначить CPU для определённых узлов NUMA. Добавлена поддержка извлечения информации о связности узлов NUMA (distance) через ACPI;
  • Расширены возможности интерфейса для мониторинга и управления: добавлены команды 'info ramblock/cmma/register/qtree' для получения дополнительной отладочной информации, добавлена команда 'info vnc' для вывода списка подключенных клиентов, улучшена поддержка разбора протокола QMP;
  • В QXL и virtio-gpu добавлены свойства xres и yres для указания разрешения экрана по умолчанию;
  • Добавлена поддержка устройства vhost-user-scsi (вариант vhost-user для SCSI), которое в отличие от ранее предлагаемого vhost-scsi поддерживает live-миграцию;
  • В эмуляторе накопителей NVMe добавлена поддержка команды Write Zeroes и функциональности Controller Memory Buffers;
  • В агент гостевых систем добавлена возможность запроса информации об имени хоста, пользователях, часовом поясе и версии ОС гостевой системы;
  • Обеспечена возможность использования гипервизора KVM на платах Raspberry Pi 3;
  • В эмулятор архитектуры ARM добавлена поддержка эмуляции плат на базе FPGA MPS2/MPS2+. Добавлена поддержка запуска zynq с SPIPS Flash . В эмулятор Exynos4210 добавлена поддержка аппаратного RNG, SDHCI и инициирования выключения питания;
  • В эмулятор архитектуры Microblaze добавлена поддержка 9.4, 9.5, 9.6 и 10.0 версий CPU;
  • В эмулятор архитектуры MIPS добавлена поддержка расширенной виртуальной адресации (EVA, Enhanced Virtual Addressing) и возможность использования initrd для ядер со включенной рандомизацией адресного пространства ядра (KASLR);
  • В эмулятор архитектуры OpenRISC добавлена поддержка теневых регистров, idle-состояний и регистров numcores/coreid/EVAR/EPH;
  • В эмулятор архитектуры PowerPC добавлена поддержка многопоточного выполнения классического генератора кода TCG (Tiny Code Generator), представлен драйвер OpenBIOS VGA для гостевых систем с macOS, добавлена эмуляция и поддержка KVM для гостевых систем на базе POWER9;
  • В эмулятор архитектуры s390 добавлен проброс устройств через vfio-ccw, улучшена поддержка PCI (AEN, AIS, zPCI), добавлена поддержка моделей ACPU z14 и возможность использования netboot/TFTP через CCW BIOS;
  • В эмуляторе x86 в gdbstub предоставлен доступ к регистрам SSE. Для Q35 MCH появилась поддержка TSEG, размером больше 8 Мб;
  • Объявлены устаревшими опции "-hdachs" и "-usbdevice", вместо которых следует использовать опцию "-device". Для захвата сетевого трафика вместо "-net dump" теперь рекомендуется использовать "-object filter-dump" в связке с "-netdev".


  1. Главная ссылка к новости (http://lists.nongnu.org/archiv...)
  2. OpenNews: Основатель QEMU и FFmpeg развивает систему синхронизации файлов VFsync
  3. OpenNews: Выпуск эмулятора QEMU 2.8.0
  4. OpenNews: Выпуск эмулятора QEMU 2.7.0
  5. OpenNews: Продолжение разработки AQEMU, графической оболочки для QEMU и KVM
  6. OpenNews: QEMU/KVM и Xen подвержены уязвимости в коде эмуляции VGA
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47109-qemu
Ключевые слова: qemu, virtual, emulator
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:04, 31/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пользуюсь, чтобя компилять под Raspberry Pi. Вообще, не отказался бы от мультилиба в Debian на PC, но "не осилил"
     
     
  • 2.2, Аноним (-), 23:04, 31/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Что там можно не осилить-то?
     
  • 2.4, Крутой аноним (?), 23:16, 31/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Пользуюсь, чтобя компилять под Raspberry Pi.

    Это же охрененно медленно, почему не воспользоваться кросскомпилятором?

     
     
  • 3.5, d000 (?), 23:44, 31/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не все программы нормально кросс-компилируются. И порой в эмуляции даже быстрее.
     
     
  • 4.6, Аноним (-), 23:48, 31/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И порой в эмуляции даже быстрее.

    можно пример?

     
     
  • 5.7, Анан (?), 00:17, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Можно
     
  • 5.14, Леонардо (?), 07:27, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде бы это может быть Перл, по сообщениям из Генты (где кроссдев). Якобы, при сборке Перла собирается мини-перл, который затем запускается для нормальной сборки. Но так как он собран для АРМ, а кросс-компилятор работает на билд-системе с другой архитектурой, то сборка продолжаться не может.
     
     
  • 6.15, anonimus (?), 07:52, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Сборка продолжаться не может" и "на эмуляторе быстрее" немного разные вещи.
     
  • 6.17, Аноним (-), 09:04, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Но так как он собран для АРМ, а кросс-компилятор работает на билд-системе с другой архитектурой, то сборка продолжаться не может.

    Во-первых, не знаю, как конкретно в случае perl, но вообще при бутстрапинге такое учитывают, и всякие "мини"-тулзы собираются нативно. Во-вторых, если даже это не так, можно только для их запуска использовать qemu-user.

     
  • 5.19, DerRoteBaron (?), 09:46, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    под стабильным дебианом - все, что тянет в качестве build-зависимостей python-dev требует ручного разрешения сборочных зависимостей (т.к. один из пакетов питона в postinstall пытается запустить elf для arm, что предсказуемо не работает, и dpkg откатывает установку), поэтому зачастую проще запустить pbuilder, который за свои 3-4 часа спокойно соберёт все это через QEMU
     
     
  • 6.23, anonimus (?), 13:36, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Опять же, сравнение "не работает" с "медленно".

    Изначально было сделано утверждение, что в некоторых случаях компеляция под эмулятором идет быстрее, чем нативно. Именно компеляция, а не что то другое.

     
     
  • 7.29, Нет (?), 08:45, 02/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Именно компеляция, а не что то другое.

    Хорошо, что не компиляция. А то я уже заволновался.

     
  • 6.24, Аноним (-), 15:19, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > один из пакетов питона в postinstall пытается запустить elf для arm, что предсказуемо не работает

    Я бы не был так категоричен. Добавлять себе ещё и армовскую архитектуру не хочу, поэтому для примера MIPS:

        $ uname -m
        x86_64
        $ mipsel-linux-gnu-gcc hello.c
        $ file a.out
        a.out: ELF 32-bit LSB shared object, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, interpreter /lib/ld.so.1, for GNU/Linux 3.2.0, BuildID[sha1]=2b91f03e935202e9802e235db07f4cfddf681e94, not stripped
        $ ./a.out
        hi!
        $

    Магия?
    Да, магия.

     
     
  • 7.25, Аноним (-), 21:03, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В чём фокус? O_O
     
     
  • 8.26, Аноним (-), 22:08, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    binfmt_misc ... текст свёрнут, показать
     
  • 8.27, Аноним (-), 22:30, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    apt install qemu-user... текст свёрнут, показать
     
     
  • 9.28, Аноним (-), 22:40, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    То есть сам фокус, конечно, в qemu-user-binfmt, который при этом по рекомендации... текст свёрнут, показать
     

  • 1.3, Аноним (-), 23:13, 31/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Интересно, можно в эмуляторе S390 запустить советскую ОС ЕС ?
     
     
  • 2.13, Аноним (-), 06:57, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    она же под S360 ?
     
  • 2.16, Igor (??), 07:53, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.hercules-390.org/
    По крайней мере, современные зиОси на нем работают.
     
  • 2.21, SysA (?), 12:36, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, можно в эмуляторе S390 запустить советскую ОС ЕС ?

    Думаю, что да. Там же система команд "цельнотянутая"! :)

    Даже по железу пытались копировать все, что только можно, не думая...

     

  • 1.8, Аноним (-), 00:23, 01/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > NetBSD возвращена в число поддерживаемых систем

    Блин, как же приятно такое читать!

    Сам не пользователь NetBSD, но повсеместное устаревание и удаление поддержки всего подряд пугает. Хотя и тут не обошлось без устаревания...

     
     
  • 2.12, Аноним (-), 04:03, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Какое-то балабольство. Если чем-то никто не пользуется, то сожалеть об этом, при том, что сам этого не используешь, уже похоже на расстройство психики.
     
     
  • 3.30, Аноним (-), 12:33, 02/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну раз поддержка возвращена, значит этим пользуются, верно? В чём тогда проблема? Если б они удалили поддержку MSDOS 6.22, сожалений бы не было. А удаление актуальной системы наводит на грустные мысли.
     
  • 2.18, Аноним (-), 09:37, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Сам не пользователь NetBSD, но повсеместное устаревание и удаление поддержки всего подряд
    > пугает. Хотя и тут не обошлось без устаревания...

    Есть такая штука - bit rot. Это когда древний код уже давно никто не тыкал палочкой, поэтому никто даже не знает работает ли он вообще. Поэтому или находятся те кто будет код сопровождать, или он вытряхивается. Мало кому нравятся глюки, проблемы и уязвимости в коде который никто не проверяет и не чинит.

     

  • 1.9, Аноним (-), 00:29, 01/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Можете пояснить за отличия Q35 от дефолтного ICH9?
     
     
  • 2.11, Аноним (-), 01:24, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как минимум возможностью включения UEFI прошивок.
     
  • 2.20, ввввв (?), 10:45, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Можете пояснить за отличия Q35 от дефолтного ICH9?

    Q35 северный мост, а ICH9 южный

    у них общего шина DMI и что они соединяются на одной матплате

     

  • 1.10, Аноним (-), 01:23, 01/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А intel vgt где? Снова включать ждуна.
     
     
  • 2.22, SysA (?), 12:38, 01/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А intel vgt где? Снова включать ждуна.

    Какие претензии?! Не хочешь ждать - напиши сам!

     

  • 1.31, Аноним (-), 10:01, 01/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мда, юзаю под арчем. обновил на свою голову. Винда с проброшенным железом грузиться перестала. Как обычно, стейбл у парней через релиз. Работал 2.7.0, а 2.8.0 не работал, 2.9.0 снова заработал, ну а 2.10.0 - просто виснет при загрузке ОС.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру