Я пытался установить новое ядро (для удовольствия). Я скачал ядро linux-5.2.9 (в моем корневом разделе в / usr / src) и затем собрал его с помощью make
и make modules install
.
Но во время загрузки из grub
я не смог загрузить его изначально с зависанием процесса загрузки на [OK] Listening on ....
или чем-то подобным. Затем я перешел в режим восстановления и удалил исходные файлы linux-5.2.9, чтобы освободить место в корневом разделе и грохнуть, все ядра загрузились успешно (с некоторыми ошибками и сбоями).
Итак, мой вопрос: почему освобождение места в корневом разделе позволило ему загрузиться и почему пространство в корневом разделе имеет значение при загрузке?
Попытка новых ядер всегда является хорошей идеей... однако установка их без системы пакета не так хороша: BuildYourOwnKernel Wiki описывает, как необходимо сделать это в будущем.
Выполнение make
и make module_install
в ядре источник является только вторым шагом. Как Вы настраивали ядро? Обычно Вы выполняли бы эти шаги:
Настройте ядро: хороший выбор состоит в том, чтобы использовать конфигурацию рабочей формы ядра /boot/config-<kernel version>
$ cp /boot/config-5.0.0-25-generic /usr/src/ linux-5.2.9/.config
$ cd /usr/src/linux-5.2.9/ && make menuconfig
Обновление, Настраивающее ядро с make defconfig
создаст рабочее ядро, однако оно имеет только минимальный набор настроенных драйверов. Например, это не могло бы работать с текущими видеокартами или микросхемами SATA.
Сборка и модули установки (как Вы сделали),
$ make && make module_install
Скопируйте ядро в /boot
. Доступные изображения зависят от Вашей конфигурации ядра
$ cp arch/x86/boot/bzimage /boot/vmlinuz
Создать initrd
. Это - часть, которую Вы правильно пропустили, ядро по умолчанию не загрузится без a initrd
изображение. Можно сделать это вручную также, но существует полезный сценарий для того обновления-initramfs:
$ update-initramfs -c -k 5.2.9
Добавьте новую запись в grup
. Личинка обновления может сделать это, однако она требует, что у Вас ядро и модули есть то же соглашение о присвоении имен.
$ update-grub
И отвечать на Ваш вопрос: пространство в /
или /boot
раздел не имеет никакого эффекта на ядро Linux. На самом деле ядру не нужны оба раздела вообще. Режиму восстановления Ubuntu, например, только нужно initrd
и запустите busybox
оболочка.
Так удаляя источник ядра под /usr/src
не решил Вашу проблему. Это должно быть что-то еще, что Вы сделали.