Rating@Mail.ru

Форум сайта "Виртуальная энциклопедия "Linux по-русски"


Текущее время: 27 мар 2017, 19:25

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: QEMU
Непрочитанное сообщениеДобавлено: 06 июл 2012, 20:28 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Сам консольный QEMU используют не очень часто, но:
- часто используемый VirtualBox построен на коде QEMU;
- для QEMU сделано много фронт-эндов: AQEMU, Qemulator, Qemu Launcher ... много их;
- модный KVM на сегодня стал составной частью проекта QEMU;
- QEMU может выполнять VM для доброго десятка поцессорных платформ (ARM, MIPS, PPC, ...).

Некоторые возможности QEMU не попользуешь через его GUI-обёртки.
Вот такие возможности мне снова понадобились для: загрузочный Linux на USB флешке.

И я вспомнил, что 2 года назад, активно работая с ОС MINIX3, я понаделал много разного с QEMU + описал такое расширенное использование QEMU в 2-х больших статьях. Я и вспомнил, что нужно их разыскать, и там есть всё, что мне понадобится. А заодно поместить их (статьи) сюда, чтоб не терялись:

Вложение:
Комментарий к файлу: раскрутка QEMU + запуск под ним гостевой ОС, в данном случае был MINIX3, но это абсолютно неважно, на этот раз это будет, например, PuppyRus Linux ;) - 28 стр.
minix-in-qemu-218.odt [626.42 КБ]
Скачиваний: 650


Вложение:
Комментарий к файлу: а это - разные способы конфигурирования сети для VM установленной в QEMU - 27 стр.
net-minix-config-419.odt [40.58 КБ]
Скачиваний: 615


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 17:40 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Olej писал(а):
Вот такие возможности мне снова понадобились для: загрузочный Linux на USB флешке.


Задача понятна...
Доунлодим 2 образа ISO:
- http://narod.ru/disk/53977481001.524650 ... 4.iso.html - это совершенно последняя beta;
- и один из стабильных релизов (вот отсюда: http://uco.puppyrus.org/catalog/1021) ... мне приглянулся ;-) : http://uco.puppyrus.org/catalog/item99.html - xLupuRus528_IvannaSE.iso

Хотелось бы:
Цитата:
1. download образ XXX.iso ...
2. накатываем его на CD/DVD-R/RW ... (можно, как вариант, создать LiveUSB)
3. загружаемся с этого CD/DVD-R/RW ...
4. рассказываем всякие ответы на вопросы (установка) - указав устанавливать на /dev/sdb;
5. загружаемся c флешки.

Но мне это сильно не нравится для экспериментов с RAM-based Linux из за 3-х шагов, отмеченных bold шрифтом.
Хочу всё сделать не перегружаясь из своего привычного окружения, сидя в своём кресле, а не бегая с бубном вокруг перезагрузок!
Как?

Есть у меня предположение (и опыт некоторый прежний), что всё: от XXX.iso и до проверки загрузки и настройки полученной системы - я могу сделать с помощью классического консольного QEMU.


Идея состоит в том, чтобы:
- загрузиться с XXX.iso, указав QEMU его как CD-ROM ...
- и указать /dev/sdc (USB флешь) как HDD QEMU ...
- после чего в гостевой VM запустить "установить ОС на диск"...
- и всё получится ;-)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 17:46 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Olej писал(а):
- и всё получится ;-)


Пропуская промежуточные ступени (сначала можно только CD_ROM указать - поверить загрузку, потом HDD добавить, потом сеть...), в конечном итоге команда выглядит так:
Код:
[olej@notebook Puppy]$ sudo qemu -m 500M -hda /dev/sdc -cdrom xLupuRus528_IvannaSE.iso -boot d -net nic,vlan=0 -net tap,vlan=0 -smp 2
Could not initialize KVM, will disable KVM support
-------------- tap up -------------
^C-------------- tap down -------------


При этом для работы сети (в VM) заранее создаю 2 файла:
Код:
[root@notebook B84B-8520]# ls -l /etc/qem*
-rwxr-xr-x 1 olej olej   77 июня  16  2010 /etc/qemu-ifdown
-rwxr-xr-x 1 olej olej  119 нояб. 14  2010 /etc/qemu-ifup

[root@notebook etc]# cat /etc/qemu-ifup
#!/bin/sh
echo -------------- tap up -------------
/sbin/ifconfig $1 192.168.3.6 up

[root@notebook etc]# cat /etc/qemu-ifdown
#!/bin/sh
echo -------------- tap down -------------
/sbin/ifconfig $1 down

Это для работы tap0 (тунельного) сетевого интерфейса, а сеть виртуальная должна настраиваться на подсеть: 192.168.3.0/24
(это всё подробно расписано в тех статьях, с которых началась тема).
Именно из-за TAP-интерфейса QEMU придётся запускать от root.

Смотрим, что из всего этого кина получается:
Вложение:
QEMU-1.png
QEMU-1.png [ 301.36 КБ | Просмотров: 11241 ]

Вложение:
QEMU-2.png
QEMU-2.png [ 803.97 КБ | Просмотров: 11241 ]


На этом этапе:

1. не используется аппаратная виртуализация KVM (см. строку запуска QEMU); почему? не знаю ... раньше у меня (в статьях) KVM использовался, что-то поменялось за 2 года в QEMU - надо разбираться ... и это при всём том:
Код:
[olej@notebook Slax]$ lsmod | grep ^k
kvm_intel             126394  0
kvm                   346342  1 kvm_intel

- модули KVM, вроде как, загружены - процессор поддерживает аппаратную виртуализацию.

2. из-за отсутствия KVM, показанные экраны GUI ведут себя страшно тягомутно, большие задержки на шёлканье мышкой...


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 18:05 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Olej писал(а):
2. из-за отсутствия KVM, показанные экраны GUI ведут себя страшно тягомутно, большие задержки на шёлканье мышкой...


По такому случаю убиваю X11 и всё, что нужно, делаю в текстовой консоли - здесь никаких ощутимых задержек:
Вложение:
QEMU-3.png
QEMU-3.png [ 16.79 КБ | Просмотров: 11234 ]

Вложение:
QEMU-4.png
QEMU-4.png [ 17.1 КБ | Просмотров: 11238 ]

настроил интерфейс eth0 на подсеть 192.168.3.Х, пингуется хостовая машина...

Теперь остаётся:
- пробросить (iptables) NAT подсеть 192.168.3.Х в 192.168.1.Х для выхода на шлюз во внешний интернет (для доустановки пакетов)...
- или объединить 192.168.3.Х и 192.168.1.Х в единый бридж...
- (всё подробнейшим образом расписано во 2-й из показанных в начале статей);
- и установить ОС на /dev/hda
P.S. это очень интересное место:
- USB флешка хостовой машины /dev/sdc
- указанная в команде запуска в опции -hda
- начинает видеться в VM как единственный HDD /dev/sda


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 21:06 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Olej писал(а):
Теперь остаётся:
- пробросить (iptables) NAT подсеть 192.168.3.Х в 192.168.1.Х для выхода на шлюз во внешний интернет (для доустановки пакетов)...
- или объединить 192.168.3.Х и 192.168.1.Х в единый бридж...
- (всё подробнейшим образом расписано во 2-й из показанных в начале статей);
- и установить ОС на /dev/hda


Но ...
... это всё можно побороть (делал и знаю), но хлопотно. И подумалось следующее:
- визуальный VirtualBox написан на коде виртуализации QEMU ...
- и что можно сделать в QEMU - должно быть можно и в VirtualBox ...
- если его немножко обмануть ;-)

1. готовлю USB флешку, которая будет установочным диском:
Код:
[olej@nvidia Puppy]$ sudo fdisk /dev/sdc

Команда (m для справки): p

Диск /dev/sdc: 1009 МБ, 1009778688 байт
6 heads, 9 sectors/track, 36522 cylinders, всего 1972224 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8ef43be3

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1   *        2048     1972223      985088   83  Linux

- свеже созданный раздел.
У меня не получилось это шаманство с разделом FAT16 ... но возможно что-то пропустил - это нужно повторить и проверить!

Обязательно! не забыть форматировать новый раздел, я это сделал в ext2:
Код:
[olej@nvidia media]$ sudo mkfs.ext2 /dev/sdc1
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61568 inodes, 246272 blocks
12313 blocks (5.00%) reserved for the super user
First data block=0
...
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


