Загрузка «Linux с нуля» не вызывает # приглашения

Загрузка «Linux с нуля» не вызывает # приглашения

Я следил заМинимальная система Linux с нулядля сборки Linux с небольшим объемом памяти (10 МБ или меньше).

Я почти уверен, что не было никаких ошибок вплоть до последнего момента, когда я фактически тестировал изображение, используя командуqemu-system-i386 -L . -hda minux.img

Вместо того, чтобы загрузиться в #командную строку, как было показано в руководстве, меня встречает Grub Rescue Prompt. Чтобы попытаться загрузиться, я использовал kernel /boot/kernel_namethen boot, что в конечном итоге приводит к ошибке: Вывод Grub 2

Мой grub.confвариант ниже, он идентичен варианту в уроке:

default 0
timeout 30
title Minux
root (hd0,0)
kernel /boot/vmlinux-2.6.21-1 root=/dev/hda1 rw

Пока что единственное отличие, которое мне удалось найти, было в fdisk, где мой начальный сектор равен 2048, так как это минимум, который я могу установить с помощью fdisk, и, как следствие, смещение больше. Другое отличие в том, что я использую x86_64-pc grub, и некоторые из моих библиотек busybox называются по-другому, но это не должно мешать загрузке.

Как мне исправить процедуру, чтобы мой Linux заработал? Или есть лучший способ сделать дистрибутив Linux размером менее 10 МБ?

решение1

Позвольте мне попытаться ответить на второй вопрос о создании небольшой системы. Поскольку мы собираемся построить систему на базе x86, я полагаю, что предполагается создать систему, загружаемую с флэш-накопителя, а не записывать ее во встроенные чипы, что является совсем другой историей.

рассмотрите возможность удаления образов дисков и использования cpio initramfs. затем загрузитесь следующим образом.

qemu-system-i386 -kernel vmlinuz -initrd root.cpio.gz

Мне это нравится, потому что у нас больше гибкости и не нужно путаться с расположением дисков.

Я также предлагаюgrub4dosзагрузчик. несмотря на «dos» в названии, его можно установить из Linux и загрузить ядра Linux. установка так же проста, как создание mbr и копирование одного файла размером 213k влюбой раздел. и grub4dos распознает множество файловых систем.


кроме того, в вашей конфигурации, похоже, вы неправильно настроили grub, поскольку там естьспасатьконсоль показала . даже если вы должны были ввести kernel /boot/kernel_name"root=" перед boot.

и на моей машине гостевое ядро ​​qemu распознает образ диска как «/dev/sda» вместо «/dev/hda».

Связанный контент