Установить Arch на виртуальную машину

Захотелось перечислить основные телодвижения, которые потребовались от меня, что бы установить ArchLinux на виртуалку.

Желания души и тараканы в голове, ну и активность некоторых товарищей, привели меня к тому что я захотел поставить на виртуальную машину Arch Linux.

Скачал я образ установочного диска с сайта арча
https://www.archlinux.org/download/
используя torrent ссылку.

Затем подключил к только что созданной виртуальной машине. Загрузился с него. И началось.

Пошёл по инструкции из вики арча
https://wiki.archlinux.org/index.php/Installation_guide

Перво-наперво зачем-то проверил, а не загрузилось ли ядро в EFI

# ls /sys/firmware/efi

Оказалось нет такого, вздохнул с облегчением и пошёл дальше.

Хоть я и русско говорящий решил пока для консоли оставить умолчальную keymap US.

Соединение с интернетом проверил пингом

# ping 8.8.8.8

пинговалось нормально вот я и успокоился.

Для системных часов сделал несколько телодвижений. Включил синхронизацию

# timedatectl set-ntp true

и выбрал свою временную зону

# timedatectl set-timezone Asia/Omsk

Весь список временных зон можно посмотреть так

# timedatectl list-timezones

Дело дошло до разметки диска, решил это сделать утилитой parted. Схема была такая:

раздел файловая система размер
Загрузочный /boot ext2 200MiB
Подкачки swap swapfs 1024MiB
Корневой / ext4 12388MiB
Домашний /home ext4 Остатки ~ 4GiB

Утилиту parted можно запустить без параметров, она покажет своё приглашение и затем можно будет вводить команды. Кстати, при запуске без параметров она мне написала, что использует мой виртуальный диск
Using /dev/sda
Первая моя команда была
(parted) help
Для того, чтобы увидеть разделы на текущем диске вводим
(parted) print
Наш диск пока девственно чист, поэтому создаём таблицу разделов
(parted) mklabel msdos
После этого можно начать создание разделов, все разделы будут primary
(parted) mkpart primary 1MiB 200MiB
(parted) mkpart primary 200MiB 1224MiB(parted) mkpart primary 1224MiB 13612MiB
(parted) mkpart primary 13612MiB 17708MiB
Можно для проверки результата разбивки опять ввести команду print
Результат разбивки немного отличается от ожидаемого, но нам и так сойдёт
Первый раздел пометим как загрузочный
(parted) set 1 boot on
Теперь можно выйти из утилиты parted

Перейдём к созданию файловых систем

# mkfs.ext2 /dev/sda1
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda4
# mkswap /dev/sda2

Включим раздел подкачки

# swapon /dev/sda2

Перед установкой базового пакета смонтируем разделы диска в нужные директории

# mount -t ext4 /dev/sda3 /mnt
# mkdir /mnt/boot
# mount -t ext2 /dev/sda1 /mnt/boot
# mkdir /mnt/home
# mount -t ext4 /dev/sda4 /mnt/home

Список зеркал на которых находится базовый пакет можно не править, перейдём к установке

# pacstrap /mnt base

У меня установка прошла успешно.

Сгенерируем файл fstab

# genfstab -p /mnt >> /mnt/etc/fstab

Выведите его содержимое в консоль

# cat /mnt/etc/fstab

В нём должны быть перечислены все четыре раздела диска которые мы создавали

Изменим корень загруженной системы на нашу только что установленную

# arch-chroot /mnt

Установим временную зону

# ln -s /usr/share/zoneinfo/Asia/Omsk /etc/localtime

Сгенерируем корректировку системных часов

# hwclock --systohc --utc

Отредактируем файл

# nano /etc/locale.gen

Раскомментируем нужные строки в нём, например следующие

en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

Команды редактора nano вводятся как сочетания клавиш с Ctrl
сохранить Ctrl + O
закрыть Ctrl + X

Запускаем генерацию

# locale-gen

Создадим записи об имени машины в файлах

/etc/hostname

Вписываем туда просто имя машины, я выбрал такое

host-dim

В файле

/etc/hosts

дописываем в конце строк, которые начинаются как

127.0.0.1
::1

выбранное имя машины

Включим сервис который будет запрашивать для машины IP адрес

# systemctl enable dhcpcd

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

Создадим стартовый RAM диск

# mkinitcpio -p linux

Зададим админский пароль для новой системы

# passwd

Для загрузки системы я выбрал загрузчик GRUB, установим его

# pacman -S grub

Инсталлируем загрузчик GRUB

# grub-install --target=i386-pc /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

У меня процессор i5, поэтому я ещё установлю пакет intel-ucode

# pacman -S intel-ucode

И включу обновление микрокода процессора в файле /boot/grub/grub.cfg
В этом файле нужно найти строки

echo 'Loading initial ramdisk …'
initrd /initramfs-linux.img

Измените их следующим образом

echo 'Loading initial ramdisk …'
initrd /intel-ucode.img /initramfs-linux.img

Теперь можно выходить из новой системы

# exit

Размонтировать всё что монтировали

# umount -R /mnt

И перезагружаться

# reboot

После перезагрузки моя система работала, и пинговала адрес 8.8.8.8
Установка всего полезного оставим на потом.

Понравилась статья? Посоветуйте другу

Количество коментариев: 0

Добавить комментарий



[ Ctrl + Enter ]