Ответы пользователя по тегу GRUB
  • Линукс с нуля: как прикрепить программы к чистому ядру?

    @AquiHostStrider
    Непосредственно к ядру (на самом низком уровне) программы крепятся с помощью системных вызовов ядра. Там всё-всё делается непосредственно, там нет никаких радостей жизни вроде printf() или scanf() и прочего stdio. Для этого надо хорошо изучить Linux kernel API. Для облегчения освоения этой сложной темы можно начать с многочисленных туториалов «Writing a Linux driver», постепенно переходя к более сложным вещам.

    Но так вообще-то практически никто не делает, даже эмбеддеры. Для «крепления» программ к ядру существует базовая Си-библиотека, научиться конфигурировать и собирать которую -- гораздо более общественно-полезное дело, чем собирать ядро, тупо тыкая мышью нужные опции. Именно базовая Си-библиотека и даёт нам ту самую невыразимую «линуксовость» системного окружения.

    Для обычных дистрибутивов применяется GNU C library, более известная как glibc, с которой линкуются все программы, она-то и обеспечивает все радости жизни stdio, с ней в комплекте всякие низкие инициализации crt0.o, crt1.o, итп. и динамический компоновщик. Для специальных применений применяются альтернативные базовые Си-библиотеки, например uClibc, dietlibc, alibc. Если уж так хочется пользоваться непосредственно функциями ядра -- можно поизучать их исходники.
    Ответ написан
    Комментировать