Не часто, але іноді виникає потреба завантажити систему з usb, і перезібрати
initramfs-linux.img
.
Цей пост – скоріш просто невеликий нотаток для себе як, що, і куди маунтити на робочому ноуті, аби запустити mkinitcpio
, бо в мене є розділи LVM, є окремі розділи на диску під /boot
та swap.
Зміст
iwctl
та WiFi
Отже, завантажуємось з флешки, і налаштовуємо WiFi, аби далі всі команди робити з іншого компа, де можна копіпастити з RTFM:
[root@archiso ~]# iwctl # station wlan0 connect setevoy-linksys-5-0
Задаємо пароль root
:
[root@archiso ~]# passwd root
Отримуємо IP:
[root@archiso ~]# ip a s wlan0 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.168.3.114/24 brd 192.168.3.255 scope global dynamic noprefixroute wlan0
І підключаємо з іншого ноута:
[setevoy@setevoy-home-laptop ~] $ ssh [email protected]
Підключення розділів LVM
Знаходимо volume group:
[root@archiso ~]# vgscan Found volume group "vg_arch" using metadata type lvm2
Активуємо його:
[root@archiso ~]# vgchange -ay 2 logical volume(s) in volume group "vg_arch" now active
Згадуємо, які в системі є logical volumes, в мене їх два – один корневий під систему, інший під $HOME
:
[root@archiso ~]# lvdisplay --- Logical volume --- LV Path /dev/vg_arch/root ... --- Logical volume --- LV Path /dev/vg_arch/home ...
Маунтимо /dev/vg_arch/root
до /mnt
:
[root@archiso ~]# mount /dev/vg_arch/root /mnt/
Підключення /boot
Глянемо решту дисків і розділів:
[root@archiso ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 820.6M 1 loop /run/archiso/airootfs sda 8:0 1 28.9G 0 disk └─sda1 8:1 1 28.9G 0 part nvme0n1 259:0 0 465.8G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part ├─nvme0n1p2 259:2 0 1G 0 part ├─nvme0n1p3 259:3 0 32G 0 part └─nvme0n1p4 259:4 0 432.3G 0 part ├─vg_arch-root 254:0 0 100G 0 lvm /mnt └─vg_arch-home 254:1 0 332.3G 0 lvm
Оце саме та трохи tricky part, де я постійно забуваю що і як в мене маунтиться – але у нас є fstab
, де все описано.
Наприклад, я колись витратив багато часу перезбираючи initramfs-образ, але система все одно не завантажувалась.
І лише через деякий час я згадав, що в мене і /boot
на окремому розділі:
[root@archiso ~]# cat /mnt/etc/fstab # /dev/mapper/vg_arch-root UUID=8569a65c-d848-427d-bcd0-5046d0e07f2b / ext4 rw,relatime 0 1 # /dev/mapper/vg_arch-home UUID=0ae5ba43-3bb3-4826-8570-8918a82bf27f /home ext4 rw,relatime 0 2 # /dev/nvme0n1p1 UUID=54C4-1990 /boot/EFI vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2 # /dev/nvme0n1p2 UUID=6a42ffb4-6811-4176-b26e-873f49aea3b0 /boot ext2 rw,relatime 0 2 # /dev/nvme0n1p3 UUID=08d2ae9d-28fa-4d20-9d06-72d1b7fdc21d none swap defaults 0 0
Маунтимо /dev/nvme0n1p2
в /mnt/boot/
:
[root@archiso ~]# mount /dev/nvme0n1p2 /mnt/boot/
Глянемо, що там зараз – а зараз нічого нема, бо під час апдейту не вистачило місця в /tmp
, і не зібрався новий initramfs-linux.img
:
[root@archiso ~]# ls -l /mnt/boot/ total 24 drwxr-xr-x 2 root root 4096 Dec 7 2020 EFI drwxr-xr-x 6 root root 4096 Dec 7 2020 grub drwx------ 2 root root 16384 Dec 7 2020 lost+found
Ну і власне тепер можна збирати систему.
Запуск mkinitcpio
Тут вже все просто – встановлюємо пакети в /mnt
:
[root@archiso ~]# pacstrap /mnt base linux linux-firmware
Виконуємо chroot, і запускаємо mkinitcpio
:
[root@archiso ~]# arch-chroot /mnt/ 11:27:22 [root@archiso /] # mkinitcpio -p linux ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' ==> Using configuration file: '/etc/mkinitcpio.conf' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img ...
Перевіряємо /boot
ще раз – тепер все на місці:
11:28:48 [root@archiso /] # ls -l /boot/ total 68000 drwxr-xr-x 2 root root 4096 Dec 7 2020 EFI drwxr-xr-x 6 root root 4096 Dec 7 2020 grub -rw------- 1 root root 41323222 Mar 3 11:28 initramfs-linux-fallback.img -rw------- 1 root root 14137751 Mar 3 11:28 initramfs-linux.img drwx------ 2 root root 16384 Dec 7 2020 lost+found -rw-r--r-- 1 root root 14053888 Mar 3 11:26 vmlinuz-linux
Готово – перезавантажуємось в основну систему.