Загрузка модулей ядра.
В данном примере будет рассмотрен вариант передачи параметров для ядра посредством Grub. Для этого потребуется внести изменения /etc/default/grub.
Модули для загрузки и параметры для ядра должны быть перечислены в строке GRUB_CMDLINE_LINUX_DEFAULT=
Итоговый набор параметров для процессоров Intel и видеокарты GTX 1060 будет выглядеть так:
Далее подробно и по порядку.
Модуль kvm.
Основное предназначение — ускорение виртуализации.
Проверить поддержку kvm-ускорения можно утилитой kvm-ok:
Вывод, указывающий, что ускорение будет использоваться:
Если модуль kvm не активирован, будет показано предупреждение:
Если ускорение не поддерживается:
Проверить загружен ли модуль:
Если вывод пустой, необходимо загрузить модуль.
Модуль kvm_intel зависит от модуля intel_iommu, загрузка которого описана ниже. То есть, чтобы загрузить модуль kvm_intel достаточно загрузить intel_iommu, но можно загрузить и вручную.
Утилита modprobe позволяет загрузить модуль, но только для текущей сессии:
Модули IOMMU.
Input Output Memory Management Unit https://ru.wikipedia.org/wiki/IOMMU
Настройка IOMMU является важным этапом для проброса видеокарты.
В настройках материнской платы (UEFI) нужно сделать следующее:
- Для Intel активировать VT-d (Intel Virtualization Technology for Directed I/O).
- Для AMD активировать AMD-Vi.
Загрузка с помощью Grub. В файле /etc/default/grub в строку GRUB_CMDLINE_LINUX_DEFAULT добавить intel_iommu=on iommu=pt.
Итоговый вид:
intel_iommu=on — включить поддержку транслятора виртуальных адресов в физические. Материнская плата должна иметь блок управления памятью ввода/вывода (IOMMU). По идее, этот блок есть во всех современных не супер бюджетных материнских платах.
iommu=pt — включает режим проброса. Это снижает нагрузку IOMMU для устройств принадлежащих хосту.
После необходимо обновить конфигурацию Grub, чтобы изменения вступили в силу после перезагруки:
Перезагрузиться.
Удостовериться, что IOMMU используется:
i — игнорировать различие регистра.
E — расширенное регулярное выражение.
Если вывод пустой, то IOMMU выключено или отсутствует аппаратная поддержка в материнской плате.
Группы IOMMU и видеокарта.
Это наименьший связанный набор физических устройств, которые могут быть переданы виртуальной машине. В данном случае в целях проброса искомым набором является группа, содержащая устройства видеокарты.
Проверка наличия групп устройств IOMMU:
Должен быть подобный вывод (у всех будет разный):
Если пусто, значит IOMMU не включено.
Видеокарта разделена на два устройства: видео и аудио (звук через HDMI). Нужно проверить в какую IOMMU-группу входит видео и аудио видеокарты. Сначала потребуется узнать их ID. Для Nvidia:
Для GTX 1060 вывод будет такой:
Искомые ID имеют следующий вид:
- Видео 02:00.0
- Аудио 02:00.1
Теперь, зная ID устройств видеокарты, можно провести проверку принадлежности устройств к конкретной группе IOMMU:
Вывод:
Это означает, что устройства видеокарты находятся в группе 27, то есть всё в порядке.
Модули vfio.
Брошюра о vfio: http://www.linux-kvm.org/images/b/b4/2012-forum-VFIO.pdf
Рассмотрим следующий необходимый набор модулей:
vfio-pci.ids — обеспечивает мягкий захват видеокарты драйвером vfio на этапе загрузки хост-системы. Это ключевой модуль, обеспечивающий успех проброса.
vfio_iommu_type1.allow_unsafe_interrupts=1 — уменьшает задержки (latency) прерываний. Позволит включить в Win-госте MSISupported для решения проблемы VIDEO_TDR_FAILURE nvlddmkm.sys.
vfio_virqfd=1 — драйвер для поддержки irqfd — механизма передачи прерываний между хостом и гостем.
QEMU 4.2.
QEMU 4.2 выпущен со многими улучшениями для виртуализации Linux.
В ПО есть много изменений, которые завершатся к концу 2019 году. Перечислим некоторые моменты обновления ведущего эмулятора с открытым исходным кодом:
- Поддержка расширений Intel AVX-512 BFloat16 (BF16).
- В последних обновлениях всех моделей процессоров расширения TSX (Transactional Synchronization Extensions) по умолчанию отключены. Это связано с недавней уязвимостью TSX Async Abort / Zombieload Variant Two.
- Лучшая производительность для эмуляции Tiny Code Generator (TCG) ядер ARM.
- Еще одно улучшение, производительности утилиты может появиться в недавних библиотеках Gcrypt и Nettle. Теперь QEMU использует собственный режим шифрования библиотеки XTS. В результате, наблюдается значительное повышение производительности для шифрования AES-XTS
- Драйвер блока LUKS теперь поддерживает Falloc
- Поддержка на ARM
- Поддержка модели ASpeed AST2600.
- Arm SVE (Scalable Vector Extensions) теперь поддерживается гостевыми KVM
QEMU 4.0 — запущен только в апреле 2019 года, и уже активно разрабатывается v. 5.0, чтобы сменить v. 4.2.
На момент написания статьи известно не много, но все же перечислим на каких функциях делается упор на поддержку:
- устройств VirtIO IOMMU,
- XIVE для гостей POWER KVM
- ioctl часов реального времени
Если исходить из четырехмесячного темпа релиза, то выпуск QEMU 5.0 состоится скорее всего, в апреле 2020.
VMWare
В отличие от VirtualBox, которая распространяется с открытым исходным кодом, это коммерческий продукт, полная версия которого стоит денег. Но для домашнего использования есть упрощенная версия, которую можно использовать полностью бесплатно.
VMWare имеет почти все те же возможности, что и VirtualBox, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.
Примечательной особенностью VMWare есть то, что для некоторых систем разработаны и уже готовы сценарии автоматической установки, которые позволяют установить систему в автоматическом режиме и не указывать слишком много параметров. Это может быть очень удобным в некоторых ситуациях.
Установка QEMU
Информация об установке есть на официальном сайте, в разделе Download QEMU. Тем, кто использует Windows, нужно будет скачать установочный файл (в зависимости от разряда своей системы).
Команда для установки QEMU на Linux выглядит следующим образом (для примера взята Ubuntu):
# apt-get install qemu
Все довольно просто, так как QEMU есть в официальных репозиториях Ubuntu.
Для изучения всех возможностей QEMU стоит обратиться к официальной документации.
Команда для создания образа:
# qemu-img create myimage.img mysize
- myimage.img — название файла с образом диска;
- mysize — размер в килобайтах (для размера в мегабайтах в конце надо добавить M, в гигабайтах — G: 10G).
Если нужно указать формат (qcow2 — формат, который используется QEMU по умолчанию), то нужно использовать ключ -f:
# qemu-img create -f qcow2 myimage.img 10G
Более подробную информацию о команде qemu-img можно посмотреть здесь.
# qemu-system-x86_64 -hda myimage.img -boot d -cdrom ~/downloads/ubuntu-17.04-server-amd64.iso -m 640
В этом случае:
- жесткий диск подключается как -hda (другие возможные варианты: -hdb, -hdc, -hdd);
- если указать -boot d, то загрузка будет начинаться с CD-ROM (в противном случае – с жесткого диска);
- -cdrom указывает, что файл будет использоваться как образ CD-ROM (поэтому нельзя одновременно использовать ключи -cdrom и -hdc);
- в конце указывается количество оперативной памяти, которое будет выделено для машины.
После этого будет выполнена установка новой системы, которую потом можно запустить командой:
# qemu -hda myimage.img -m 640
Для того чтобы включить поддержку KVM, нужно добавить -enable-kvm в конце.
Настройка
Настройка Virtual Machine Manager (VMM)
При первом запуске программы вы увидите две категории, обе не подключенные. Это ссылки на стандартные модули KVM, пока не работающие. Для их использования щелкните правой кнопкой мыши и выберите «connect».
Чтобы добавить новое соединение, выберите в меню File > Add Connection. При этом откроется окно, в котором можно будет задать тип гипервизора и тип соединения. VMM может использовать как локальные, так и удаленные соединения, включая QUEMU/KVM и Xen. Кроме того, поддерживаются все методы аутентификации.
Можно также поставить галочку autoconnect. При следующем запуске программы эти соединения будут готовы к использованию.
Кратко рассмотрим остальные функции программы.
Сетевую функциональность можно просмотреть или изменить, открыв пункт Host Details. Там же мы установим утилиты для работы сетевого моста.
Создание виртуальной машины
Создать виртуальную машину можно и из командной строки, но мы воспользуемся VMM. Первый шаг должен быть интуитивно понятен. Введите название и задайте расположение инсталляционного диска. Это может быть как локальное устройство в виде диска CD/DVD или образа ISO, так и HTTP или FTP сервер, NFS или PXE.
Мы используем локальный носитель. Теперь необходимо задать, будет ли это физическое устройство или образ. В нашем случае используется ISO. Далее нужно выбрать тип и версию ISO. Здесь не требуется такая уж высокая точность, но правильный выбор позволит повысить производительность виртуальной машины.
Задаем количество процессоров и размер оперативной памяти:
Четвертый этап — виртуальный диск. Вы можете создать новый образ или использовать существующий. Необходимо выбрать размер диска и задать, будет ли создан образ диска сразу заданного размера, либо его размер будет увеличиваться динамически по мере необходимости. Необходимо отметить, что выделение сразу всего пространства под образ диска повышает производительность и уменьшает фрагментирование файловой системы.
Далее мы еще уделим внимание дисковой подсистеме. Однако обратите внимание, что при работе в режиме Usermode у вас не будет прав записи в /var, где по умолчанию хранятся образы виртуальных дисков
Поэтому необходимо будет задать другое расположение для образов.
Этап 5 — это вывод сводных данных с возможностью настройки некоторых продвинутых опций. Здесь вы можете изменить тип сети, задать фиксированные MAC-адреса, выбрать тип виртуализации и целевую архитектуру. Если вы работаете в режиме Usermode, возможности настройки сети будут ограничены, например невозможно будет создать мосты между сетевыми интерфейсами. И последнее: если ваш процессор не поддерживает аппаратной виртуализации, поле Virt Type будет иметь значение QUEMU и сменить его на KVM будет невозможно. Вы можете посмотреть, как выглядят типовые настройки для виртуальной машины Ubuntu:
Наша машина готова к использованию.
Ниже представлена пара скриншотов, показывающая опции клонирования и перемещения виртуальной машины.
Обратите внимание на небольшую загрузку системы. С этим режимом эмуляции можно запускать одновременно несколько виртуальных машин
При необходимости можно удалить виртуальную машину вместе со всеми ее файлами:
О QEMU
QEMU — это ПО с открытым исходным кодом (FOSS), разработанное Fabrice Bellard и распространяемая по лицензии GPL. Утилита поддерживает широкий спектр ОС, включая Windows и MacOS. Bochs, PearPC.
Продукт аналогичен VirtualBox и VMware, но изначально это инструмент на основе команд, в отличие от двух упомянутых. Чтобы получить почти аппаратную скорость оборудования в среде виртуализации, можно использовать ее с KVM.
QEMU моделирует компьютерную систему, включая центральный процессор и другие периферийные устройства. Это облегчает тестирование программ, написанных для разных платформ. Кроме того, можно использовать для виртуализации нескольких разных виртуальных машин на одном хосте.
Основная часть продукта выпущена под LGPL, в то время как симуляция режима системы выпущена под GPL.
Преимущества ПО QEMU
- Несколько архитектур поддерживаются по умолчанию.
- Моделирование компьютеров IA-32 (x86), AMD 64, MIPS R4000, Sun SPARC sun3 и PowerPC (PReP и Power Macintosh)
- Масштабируемость для настройки новых наборов команд
- Открытый исходный код, в результате быстрое моделирование
- В архитектуре x86, которая поддерживает аппаратную виртуализацию, можно использовать KVM для ускорения с помощью резервной памяти, что быстрее, чем VMware ESX.
- Увеличена скорость симуляции, некоторые программы запускаются даже в режиме реального времени
- Программы, которые могут запускать Linux на других платформах
- Хранит и восстанавливать рабочее состояние (например, запущенные программы)
- Виртуальная сетевая карта
Недостатки QEMU
- Несовершенная поддержка Microsoft Windows и некоторых хост-операционных систем.
- Поддержка менее распространенных архитектур
- Если вы не используете ускоритель kqemu или KVM, скорость его моделирования будет ниже чем у других виртуальных программ, таких как VMware.
- Сложно установить и использовать другое ПО для моделирования, такое как VirtualBox.
Заключительная часть.
Наконец всё готово и видеокарта сможет свободно работать в гостевой ОС!
Ключевым признаком работы проброшенной видеокарты будет «зависание» картинки в окне просмотра Virt-manager. Если используется один монитор, то потребуется переключить видеорежим, чтобы увидеть графику гостевой ОС.
Рабочий стол будет отображаться в полноэкранном режиме:
Останется испытать производительность.
Рекомендую следующие программы для тестирования производительности:
- LatencyMon — предназначена для измерения задержек прерываний. Чем выше задержки, тем сильнее проявляются «заикания».
- Cinebench — тестирование производительности процессора.
- Unigine Superposition Benchmark — общее тестирование производительности.
Набор незамысловат, но позволяет ясно увидеть уровень производительности. Забегая вперёд скажу, что производительность будет заметно меньше, чем при нативном запуске, но это можно исправить, сократив накладные расходы до минимума.
Варианты оптимизации рассмотрены в отдельной статье: https://noostyche.ru/blog/2021/03/30/optimizaciya-virtualizacii-win10-qemu-kvm/
Проблема с отсутствием звука в виртуальной машине.
Как правило, при использовании протокола SPICE со звуком проблем нет, но бывают исключения.
Звук может отсутствовать из-за блокировки apparmor. Проверка наличия предупреждений о блокировке:
Если блокировка отсутствует, то вывод будет пустой.
При наличии предупреждений, самым простым способом является отключение защиты через конфигурационный файл /etc/libvirt/qemu.conf. Защита будет отключена только для виртуальных машин, запускаемых с использованием libvirt.
За использование защиты отвечает следующая строка:
Для отключения необходимо добавить строку со значением «none»:
Для применения изменений перезапустить libvirtd:
Виртуализация и виртуальная машина
Если говорить обобщенно, виртуализация позволяет использовать на одном физическом компьютере несколько виртуальных машин.
А виртуальная машина, в свою очередь, это программа, которая эмулирует (имитирует) работу другого компьютера. То есть на виртуальную машину можно установить операционную систему, она имеет свою оперативную память, жесткий диск и так далее.
Если мощностей компьютера хватает, то на нем можно запускать несколько виртуальных машин, в том числе и одновременно.
Поэтому чаще всего виртуальные машины используются в тех случаях, когда нужно получить новое рабочее окружение без переустановки основной операционной системы (например, Linux на машине с Windows и наоборот). Виртуальные машины позволяют эмулировать архитектуры игровых приставок. Также они используются для защиты информации и ограничения возможностей запускаемых процессов. Виртуальную машину удобно переносить на другой компьютер: для этого нужно только установить на нем программу эмуляции и перенести образ нужной виртуальной машины. В общем, существует множество преимуществ использования виртуальных машин.
Популярные программы виртуализации это:
- VirtualBox
- VMware Workstation
- Microsoft Virtual PC
- QEMU
О последней и пойдет речь в этой статье.
Отличительная особенность
Основное отличие виртуализации на уровне ОС в том, что виртуализируется не компьютер и не операционная система, а пользовательское окружение ОС. Эти экземпляры пользовательского окружения, называемые также контейнерами (рис. 1), полностью идентичны основному серверу и используют общее ядро ОС.
При виртуализации на уровне операционной системы не существует отдельного слоя гипервизора. Вместо этого сама хостовая операционная система отвечает за разделение аппаратных ресурсов между несколькими виртуальными машинами и поддержку из независимости друг от друга.
Для пользователя каждый контейнер выглядит как отдельный сервер в который он может настраивать в соответствии со своими потребностями, устанавливать софт, выключать, перезагружать.
Наиболее популярным решением для данного типа виртуализации является OpenVZ и коммерческий продукт на его основе Virtuozzo, последнее время приобретает известность разрабатываемый при поддержке IBM LXC (Linux Containers), на аналогичных принципах работают FreeBSD Jail и Solaris Containers/Zones.
Также среди реализаций выделяют:
- Linux-VServer
- FreeVPS
- OpenVZ
- iCore Virtual Accounts
Что такое KVM?
KVM (Kernel-based Virtual Machine) — гипервизор виртуальных машин для Linux. Не стоит его путать с системами контейнеризации, такими как докер или lxc. Это принципиально разные вещи. Гипервизор дает полную изоляцию рабочего окружения, в том числе и железа. Находясь в виртуальной машине, вы имеете в своем распоряжении полноценную операционную систему, принадлежащую только вам.
Существует несколько популярных гипервизоров, как бесплатных, так и за деньги. KVM является полностью бесплатным решением, которое очень активно используют хостеры, в том числе предоставляющие услуги облачных технологий. Так же есть неплохая реализация полноценного гипервизора kvm с интерфейсом управления — proxmox. Это готовый продукт на базе дистрибутива дебиан.
Я сегодня не буду рассматривать готовые сборки гипервизоров, а вручную установлю на Ubuntu Server нативный гипервизор KVM с минимальными надстройками над ним. У нас на выходе будет сам гипервизор, локальная сеть для его корректной работы и средства управления гипервизором и виртуальными машинами. Если вам интересно, почему мой выбор пал на именно на убунту, читайте мой обзор этой системы, а так же статью про установку ubuntu.
Почему make-initrd?
make-initrd – утилита для создания initramfs образов, разрабатываемая нашим соотечественником Алексеем Гладковым. Сейчас она используется как основной сборщик initramfs в дистрибутиве ALT Linux.
Этот проект обладает рядом преимуществ:
-
Имеет модульную структуру. Разные логические части образа создаются разными модулями, именуемыми Features (фичами). Например, есть фича luks, отвечающая за внедрение сценария загрузки с зашифрованных разделов LUKS.
-
Создаваемые initramfs образы имеют простое внутреннее устройство.
-
Удобен для использования конечным пользователем. Многие части конфигурации определяются автоматически. Это достигается за счет отдельного модуля guess.
-
Утилита показала свою работоспособность на множестве различных дистрибутивов. Нам лично удавалось собрать и использовать эту утилиту на Ubuntu, Fedora, ALT Linux, Red OS, Astra Linux.
-
Генерируемые initramfs образы имеют относительно небольшой размер, а их сборка происходит достаточно быстро Для сравнения: initramfs-tools на моей машине генерирует образы размером 51Мб за 24 секунды. Образы же make-initrd весят всего 5Мб и создаются 10 секунд!
-
Проект продолжает активно развиваться. Со временем появляются новые фичи, улучшается архитектура утилиты и архитектура initramfs образов. Разработчик идет на контакт и всегда рад вашим патчам и предложениям:)
К сожалению, у make-initrd есть и недостатки:
-
Не самая полная и достоверная документация;
-
Проект тестируется лишь на Fedora, Ubuntu и Alt Linux. И, хотя нам удавалось использовать его на других дистрибутивах, нет гарантии, что все будет работать гладко и везде.
Песочница для Windows
Одним из преимуществ, которые предлагает нам Windows 10 Pro, является возможность эмулировать себя. Эта виртуализация дает нам доступ к гораздо более упрощенной версии, в которой мы можем выполнять различные задачи, такие как установка программы или открытие файла, в котором мы сомневаемся, заражен он или нет, избегая того, чтобы подвергать риску любую информацию о нас.
Чтобы получить доступ к этой функции, просто активируйте ее из меню активации функций Windows, активировав опцию «Windows sandbox». Как только мы примем и перезапустим нашу команду, мы сможем найти Windows Sandbox в пределах досягаемости.
Это образец всего, что предлагает нам сегодня рынок, и что мы должны руководствоваться нашими потребностями, чтобы не потреблять ненужные ресурсы с наших компьютеров, поддерживать баланс между естественными и виртуализированными операционными системами.
Display options
There are a few available options to specify the kind of display to use in QEMU.
-display sdl — Display video output via SDL (usually in a separate graphics window).
-display curses — Displays video output via curses.
-display none — Do not display video output. This option is different than the -nographic option. See the man page for more information.
-display gtk — Display video output in a GTK window. This is probably the option most users are looking for.
-display vnc=127.0.0.1: — Start a VNC server on display X (accepts an argument (X) for the display number). Substitute X for the number of the display (0 will then listen on 5900, 1 on 5901, etc).
For example to have QEMU send the display to a GTK window add the following option to the list:
Сетевой Bridge для kvm
Настройка сети для виртуальных машин kvm может быть настроена различными способами. Я как минимум 3 наиболее популярных знаю:
- Виртуальные машины выходят во внешний мир через сам хост kvm, на котором настроен NAT. Этот вариант вам будет доступен сразу после установки kvm. Ничего дополнительно настраивать не надо, так как сетевой бридж для этого virbr0 уже будет добавлен в систему. А в правилах iptables будет добавлен MASQUERADE для NAT.
- Одна из виртуальных машин превращается в шлюз и через нее осуществляется доступ во внешний мир для всех виртуальных машин. Наиболее гибкий способ управления сетью для vm, но в то же время требует больше времени на настройку и набор знаний по работе с сетями.
- Для виртуальных машин kvm создается отдельный сетевой бридж во внешнюю сеть. Они напрямую получают в нее сетевой доступ.
Последний вариант наиболее простой и удобный, поэтому настроим сеть для виртуальных машин таким образом. Для этого нам нужно установить дополнительный пакет на host.
sudo apt install bridge-utils
Теперь на хосте приводим сетевые настройки в /etc/netplan к следующему виду.
network: ethernets: ens18: dhcp4: false dhcp6: false version: 2 bridges: br0: macaddress: 16:76:1a:3b:be:03 interfaces: - ens18 dhcp4: true dhcp6: false parameters: stp: true forward-delay: 4
Здесь будьте очень внимательны. Не выполняйте изменения сетевых настроек, не имея прямого доступа к консоли сервера. Очень высок шанс того, что что-то пойдет не так и вы потеряете удаленный доступ к серверу.
В предложенном наборе правил netplan у меня один сетевой интерфейс на хосте гипервизора — ens18. Он изначально получал настройки по dhcp. Мы добавили новый сетевой бридж br0, в него добавили интерфейс ens18. Так же мы указали, что br0 будет получать сетевые настройки по dhcp. Я указал mac адрес для того, чтобы он не менялся после перезагрузки. Такое может происходить. Адрес можно указать любой, не принципиально. Я сделал похожий на адрес физического сетевого интерфейса.
Теперь надо применить новые настройки.
sudo netplan apply
Сразу после этого вы потеряете доступ к серверу по старому адресу. Интерфейс ens18 перейдет в состав bridge br0 и потеряет свои настройки. А в это время бридж br0 получит новые сетевые настройки по dhcp. IP адрес будет отличаться от того, что был перед этим на интерфейсе ens18. Чтобы снова подключиться удаленно к гипервизору kvm, вам надо будет пойти на dhcp сервер и посмотреть, какой новый ip адрес ему назначен.
Если у вас нет dhcp сервера или вы просто желаете вручную указать сетевые настройки, то сделать это можно следующим образом.
network: ethernets: ens18: dhcp4: false dhcp6: false version: 2 bridges: br0: macaddress: 16:76:1a:3b:be:03 interfaces: - ens18 addresses: - 192.168.25.2/24 gateway4: 192.168.25.1 nameservers: addresses: - 192.168.25.1 - 77.88.8.1 dhcp4: false dhcp6: false parameters: stp: true forward-delay: 4
В этом случае после применения новых настроек, гипервизор kvm будет доступен по адресу 192.168.25.2.
Обращайте внимание на все отступы в конфигурационном файле netplan. Они важны
В случае ошибок, настройки сети применены не будут. Иногда эта тема очень напрягает, так как не получается сразу понять, где именно в отступах ошибка. В этом плане yaml файл для настроек сети гипервизора как-то не очень удобен.
Далее еще один важный момент. Чтобы наш kvm хост мог осуществлять транзит пакетов через себя, надо это явно разрешить в sysctl. Добавляем в /etc/sysctl.d/99-sysctl.conf новый параметр. Он там уже есть, надо только снять пометку комментария.
net.ipv4.ip_forward=1
Применяем новую настройку ядра.
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf net.ipv4.ip_forward = 1
С настройкой сети гипервизора мы закончили. На данном этапе я рекомендую перезагрузить сервер и убедиться, что все настройки корректно восстанавливаются после перезагрузки.
Использование QEMU Raspbian Package
Для простоты мы собираемся использовать пакет QEMU Raspbian от Sourceforge, который вы найдете по адресу sourceforge.net/projects/rpiqemuwindows . После загрузки разархивируйте QEMU.zip на жесткий диск — возможно, в C: / QEMU — и откройте. В подпапке qemu вы найдете три файла.
Дважды щелкните файл run.bat, чтобы начать. Появится виртуализированный Raspberry Pi с загрузкой Raspbian Wheezy. Это может занять некоторое время, но должно пройти примерно так, как показано в этом видео.
После завершения Raspbian загрузится прямо в raspi-config. , инструмент для настройки Raspberry Pi. Не рекомендуется выходить за рамки предлагаемых здесь опций, так как это может привести к проблемам со стабильностью. В частности, избегайте использования опции обновления или использования любых обычных обновлений Raspberry Pi или инструкций по обновлению, где это возможно.
Обратите внимание, что этот инструмент настройки можно перезапустить в любой момент из командной строки, используя
sudo raspi-config
Когда вы закончите, используйте клавиши со стрелками, чтобы выбрать Готово, а затем нажмите Enter. Отсюда вас отправят в командную строку, где вы можете либо попробовать некоторые базовые команды Linux (например, попробовать ls, чтобы вывести список элементов в текущем каталоге), либо ввести startx, чтобы запустить графический интерфейс.
Теперь вы контролируете интерфейс рабочего стола Raspbian, где сможете ознакомиться с различными инструментами, поставляемыми в комплекте с популярной операционной системой Pi, такими как базовый инструмент разработки строительных блоков для детей, Scratch.
Время играть!