2. диск сделали - делаем VM в VirtualBox.

Вложение:
vm1.png
vm1.png [ 55.81 КБ | Просмотров: 11234 ]

- сам виртуальный диск VDI (главный элемент "нормальной" VM) - нам здесь не нужен, он фикция, пустой ... тупо создаём его по дефаулту.

Вложение:
vm2.png
vm2.png [ 50.28 КБ | Просмотров: 11231 ]

- а вот USB свой добавляем (в этот раз это тот 3-й, отмеченный птичкой).

и добавим в настройки IO APIC
Вложение:
vm3.png
vm3.png [ 59.13 КБ | Просмотров: 11233 ]


Старт...


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 21:12 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Olej писал(а):
Старт...

Вложение:
puppyrus-1.png
puppyrus-1.png [ 22 КБ | Просмотров: 11247 ]


Облом ;-)
Образы Linux они собрали с поддержкой PAE.
Возвращаемся в настройки и устанавливаем PAE.
Вложение:
vm4.png
vm4.png [ 44.28 КБ | Просмотров: 11231 ]


Поехали...


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 21:18 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Olej писал(а):
Поехали...

Вложение:
pp1.png
pp1.png [ 315.65 КБ | Просмотров: 11231 ]

Вложение:
pp2.png
pp2.png [ 22.06 КБ | Просмотров: 11230 ]

Вложение:
pp3.png
pp3.png [ 579.36 КБ | Просмотров: 11232 ]


VM работоспособна и пошла в интернет (я ничего не настраивал - всё сделал DHCP):
Вложение:
pp4.png
pp4.png [ 126.96 КБ | Просмотров: 11231 ]


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 21:25 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Вот тут и начинается самое интересное:

- устанавливаем ОС на диск:
Вложение:
pp8.png
pp8.png [ 412.47 КБ | Просмотров: 11244 ]


- но диск выбираем не /dev/sda (который у нас пустая VDI болванка виртуального диска VirtualBox), а /dev/sdb (который на самом деле ;-) диск /dev/sdc хостовой машины - USB флеш):
Вложение:
pp6.png
pp6.png [ 563.8 КБ | Просмотров: 11234 ]

Вложение:
pp7.png
pp7.png [ 580.11 КБ | Просмотров: 11231 ]


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 21:29 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
Нам больше не нужна VM.
При завершении работы VM происходит то, ради чего я трахаюсь с этим дистрибутивом - сброс всего, что наизменено в RAM на диск:
Вложение:
ppe1.png
ppe1.png [ 29.45 КБ | Просмотров: 11223 ]

Вложение:
ppe2.png
ppe2.png [ 21.9 КБ | Просмотров: 11230 ]


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: QEMU
Непрочитанное сообщениеДобавлено: 07 июл 2012, 21:41 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 8963
Откуда: Харьков
И последний штрих:
- закончив изготовление bootable USB флешки хотелось бы проверить её загрузку...
- теперь опять перехожу из VirtualBox QEMU (сеть QEMU мне для проверки не нужна):
Код:
[olej@nvidia media]$ sudo qemu-kvm -m 700M -hda /dev/sdc -boot c -smp 2
...

Вложение:
ppq1.png
ppq1.png [ 287.4 КБ | Просмотров: 11232 ]

Вложение:
ppqerr.png
ppqerr.png [ 9.72 КБ | Просмотров: 11222 ]

- здесь не всё нормально, но это ошибка терминальной системы (?), как её предоставляет QEMU Linux-у ... с этим можно разобраться, но система в текстовом режиме загрузилась - дальше в этом терминале можем выполнять команды Linux.

Резюме: мы изготовили USB флешке загрузочный RAM-based Linux + проверили его загрузочность, ни разу не перезагружая компьютер - это то, что я и хотел сделать, чтобы не дёргать помногу из-за "левых" экспериментов рабочие компьютеры.
(ну и дополнительно в "+" то, что нам из .iso файла не потребовалось накатывать LiveCD или LiveUSB промежуточные для загрузки с них)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.059s | 20 Queries | GZIP : On ]