LINUX.ORG.RU

refind на arch

 ,


0

1

Добрый день, устанавливаю arch и решил вместо systemd-boot поставить refind. Разместил, отформатировал, примонтировал. На моменте когда ставят systemd-boot поставил refind.

pacman -S refind-efi
refind-install
cd /boot && mkdir arch
mv vmlinuz-linux refind_linux.conf initramfs-linux.img initramfs-linux-fallback.img arch

В /boot/arch/refind-linux.conf прописал

"boot with standard options" "cryptdevice=UUID=самUUID:volume root=/dev/mapper/volume-root rw initrd=/arch/initramfs-linux.img quiet"

Refind запускается, но конфиг ничего не предлагает запустить. Поэтому в /boot/EFI/refind/refind.conf я прописал следующее

menuentry "Arch Linux" {
icon /EFI/refind/icons/os_arch.png
loader /arch/vmlinuz-linux
initrd /arch/initramfs-linux.img
options "rw cryptdevice=UUID=самUUID:volume root=/dev/mapper/volume-root quiet"

И вот тогда все запускается. Как сделать чтоб он запускался refind-linux.conf и как мне лучше настроить refind, если захочу dualboot, чтоб все работало? На reddit был пример что все в esp который привязан к boot

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

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

В отличии от приведенных конфигов и набора ПО, у меня установлен ы в дополнение к rEFInd еще dracut и efibootmgr (последний очевидно нужен чтобы зачистить записи в BIOS и на диске от любых старых разгрузчиков и разных следов dualboot EFI).

Не забыть конфиг dracut.conf заполнить нужными значениями, чтобы затем автоматически все действия выполнялись при запуске командами dracut -f dkms install.... И ядро само будет копироваться при make -j16 install в /boot, если спланировать в конфигах rEFInd, что rEFInd должен собранное ядро искать именно в /boot раздела EFI (FAT32).

Чтобы система загрузилась, не забыть про драйвера (EFI) под /, в моем случе это ext4.

/boot # tree -L 4
.
├── config-5.2.0-gentoo
├── EFI
│   ├── refind
│   │   ├── BOOT.CSV
│   │   ├── drivers_x64
│   │   │   └── ext4_x64.efi
│   │   ├── icons
```bash
# tree -L 3
.
├── config-5.2.0-gentoo
├── EFI
│   ├── refind
│   │   ├── BOOT.CSV
│   │   ├── drivers_x64
│   │   ├── icons
│   │   ├── icons-backup
│   │   ├── keys
│   │   ├── refind.conf
│   │   ├── refind.conf-sample
│   │   └── refind_x64.efi
│   └── tools
├── initramfs-5.2.0-gentoo.img
├── memtest86plus
│   ├── memtest
│   └── memtest.bin
├── refind_linux.conf
├── System.map-5.2.0-gentoo
└── vmlinuz-5.2.0-gentoo
Deleted ()

ядро находится в нестандартном месте, поэтому refind его и не находит. Этот путь надо добавить в also_scan_dirs в refind.conf.

Рачвики еще советует изменить extra_kernel_version_strings.

В общем, советую покурить это и это

anonymous ()