Установка arch linux на виртуальную машину
VirtualBox/Install Arch Linux as a guest
This article is about installing Arch Linux in VirtualBox.
Boot the Arch installation media through one of the virtual machine’s virtual drives. Then, complete the installation of a basic Arch system as explained in the Installation guide.
Contents
Installation in EFI mode (optional)
Enabling EFI for Arch as guest is optional. If you want to install Arch Linux in EFI mode inside VirtualBox, you must change the firmware mode for the virtual machine. This must be done before installing Arch as guest, changing the option afterwards will result in unbootable machine unless the setting is reverted.
To enable EFI for a virtual machine using the graphical interface, open the settings of the virtual machine, choose System item from the panel on the left and Motherboard tab from the right panel, and check the checkbox Enable EFI (special OSes only).
Alternatively the same can be accomplished from the command line using VBoxManage:
efi will set the firmware for the virtual machine to EFI with the bitness matching the virtual machine’s CPU. To get a specific EFI bitness, set the firmware to efi64 for x86_64 EFI or efi32 for IA32 EFI.
After selecting the kernel from the Arch Linux installation media’s menu, the media will hang for a minute or two and will continue to boot the kernel normally afterwards. Be patient.
Starting with VirtualBox 6.1 the issue of forgetting NVRAM contents on shutdown is fixed. Proceed with the installation just as on a regular UEFI system.
Installation in EFI mode on VirtualBox
Once the system and the boot loader are installed, VirtualBox will first attempt to run /EFI/BOOT/BOOTX64.EFI from the ESP. If that first option fails, VirtualBox will then try the EFI shell script startup.nsh from the root of the ESP. This means that in order to boot the system you have the following options:
Do not bother with the VirtualBox Boot Manager (accessible with F2 at boot), as it is buggy and incomplete. It does not store efivars set interactively. Therefore, EFI entries added to it manually in the firmware (accessed with F12 at boot time) or with efibootmgr will persist after a reboot but are lost when the VM is shut down.
Install the Guest Additions
VirtualBox Guest Additions provides drivers and applications that optimize the guest operating system including improved image resolution and better control of the mouse. Within the installed guest system, install:
Set optimal framebuffer resolution
This article or section is a candidate for merging with VirtualBox/Tips and tricks#Set guest starting resolution.
Typically after installing Guest Additions, a fullscreen Arch guest running X will be set to the optimal resolution for your display; however, the virtual console’s framebuffer will be set to a standard, often smaller, resolution detected from VirtualBox’s custom VESA driver.
To use the virtual consoles at optimal resolution, Arch needs to recognize that resolution as valid, which in turn requires VirtualBox to pass this information along to the guest OS.
First, check if your desired resolution is not already recognized by running the command ( hwinfo need to be installed):
If the optimal resolution does not show up, then you will need to run the VBoxManage tool on the host machine and add «extra resolutions» to your virtual machine (on a Windows host, go to the VirtualBox installation directory to find VBoxManage.exe ). For example:
The parameters «Arch Linux» and «1360x768x24» in the example above should be replaced with your VM name and the desired framebuffer resolution. Incidentally, this command allows for defining up to 16 extra resolutions («CustomVideoMode1» through «CustomVideoMode16»).
Finally, add a video=resolution kernel parameter to set the framebuffer to the new resolution, for example:
Additionally you may want to configure your bootloader to use the same resolution. If you use GRUB, see GRUB/Tips and tricks#Setting the framebuffer resolution.
Load the VirtualBox kernel modules
To load the modules automatically, enable vboxservice.service which loads the modules and synchronizes the guest’s system time with the host.
To load the modules manually, type:
Launch the VirtualBox guest services
After the rather big installation step dealing with VirtualBox kernel modules, now you need to start the guest services. The guest services are actually just a binary executable called VBoxClient which will interact with your X Window System. VBoxClient manages the following features:
All of these features can be enabled independently with their dedicated flags:
Notice that VBoxClient can only be called with one flag at a time, each call spawning a dedicated service process. As a shortcut, the VBoxClient-all bash script enables all of these features.
virtualbox-guest-utils installs /etc/xdg/autostart/vboxclient.desktop that launches VBoxClient-all on logon. If your desktop environment or window manager does not support XDG Autostart, you will need to set up autostarting yourself, see Autostarting#On desktop environment startup and Autostarting#On window manager startup for more details.
Now, you should have a working Arch Linux guest. Note that features like clipboard sharing are disabled by default in VirtualBox, and you will need to turn them on in the per-VM settings if you actually want to use them (e.g. Settings > General > Advanced > Shared Clipboard).
Auto-resize Guest Display
Troubleshooting black screen with Plasma-X11 minimal install
If you used plasma-desktop minimal install instead of plasma (which includes Wayland support), then probably you’ll have black screen with cursor after starting Plasma-X11 session.
To fix this set resize vm window several times, then set resolution manually in VirtualBox window itself by:
Then install kdescreen package (hope you have some terminal available like console or xterm):
Hardware acceleration
Hardware acceleration can be activated in the VirtualBox options. The GDM display manager 3.16+ is known to break hardware acceleration support. [1] So if you get issues with hardware acceleration, try out another display manager (lightdm seems to work fine). [2] [3]
If the hardware acceleration does not work as expected, try changing the Graphics Controller option found under the Screen tab in the Display options of the settings GUI. It seems that depending on the host GPU type, not all emulated controllers work equally well.
Enable shared folders
Shared folders are managed on the host, in the settings of the Virtual Machine accessible via the GUI of VirtualBox, in the Shared Folders tab. There, Folder Path, the name of the mount point identified by Folder name, and options like Read-only, Auto-mount and Make permanent can be specified. These parameters can be defined with the VBoxManage command line utility. See there for more details.
No matter which method you will use to mount your folder, all methods require some steps first.
Two additional steps are needed in order for the mount point to be accessible from users other than root:
Manual mounting
Use the following command to mount your folder in your Arch Linux guest:
where shared_folder_name is the Folder name assigned by the hypervisor when the share was created.
If the user is not in the vboxsf group, to give them access to our mountpoint we can specify the mount(8) options uid= and gid= with the corresponding values of the user. These values can obtained from the id command run against this user. For example:
Automounting
You can use symlinks if you want to have a more convenient access and avoid to browse in that directory, e.g.:
Mount at boot
As of 2012-08-02, mount.vboxsf does not support the nofail option:
Troubleshooting
Access serial port from guest
TTY text too small during installation
From the host, VirtualBox Manager, set the Display Scale-factor to 2.00 or 3.00.
Guest freezes after starting Xorg
Faulty or missing drivers may cause the guest to freeze after starting Xorg, see for example [4] and [5]. Try disabling 3D acceleration in Settings > Display, and check if all Xorg drivers are installed.
Fullscreen mode shows blank screen
On some window managers (i3, awesome), VirtualBox has issues with fullscreen mode properly due to the overlay bar. To work around this issue, disable Show in Full-screen/Seamless option in Guest Settings > User Interface > Mini ToolBar. See the upstream bug report for more information.
If the guest’s screen goes black above a certain size (e.g. above 2048 pixels wide), increasing the Settings > Display > Screen > Video Memory can help.
Linux guests have slow/distorted audio
The AC97 audio driver within the Linux kernel occasionally guesses the wrong clock settings when running inside VirtualBox, leading to audio that is either too slow or too fast. To fix this, create a file in /etc/modprobe.d/ with the following line:
Linux guests have slow/laggy audio
In some cases, audio can have laggy performance (for example lag behind video when streaming video online). A possible workaround can be to use the Intel HD Audio controller in VirtualBox and disable its power saving by adding the following line in a file in /etc/modprobe.d/ in the guest OS:
Arch: pacstrap script fails
Windows host: VERR_ACCESS_DENIED
To access the raw VMDK image on a Windows host, run the VirtualBox GUI as administrator.
No hardware 3D acceleration in Arch Linux guest
To deal with this problem, apply the patch set at FS#49752#comment152254. Some fix to the patch set is required to make it work for version 5.2.16-2.
H Установка Arch Linux для самых маленьких в черновиках Tutorial
Всем доброго времени суток! В этой статья мы рассмотрим установку Arch Linux на ПК (или виртуальную машину) и его базовую настройку
Все самое интересное — под катом.
Для начала я хотел бы ответить на стандартный вопрос всех тех, кто ни разу не встречался с данным дистрибутивом: «Зачем?». Действительно, зачем нужен Arch Linux, когда полно других юзерфрендли дистрибутивов, типа божеупаси Ubuntu, Debian, Linux Mate и т.д. А ответ очень прост: Арч — это один из самых легких и компактных дистрибутивов, который не несет в себе даже окружение рабочего стола, из коробки нам дают только консоль и несколько стоковых утилит (например fdisk). Если вы когда-нибудь хотели поиграть в игру «Собери систему сам», то этот дистрибутив для вас.
Итак, подготовим наш «тестовый стенд». В моем случае я использую Parallels Desktop 12, однако ровно неделю назад я ставил арч на ноутбук Sony Vaio-чтототам, так что процесс установки мало чем будет отличаться.
1. Начало
Для начала скачаем дистрибутив. Релиз на момент написания статьи: 2017.05.01. Весит образ 400 мегабайт. Ядро 4.10.13. Если вы устанавливаете дистрибутив на виртуальную машину, первый шаг можно пропустить.
1.1 Создание загрузочной флешки
Есть несколько способов создания загрузочной флешки. Рассмотрим два из них:
UNetBootIN — бесплатная интуитивно-понятная утилита. Выбираете флешку и дистрибутив и нажимаете «Продолжить», она все сделает сама (так же работает на Mac и Linux). Ссылка.
Win32 Disk Imager — бесплатная утилита для Windows. Все так же: выбираете флешку, дистрибутив и нажимаете Write. Ссылка.
Для *nix подобных систем скачивать дополнительные утилиты необходимости нет. Все что нужно — наличие терминала под рукой. Для начала найдем флешку:
Mac OS: пишем diskutil list, получаем список всек замонтированных ус-в.
В моем случае флешка имеет «ссылку» /dev/disk3
Linux: пишем lsblk, получаем список ус-в. По сути получим то же самое, только ответ будет типа /dev/sdX (X — буква, например /dev/sdb1)
Теперь, когда мы определились с флешкой, давайте запишем на нее образ. Делать мы это будем с помощью утилиты dd. Открываем терминал (если вы его закрыли) и вводим туда следующее
dd if=path/to/archiso.iso of=path/to/flash status=progress
Готово. Переходим к следующему шагу.
2. Установка базовой системы
Итак, перезагружаем компьютер, и загружаемся с флешки. Сначала мы попадаем в меню SysLinux, где выбираемм «Boot Arch Linux x86_64». Итак, мы в окружении zSH (замена bash).
Сначала проверим наше интернет-соединение. Если вы используете ethernet, то никаких дополнительных манипуляций делать не нужно, арч подцепит все сам. Если вы используете wifi, то введите wifi-menu и вам откроется список доступных для подключения wifi-сетей. К слову, если у вас несколько адаптеров, то введите iw dev, чтобы увидеть все доступные адаптеры (обычно название начинается с буквы w), а затем введите wifi-menu (вместо — ваш адаптер). Теперь проверим соединение, пинганув, например, Яндекс.
С интернетом готово. Теперь проверим наши диски. Вбиваем lsblk, чтобы посмотреть, где у нас что. Итак, у меня основной диск, на котором будет находится система находится на /dev/sda, флешка — на /dev/sdb (sdb1).
Как вы можете заметить, диск не разбит на разделы. Сейчас мы сделаем два раздела для /системы и /home каталога (где будет находится все доступное пользователю окружение).
Мы будем пользоваться утилитой fdisk, т.к она имеет графический интерфейс и с ней более удобно (для меня) работать.
Вводим fdisk в консоль. Он может спросить нас, что нам нужно: gpt или dos(MBR). Для систем с UEFI/GPT выбирайте gpt, для LegacyBIOS/MBR систем — dos. В моем случае мы создадим GPT разметку. Появится более-менее привычный нам гуй.
Нажимаем кнопку Write для записи таблицы разделом на диск и Quit для выхода из утилиты.
Проверим разделы, снова введя lsblk:
Теперь создадим файловую систему для каждого раздела. Для системы и /home каталога будем использовать ext4, а для свапа — swap.
Вводим в терминал следующие команды:
Снова проверим конфигурацию разделов. Как видите, mountpoint у /dev/sda3 сменился на [SWAP], что означает, что мы все сделали правильно.
Теперь примонтируем диски.
Можете ввести lsblk для проверки точек монтирования. Я это сделал, у меня не было ошибок. Переходим к установке базовой системы. Для этого вводим в терминал следующее:
Отредактируйте файл /etc/pacman.d/mirrorlist с помощью nano. Перед всем содержимым файла добавьте строку:
Тем самым мы добавим зеркало Яндекса и дальнейшие закачки будут идти с него. Это очень важно, так как по-умолчанию там установлен какой-то далекий сервер закачек. Например, у меня во время написания этой статьи закачки оттуда не шли вообще.
Процесс скачивания и установки займет какое-то время, так что смело можете отправится пить пиво/чай/etc.
В базовой системе ОТСУТСТВУЕТ возможность работы с wi-fi, поэтому установите туда dialog и wpa_supplicant для работы с беспроводными сетями с помощью пакстрап:
3. Настройка базовой системы
Итак, мы установили систему. Теперь зайдем в нее и настроим изнутри, введя команду:
Сейчас мы вышли из live-окружения и уже работает непосредственно с системой. Демон dhcpcd автоматически подцепит ethernet-соединение, для wifi используйте wifi-menu.
Установим локаль (язык) для нашей системы. Откроем файл /etc/locale.gen с помощью nano, найдем и расскоментируем следующие строки:
для генерации локалей.
Создадим файл locale.conf, где будет содержаться переменная текущей локали и запишем в него переменную LANG=ru_RU.UTF-8 или LANG=ru_RU для установки русского языка:
Так же можем вместо echo LANG… прописать locale > /etc/locale.conf при условии того, что нас устраивает вывод locale:
Теперь установим консольный шрифт для работы. Выполним следующие команды:
В файл vconsole.conf добавим следующие строки
Настроим часы. Введем:
Например, для Новосибирска я введу следующее:
Сгенерируем таблицу разделов. Для этого вернемся в live-окруджение командой exit и выполним
Не забудьте проверить файл /mnt/etc/fstab через nano. Вернемся в chroot, чтобы завершить настройку через arch-chroot /mnt.
Установим загрузчик (т.е GRUB). Вводим следующее:
Выходим из окружения командой exit и перезагружаемся командой reboot. После перезагрузки, если мы сделали все правильно, мы попадем в меню Grub, а оттуда — в Арч. Логин для входа — root, пароль тот, который мы указали. Установить интернет-соеденение через провод:
Находим там наш интерфейс. Затем вбиваем:
Устанавливаем соединение, затем вбиваем:
Имя профиля будет начинаться на wlp.
и наслаждаемся автоматическим подключением.
Для справки: сейчас наша система занимает всего 1,5 гигабайта. Неплохо, да?
4. Установка графического окружения
На этом моменте у меня вылетел Parallels, в последствие отказавшийся запускать виртуальную машину, так что я был вынужден мигрировать на VirtualBox. Ничего не поменялось, кроме как таблица разделов на диске стала DOS.
Установим xorg (X Window Manager).
Если вам интересно, мы можем запустить окружение командой startx или xinit и посмотреть, что будет:
Это только «фундамент» нашел будущего всего.
Кстати, давайте сделаем пользователя для себя следующей командой и дальше будем работать через него с помощью sudo.
Настроим доступ к sudo для пользователей. Введем команду visudo, найдем закоментированную строку
Раскомментируем ее, нажмем esc, затем «:wq» и нажмем Enter. Теперь перейдем в наше окружение пользователя командой su my_user и далее будем работать из-под него.
Я буду использовать Plasma для работы, вы можете выбрать любой DE, который вам понравится.
Установлю его командой:
Последний будет устанавливаться очень долго (он скачает 700 мегабайт пакетов и установит примерно 2 гигабайта), так что можете отправится пить чай.
После установки пропишем следующее:
После перезагрузки нам откроется окно входа SDDM, введя пароль попадем в наше рабочее окружение.
Установка Arch Linux
На кого рассчитана эта статья?
Статья конечно предназначена больше новичков в linux. Но даже имея некоторый опыт в виде нескольких лет с Ubuntu, в начале знакомства с arch у меня были трудности с установкой, по разным причинам. Затем и с настройкой.
Начало
Процесс установки можно разделить на несколько этапов:
Этап создания загрузочной флешки пропускается, если Вы устанавливаете систему на виртуальную машину. Далее скриншоты в статье я буду показывать именно с виртуальной машины. Но все шаги проверены неоднократно и на физических устройствах.
Arch linux не имеет графического инсталлятора. Но пугаться не стоит, ничего страшного в установке через командную строку нет. Напротив, это способ даже немного прокачаться.
Создание загрузочной флешки
Для создания загрузочной флешки в последнее время я использую кросплатформенную утилиту balena-etcher, с которой эта процедура сводится к нажатию одной кнопки.
После загрузки с флешки вся установка сводится к поэтапному вводу команд для настройки базовых вещей, разметки диска, установки системы, и установки загрузчика. На этом установка заканчивается, и начинается настройка системы, где скорее всего одним из первых дел будет установка DE (Desktop Environment), т.е. графического окружения.
Установка
Интернет соединение
Когда мы загрузились с загрузочной флешки, мы оказались наедине с командной строкой live окружения, из которого мы и будем осуществлять установку. И первым делом проверим интернет соединение:
т.к. установка arch без интернета если и возможна, то довольна проблематична.
На виртуальной машине соединение скорее всего будет сразу. На железе с ethernet кабелем возможно тоже, но если нет, или если вы будете раздавать интернет по кабелю с телефона, то выполним следующие действия:
После чего пингуем еще раз, и убеждаемся, что подключение появилось.
Разметка диска
Будьте осторожны! Если Вы не понимаете, что Вы делаете, то лучше не делайте ничего. Можно потерять данные, если таковые есть на существующих дисках. Как вариант, заблаговременно сохраните их на другом носителе, на всякий случай.
Выведем список дисков:
Увидим список жестких дисков и существующих разделов. У меня диск называется /dev/sda, у Вас наименование может отличаться. Перейдем непосредственно к разбиению:
Если Вы не знаете BIOS у Вас или UEFI, то можете посмотреть содержимое раздела
Если такого каталога не существует, то скорее всего, система загружена в режиме BIOS.
Я же при установке на железо выбирал GPT, т.к. на macbook у меня UEFI. При установке на виртуальную машину я выбираю MBR, т.е. пункт dos.
После создания таблицы разделов, разбиваем диск на разделы. Процедура мало чем отличается от подобных шагов в графических установщиках других дистрибутивов. Коротко о том, что вообще может понадобиться:
Загрузочный раздел
Если у Вас UEFI, то нужно создать EFI System диск размером 512M.
Если вы выбрали таблицу разделов GPT, и у Вас BIOS, то нужно дополнительно создать логический раздел для хранения образа загрузчика размером 1М с типом BIOS boot
Раздел подкачки (swap)
Корневой раздел
Если вы планируете активно использовать docker, то будьте внимательны, по умолчанию docker image и volume хранятся в папке /var/lib/docker. И необходимо сейчас позаботиться о достаточном дисковом пространстве для них.
Домашняя директория и другие разделы
При установке на виртуальную машину я создал загрузочный раздел, swap для примера, и корневой раздел. Домашнюю директорию я опустил.
Форматирование разделов
Смотрите на свои номера дисков, они могут не совпадать с теми, что я привожу в примерах.
Если у вас загрузочный диск EFI, то форматируем его в FAT32.
Если BIOS, то вместо FAT32 форматируем в ext2:
Если вы создавали раздел для хранения образа загрузчика размером 1М с типом BIOS boot, то его форматировать не нужно.
Раздел подкачки необходимо инициализировать. Для этого введем следующие команды:
Корневой раздел и домашний раздел форматируются в ext4
Монтирование разделов
Запуск установки
Можно обойтись ручным редактированием файла /etc/pacman.d/mirrorlist, или вовсе пропустить этот шаг.
Установка системы в примонтированный раздел:
Дождемся завершения процесса установки
Все пакеты скачались и установились, большая часть мучений позади. Осталось совсем немножко 🙂
Первичная настройка системы
fstab
Командой cat /mnt/etc/fstab проверим, что файл на месте, и что он содержит описание наших дисков.
arch-chroot
Сменим корневой каталог на /mnt с помощью утилиты arch-chroot
Временная зона и системное время
Установим симлинк временной зоны
Локаль
Я раскомментирую следующие локали:
после чего запустим команду генерации тех локалей, которые мы раскомментировали:
Объявим переменную LANG в /etc/locale.conf файле.
Я ставлю английский язык т.к. мне комфортнее, когда операционка на нем. Легче ошибки гуглить, и меньше проблем с кириллицей. Но поддержка русского в консоли не помешает.
Шрифты
Для поддержки русского языка в консоли необходимо сменить шрифт. Без этого вместо русского языка будут отображаться квадраты. Список доступных шрифтов можно посмотреть тут:
Заодно поставим и смену раскладки клавиатуры (KEYMAP) на Alt + Shift. Откроем на редактирование файл /etc/vconsole.conf
и запишем туда 2 строки
Если очень хочется шрифт покрасивее, то можно сначала установить любой подходящий шрифт в систему, и применить именно его. Например установим один из шрифтов из пакета terminus-font
hostname и hosts
Запишем имя компьютера в файл /etc/hostname (замените myArchHostName на желаемый)
после чего создадим файл /etc/hosts
Пользователь
Зададим пароль root пользователю:
Создадим себе пользователя, из под которого вы будете пользоваться системой (замените archuser на имя вашего пользователя):
Зададим пароль Вашему пользователю:
а также по желанию, чтобы постоянно не вводить пароль при вызове команд через sudo (внимание, потенциально опасно), можно раскомментировать строку:
Установка загрузчика
Далее необходимо выполнить установку загрузчика. Для BIOS или UEFI параметры установщика отличаются.
Grub для BIOS:
Grub для UEFI:
Не забываем сгенерировать конфиг GRUB
Интернет
Чтобы у нас в установленной системе была возможность подключиться к интернету, нам необходимо установить ряд утилит, а именно:
Нужно установить их сейчас, ибо потом у нас не будет интернета. После их установки выходим из arch-chroot, отмонтируем наши диски, и перезагрузимся. Отсоединим загрузочную флешку, и загрузимся с основного дискового накопителя.
После чего мы увидим меню GRUB, после которого будет приглашение ввода имени пользователя, созданного нами ранее.
Чтобы появился интернет, вернемся к началу статьи, и сделаем ровно те же шаги.
Послесловие
Arch Linux не для всех, и в первую очередь не для тех, кто привык “требовать” функционал, фичи, и кормление с ложки из коробки. Тут всегда есть выбор: вкладывать время в саморазвитие через обучение и самостоятельное погружение в систему, или возвращаться к Ubuntu, которая делает все за тебя. Но у такого подхода есть большой плюс в том, что при четком понимании того, что хочешь от системы, ты строишь ее по кирпичикам без лишних запчастей, под себя, под свои персональные нужды и прихоти.