патч для QEMU для сборки 4-ым GCC [SOLVEd] (thnx RDron)
Tormentor 21 января, 2009 - 22:05
Всем привет!
Решил забить на virtualbox и поставить Qemu. Да вот незадача-то - с 4-ым гцц не собираеццо. Нарыл патч http://www.busybox.net/downloads/qemu/qemu-gcc-4-all.patch а вот как его применять не знаю (стыдно). Опишите, пожалуйста, алгоритм действий. В обход портежа ставить как то не гарно... Простите великодушно, если вопрос показался тупым, гуглить времени нет =(
»
- Для комментирования войдите или зарегистрируйтесь
http://en.gentoo-wiki.com/wik
Нужно модифицировать ебилд, который собираемся использовать.
http://en.gentoo-wiki.com/wiki/Portage_Overlay#Creating_a_local_overlay
http://devmanual.gentoo.org/ebuild-writing/functions/src_unpack/epatch/index.html
Спасибо! Сейчас попробую
Спасибо! Сейчас попробую
Патч для QEMU
Мне кажется, что патч ты вабрал не тот, вот, что написано в твоём патче:
Patches needed to get qemu (tested up through 0.8.1) to build under GCC 4.x.
Note that for 0.9.0 this isn't enough, see
http://www.kju-app.org/proj/browser/trunk/patches/qemu-0.9.0-gcc4.patch (ссылка не работает)
Или тебе нужна версия QEMU 0.8.1? Если нет то скачай, что нибудь более подходящее:
Вот для QEMU 0.9.0
http://oe.linuxtogo.org/~zecke/git/oe/openembedded.dev/packages/qemu/qemu-0.9.0+cvs20070701/qemu-0.9.0-gcc4.patch
Вот для QEMU 0.9.1
http://trac.kju-app.org/browser/branches/0_9_1/patches/qemu-0.9.1-gcc4.patch?format=raw
Может есть более хорошие патчи, чем те, что я привёл... Я сам не пробовал их использовать (ставил GCC 3 для сборки QEMU).
Если не будут правильно работать погугли там много разных вариантов.
Ещё я для себя поправил ebuild, чтобы он не применял патч "CVE-2008-0928", если его применить, то функция сохранения виртуальной машины (снапшот) будет портить образ виртуального HDD.
Если нужен GUI, то есть неплохой вариант http://sourceforge.net/projects/aqemu (тут можно и ebuild скачать).
Во, то что надо, СПАСИБО! А
Во, то что надо, СПАСИБО! А то чуть было не пропатчил уже...
Что-то я немного запутался...
Что-то я немного запутался... я так понял, что в сам ебилд нужно воткнуть
и всё? сам патч надо класть в папку files или можно с ебилдом в одной папке?
Вообще-то области применения
Вообще-то области применения куэму и виртуалбокса несколько разные. Насколько помню куему особой скоростью эмуляции PC (x86_32) не отличался никогда, что в общем-то простительно, ибо пакет позиционируется как многоплатформенный и многоцелевой эмулятор . Хуже него PC эмулирует разве что bochs (полный отстой, поскольку позиционируется именно как эмулятор PC). Полагаю в сфере эмуляции PC вас ждет разочарование. Прикрутить аппаратную ядерную виртуализацию (kvm) лично мне, помнится, не удалось. Так что, как qemu ведет себя с kvm не скажу. Отпишитесь о результатах, если не сложно.
Хорошо, если соберу отпишу
Хорошо, если соберу отпишу тут же
qemu-kvm
С KVM QEMU очень быстр, думаю наравне с VirtualBox.
Обе программы используют схожие механизмы работы (в частности аппаратная виртуализация есть и там и там), а в боксе есть код из QEMU.
Только QEMU без "примочек" в виде kqemu и kvm исполняет весь код полностью на виртуальном CPU, а бокс только когда, не может выполнить код на реальном CPU. Вот для этого они и взяли часть QEMU.
Вообще количество ОС которые заработали у меня на QEMU значительно больше чем на боксе (я про x86 совместимые).
Что ещё очень понравилось в QEMU это возможность тонкой настойки. Очень много опций, есть практически всё, что душе угодно.
В VirtualBox сильно обломило, что я на своём Athlon 64 3500+ (и 64 битной ОС) не могу запустить 64 битную гостевую ОС... оказалось, что обязательно нужна поддержка kvm, а мой процессор её не имеет... В QEMU я даже на 32 битном процессоре в 32 битной ОС запускал 64 битные системы.
В общем юзаю QEMU, и полностью ей доволен :)
Вобщем, пошёл напролом
Вобщем, пошёл напролом (собрал 3-им гцц), установил qemu, kqemu и qemulator. Добавился в группу qemu. Запустил оболочку, создал машину (без жёсткого диска), подключил образ cd. Запускаю и ничего не происходит, процесс висит а окна с машиной нет. Вывод консоли:
и всё. В чём может быть проблема?
Не знаю, у меня qemu с такими
Не знаю, у меня qemu с такими параметрами работает...
Попробуй просто в консоли: qemu -cdrom /home/compiler/mandriva-linux-one-2009-KDE4-int-cdrom-i586.iso
Напиши, что QEMU на это скажет (если не заработает).
И вообще вместо qemulator, лучше воспользуйся AQEMU (если не смущает, что он использует Qt4).
Вот ebuild: http://downloads.sourceforge.net/aqemu/ebuild-aqemu-0.6.tar.bz2
И ещё, чтобы работал KQEMU нужно, чтобы ты был в группе kqemu.
Хм, странно - ноль эмоций.
Хм, странно - ноль эмоций. Ввёл команду, тупо висит. В группе kquemu состою, а насчёт aqemu... я уж тогда на виртуалбокс перейду =) ради него собссно qt4 и ставил =)
Даже окно QEMU не
Даже окно QEMU не появляется?
Если так, попробуй просто выполнить qemu без аргументов (в ответ должна появиться справка), хоть узнаешь работает ли вообще QEMU.
Поробуй ещё:
1. Укажи вместо твоего образа диска другой.
2. Вместо "qemu", запусти "qemu-system-x86_64".
Окно не появляется, на
Окно не появляется, на команду без аргументов вылазит справка - куему работает, другие образы тоже не цепляются... хз чё такое, виртуалбокс на ура пашет
С какими флагами собран
С какими флагами собран "app-emulation/qemu-softmmu"?
qemu-system-x86_64 проверял?
И ещё я вижу комп у тебя на 64 битном процессоре, ОС тоже 64 битная? Если да, то KQEMU будет работать только на qemu-system-x86_64 бинарнике.
compiler@localhost ~ $ sudo
специально в package.use ничего не указывал. Операционка 32-х битная. На всякий пожарный мой make.conf:
>>>В VirtualBox сильно
>>>В VirtualBox сильно обломило, что я на своём Athlon 64 3500+ (и 64 битной ОС) не могу запустить 64 битную гостевую ОС.
eix virtualbox
.....
Description: Softwarefamily of powerful x86 virtualization
Полагаю,что x86 и x86_64 несколько разные архитектуры. Данный функционал в виртуалбоксе не заявлен.
>>Только QEMU без "примочек" в виде kqemu и kvm
>>оказалось, что обязательно нужна поддержка kvm, а мой процессор её не имеет
>>Athlon 64 3500+
По этому вопросу есть прямо противоположное мнение - http://www.ixbt.com/cm/virtualization-h.shtml
Кто прав?
Начиная с VirtualBox 2.0,
Начиная с VirtualBox 2.0, поддерживаются и 64-битные guest'ы.
Да, в процессоре Athlon 64
Да, в процессоре Athlon 64 3500+ есть поддержка аппаратной виртуализации, но ТОЛЬКО в версии AM2, а у меня S939.
Я пробовал собирать KVM, но при загрузке модуля, было сообщение об ошибке, что мой процессор не поддерживается.
Про то, что VirtualBox поддерживает 64 битные гостевые системы знаю, я же про это писал выше, но для этого нужна поддержка аппаратной виртуализации (мне сам бокс это говорил, когда я пытался запустить 64 битный LiveCD), и если не ошибаюсь ОС должна быть тоже 64 битной.
Tormentor:
Ну, теперь понятно, в чём дело, ты собрал QEMU без графики (она ведь умеет работать даже в консоли).
Пересобери с флагом "sdl".
Ты говорил, что поставил KQEMU, а поддержку почему не включил в QEMU - флаг "kqemu".
Звук в виртуальных машинах тебе нужен? Если да то флаг "alsa".
Ну ещё я бы включил флаг "gnutls", чтобы можно было удалённо управлять виртуальной машиной.
В общем включи все флаги "alsa gnutls kqemu sdl".
Большое спасибо! Щас
Большое спасибо! Щас попробую.
ЗЫЖ а как можно узнать, поддерживает твой процессор KVM или нет? В тех.документации ничего не нашёл, хотя наврядли там напишут =).
Чтобы узнать поддерживает
Чтобы узнать поддерживает твой процессор аппаратную виртуализацию, проверь наличие vmx или svm флагов в файле /proc/cpuinfo
Для этого можно ввести: egrep '^flags.*(vmx|svm)' /proc/cpuinfo
compiler@localhost ~ $ cat
svm присутствует, vmx нет. Для поддержки нужно оба флага или любой из них?
Любой. Я просто не помню,
Любой. Я просто не помню, точно у Intel вроде VMX, а у AMD SVM, поэтому оба и привёл.
Ну раз у тебя есть поддержка
Ну раз у тебя есть поддержка KVM, то лучше использовать KVM-QEMU - это app-emulation/kvm (не забудь про нужные тебе флаги).
В ядре KVM включён? KQEMU и KVM вместе не работают, так, что если перейдёшь на KVM-QEMU то KQEMU тебе не нужна.
Спасибо Вам большое! Всё
Спасибо Вам большое! Всё работает! За KVM отдельное спасибо!