Участник:DamyrKhann/Установка ALT Linux P10 методом chroot

Материал из ALT Linux Wiki

Это руководство детально описывает процесс ручной установки ALT Linux P10 методом chroot на архитектуру PC x86_64. Предполагается, что вы уже знакомы с системой GNU/Linux, но не обязательно с установкой системы GNU/Linux методом chroot. Автор снимает с себя всякую ответственность за любой ущерб, причинённый вследствие использования данного руководства. Предполагается, что данная методика будет использована опытным пользователем с полным осознанием процесса установки.

Причина, по которой было написано данное руководство, это отсутствие возможности у штатного инсталлятора установки системы на уже существующую разметку диска, которая предполагает наряду с полным шифрованием разделов системы GNU/Linux (LVM on LUKS) также наличие разделов с установленной системой Microsoft Windows 11.

Вводные данные

  • Ноутбук Thinkpad X220 (Intel Core i7)
  • Samsung SSD 860 EVO 1TB
  • Накопитель USB с Simply Linux P9.1 Live ISO
  • Режим загрузки системы UEFI
  • Интернет соединение
  • Разметка диска
# fdisk --list /dev/sda —bytes
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 09920250-CD30-4802-85DE-EE050BF1FB21
Device         Start        End    Sectors         Size Type
/dev/sda1       2048     206847     204800    104857600 EFI System
/dev/sda2     206848     239615      32768     16777216 Microsoft reserved
/dev/sda3     239616  209954815  209715200 107374182400 Microsoft basic data
/dev/sda4  209954816  210978815    1024000    524288000 Windows recovery environment
/dev/sda5  210978816  212002815    1024000    524288000 Linux filesystem
/dev/sda6  212002816 1953525134 1741522319 891659427328 Linux filesystem
  • Структура диска
# lsblk --bytes --tree --output NAME,PATH,SIZE,TYPE,FSTYPE
NAME             PATH                            SIZE TYPE  FSTYPE
sda              /dev/sda               1000204886016 disk
├─sda1           /dev/sda1                  104857600 part  vfat
├─sda2           /dev/sda2                   16777216 part
├─sda3           /dev/sda3               107374182400 part  ntfs
├─sda4           /dev/sda4                  524288000 part  ntfs
├─sda5           /dev/sda5                  524288000 part  crypto_LUKS
│ └─sda5-luks    /dev/mapper/sda5-luks      522190848 crypt ext2
└─sda6           /dev/sda6               891659427328 part  crypto_LUKS
  └─sda6-luks    /dev/mapper/sda6-luks   891642650112 crypt LVM2_member
    ├─linux-root /dev/mapper/linux-root   21474836480 lvm   ext4
    ├─linux-swap /dev/mapper/linux-swap   11169431552 lvm   swap
    └─linux-home /dev/mapper/linux-home  858993459200 lvm   ext4

Конфигурирование

Скачиваем Live ISO-образ Simply Linux P9.1 и записываем его на накопитель USB. Загружаемся с USB в LIVE-систему, устанавливаем интернет соединение.

Расшифровываем разделы LUKS:

# cryptsetup luksOpen /dev/sda5 sda5-luks
# cryptsetup luksOpen /dev/sda6 sda6-luks

Активируем логические тома LVM:

# vgchange --activate y
3 logical volume(s) in volume group "linux" now active
Примечание: Во избежание недоразумений следует обратить внимание, что раздел /dev/sda5, который будет смонтирован как /boot, зашифрован как LUKS1, так как GRUB2 не умеет расшифровывать LUKS2. Раздел /dev/sda6 зашифрован как LUKS2 и уже имеет на борту логическую структуру LVM.


Монтируем логический том c корнем (/) системы:

# mount /dev/linux/root /mnt
# cd /mnt

Скачиваем архив rootfs и разворачиваем его в корне:

# wget https://mirror.yandex.ru/altlinux/p10/images/cloud/alt-p10-rootfs-systemd-x86_64.tar.xz
# tar -xf alt-p10-rootfs-systemd-x86_64.tar.xz
# rm alt-p10-rootfs-systemd-x86_64.tar.xz

Монтируем остальные разделы и тома:

# mount /dev/mapper/boot /mnt/boot
# mkdir /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi
# mount /dev/linux/home /mnt/home

Монтируем псевдо-файловые системы необходимые для chroot:

# mount --rbind /sys /mnt/sys && mount --make-rslave /mnt/sys
# mount --rbind /dev /mnt/dev && mount --make-rslave /mnt/dev
# mount --rbind /proc /mnt/proc && mount --make-rslave /mnt/proc

Подгружаем модуль efivars, он понадобиться при установке загрузчика:

# modprobe efivars

Переходим в chroot:

# PS1='(chroot) # ' chroot /mnt/ /bin/bash

Установка

Обновляем систему:

# apt-get update
# apt-get dist-upgrade
# apt-get install update-kernel
# update-kernel

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

# apt-get install kernel-modules-drm-un-def
# apt-get install firmware-linux
# apt-get install firmware-intel-ucode

Устанавливаем утилиты для работы с LUKS и LVM:

# apt-get install cryptsetup
# apt-get install lvm2

Устанавливаем дополнительные пакеты для initrd:

# apt-get install make-initrd-luks
# apt-get install make-initrd-lvm
# apt-get install make-initrd-ucode

Устанавливаем утилиты для работы с файловыми системами:

# apt-get install dosfstools
# apt-get install ntfs-3g

Устанавливаем пароль пользователя root:

# passwd

Устанавливаем божественный VIM :) или любой другой редактор:

# apt-get install vim-console

Задаём локаль системы:

# vim /etc/sysconfig/i18n
LANG=ru_RU.UTF-8
SUPPORTED=ru_RU.UTF-8
# vim /etc/locale.conf
LANG=ru_RU.UTF-8

Наполняем файл /etc/fstab данными:

# blkid | grep 'sda1\|boot\linux-' | perl -pe 's/^(.*):.*UUID="([^"]*).*" TYPE="([^"]*).*"/sprintf "# %s\nUUID=%s<mount_point>\t%s\tdefaults\t0\t0", $1,$2,$3/e' >> /etc/fstab

Правим файл /etc/fstab и приводим его к следующему виду: