Для загрузки нового корневого устройства необходимо, чтобы флоппи-диск, описанный выше, был вставлен в компьютер при его загрузке.
Вы увидите следующую последовательность событий.
Загрузка DOS
Запуск AUTOEXEC.BAT
Запуск LOADLIN
Загрузка в память ядра Linux
Загрузка в память загрузочного электронного диска
Запуск ядра Linux
Запуск файла /linuxrc с загрузочного электронного диска
Подключение DOS-раздела и настройка корневого и swap-устройств
Последовательность загрузки продолжается с зацикленного устройства
Когда все это пройдет, вы можете убрать флоппи-диск и использовать Linux.
Существует ряд причин, по которым что-то в этом процессе идет не так. Я попытаюсь объяснить, в чем они заключаются, и что необходимо проверить.
Загрузку DOS легко узнать по сообщению MS-DOS Starting ... на экране. Если его нет, то диск либо не является загружаемым, либо сам компьютер не может загрузиться с этого дисковода.
Когда запускается файл AUTOEXEC.BAT, то команды, входящие в него, выводятся на экран. В нашем случае, это одна строка, содержащая запуск LOADLIN.
Когда загружается LOADLIN, то он выводит две очень хорошо заметные строки, сначала он загрузит ядро в память, затем также будет загружать загрузочный электронный диск. Обе этих загрузки сопровождаются сообщением Loading....
Когда ядро декомпрессирует себя, оно может выдать сообщение о crc-ошибках, если ядро повреждено. Затем начнется инициализационная последовательность, которая содержит очень много диагностических сообщения. Загрузка в память загрузочного электронного диска также видна на этой фазе.
Когда запускается файл /linuxrc, тогда нет диагностических сообщения, но их вы можете добавить сами для того, чтобы помочь себе в поисках причин возможных проблем. Если на этой фазе не удается настроить зацикленное устройство, вы увидите сообщение о том, что "Не найдено корневое устройство (No root device)", и ядро прекратит работу.
Затем должна продолжиться нормальная последовательность загрузки уже с новой корневой файловой системой, и она также насыщена сообщениями. Могут появиться проблемы типа "Корневое устройство подключено в режиме чтение/запись", но с этим должна справиться опция 'ro' команды LOADLIN. Другая проблема, которая может возникнуть - это вопрос о реальном местоположении корневой файловой системы, это возникнет, возможно, из-за проблем с файлом /etc/fstab.
Когда последовательность загрузки закончится, может возникнуть проблема, состоящая в том, что некоторые программы не очень хорошо понимают, подключен ли DOS-раздел. Поэтому я советую использовать "поддельную" команды mount, описанную выше. Она значительно упростит жизнь, если вы хотите использовать файлы на DOS-устройстве.
При создании моей первой зацикленной корневой файловой системы я использовал следующие источники информации:
Исходные тексты ядра Linux, в особенности init/main.c
Документацию к ядру Linux, в особенности Documentation/initrd.txt и Documentation/ramdisk.txt.
Документацию LILO.
Документацию LOADLIN.