Я программирую ОС на базе Linux, но я хочу "заново изобрести колесо" в этой ОС, просто как достижение. Мне сказали, что Linux можно установить на ПК без каких-либо пакетов (что, очевидно, вызывает "панику ядра"), но я не смог найти учебник. Мне просто нужно знать, как начать с пустого раздела и довести его до точки, где он может загрузиться (и загрузить файл инициализации, который я предоставлю). Я не хочу использовать какие-либо пакеты, так как я буду выполнять программу при загрузке.

2 ответа2

1

Вы пробовали использовать LSF?, у вас может быть набор пакетов, которые вы можете использовать или нет:http://www.linuxfromscratch.org/lfs/

1

Предполагается, что система BIOS (не EFI) x86. Для некоторых архитектур, таких как ARM, требуются данные платформы или информация о дереве устройств.

  1. Сборка ядра.
  2. Создайте одну загрузочную файловую систему и пометьте как загрузочную.
  3. Установите ядро в загрузочную файловую систему.
  4. Установите загрузчик.
  5. Сконфигурируйте загрузчик для загрузки вашего ядра, без аргументов, без init {ramfs, rd}.
  6. Загрузочный.
  7. Прочтите Documentation/initrd.txt чтобы узнать, как создать initramfs, если вы хотите выполнить загрузку initramfs, иначе создайте новый раздел и отформатируйте его (корневая файловая система). Игнорируйте часть виртуального диска как таковую и вместо этого используйте часть изображения CPIO.
  8. Сборка busybox, по крайней мере, с настроенной оболочкой.
  9. Установите busybox в initramfs или корневую файловую систему. В первом случае настройте загрузчик на использование initramfs/tell ядра Linux. Для последнего используйте symlink /bin /sh в busybox и добавьте аргумент init = /bin /sh в командную строку ядра.
  10. Расширьте свое воображение с помощью LFS или другого.
  11. Прочтите boot(7) если вам нужен обзор традиционного (вероятно, не того, что вы используете во многих современных дистрибутивах) процесса загрузки Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .