2

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

1 ответ1

3

Требуется немного лучше понять механизм загрузки linux.

После загрузки ядро инициализирует драйверы устройств и после этого запускает первый процесс в системе. По умолчанию это /sbin/init . С этого момента ядро ничего не делает самостоятельно, а только выполняет запросы процессов.

Вы можете переопределить эту настройку по умолчанию с помощью init=/path/to/your/binary в параметрах загрузки ядра. Эти параметры вы должны дать своему загрузчику (который, вероятно, grub).

Если вам нужна простая командная строка с оболочкой, вы можете init=/bin/bash для вашего загрузчика.

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