Где находятся файлы ядра и initramfs для systemd-boot?

Вопрос или проблема

Я пытаюсь сделать чистую установку и использовать systemd-boot в качестве загрузчика для моего ESP, но в инструкциях по установке на шаге 4 говорится:

Скопируйте ваш ядро и initramfs на этот ESP.

Но где находятся vmlinuz-linux и initramfs-linux.img? Я не могу их найти ни за что. Мне нужно установить bootctl, прежде чем эти файлы будут доступны? Ничего нет в /boot на моем установочном диске Arch Linux или на разделах, с которыми я работаю.

В связанной вики (которая больше не содержит этой точной фразы), есть раздел (https://wiki.archlinux.org/index.php/Systemd-boot#Preparing_kernels_for_/EFI/Linux), который применяется только если вы хотите создать такое особое ядро. В остальном, ядро Linux помещается в /boot каждый раз, когда вы устанавливаете/обновляете пакет linux с помощью pacman, т.е. также через pacstrap.

Ответ или решение

При установке и настройке загрузчика systemd-boot важно в первую очередь правильно определить местоположение файлов ядра и начального образа (initramfs), а также понять, когда и как они создаются.

Где находятся файлы ядра и initramfs?

На системах, использующих Linux и, в частности, дистрибутив Arch Linux, по умолчанию файлы ядра и initramfs располагаются в каталоге /boot. После установки пакета linux, который включает в себя необходимые компоненты для запуска ядра, вы сможете найти два критически важных файла:

  • vmlinuz-linux: это сжатый образ ядра Linux.
  • initramfs-linux.img: это начальный образ, который необходим для загрузки операционной системы до того, как корневая файловая система будет смонтирована.

Процесс установки

При выполнении установки Arch Linux — особенно если вы используете pacstrap — пакет linux устанавливается автоматически, и файлы должны оказаться в /boot. Однако в окружении, где вы запустили live-образ или в процессе установки, вы можете не увидеть этих файлов, так как они должны быть созданы во время завершения установки системы.

Вот процесс, который следует учитывать:

  1. Запуск pacstrap: Убедитесь, что вы правильно указали целевую базу для установки и вносимые в неё компоненты. Команда может выглядеть так:

    pacstrap /mnt base linux linux-firmware
  2. Проверка /boot: После завершения установки, проверьте, объёмно ли смонтирован раздел, в который вы проводите установку. Например:

    ls /mnt/boot

Установка bootctl

bootctl является утилитой для управления загрузчиком на системах, использующих systemd-boot. Она не требуется для создания файлов ядра и initramfs, но может быть полезной для настройки загрузчика. Вы можете установить bootctl позже, после того как будете уверены, что файлы vmlinuz-linux и initramfs-linux.img уже созданы и расположены в нужной директории.

Заключение

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

Следуйте рекомендациям и документации, и вы успешно завершите установку с использованием systemd-boot.

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

Капча загружается...