Наименьшее возможное распределение Linux
Я хочу создать действительно маленький дистрибутив Linux, который будет использовать busybox, возможно, uClibc. В начале только ramfs сделали бы. Плюс, я не против, чтобы у меня не было родного набора инструментов. Я прошел через "Linux с нуля"; но, видимо, он предназначен для полноценного дистрибутива. Можете ли вы дать мне совет по этому поводу?
5 ответов
Я не могу сказать вам, что наименьшее возможное, но Tiny Core Linux - самое маленькое, о котором я когда-либо слышал. Им удается сжать графическую систему в 12 МБ, а текстовую систему - в 8 МБ.
На самом деле нет никаких ограничений на размер дистрибутива, кроме той функциональности, которая вам нужна в этом дистрибутиве.
Я рекомендую ht tp://www.linuxfromscratch.org/, если вы заинтересованы в создании нового дистрибутива.
Не уверен, что это "минимально возможная" минимальная конфигурация, но вы можете начать с initramfs (см. Также документацию ядра), содержащего всего несколько файлов.
Это заправляет образ виртуального диска на фактический vmlinux
Ядро перед сжатием всего лота, так что при загрузке оно автоматически извлекается и распаковывается. Ядро запускается с использованием этого образа памяти в качестве корневой файловой системы и ищет там исполняемый файл с именем init
, Который может быть любым двоичным - в том числе busybox
,
На самом деле, используя статически связанный busybox в качестве init
Внутри initramfs нет ничего необычного в запуске встроенного устройства - получение приглашения оболочки только после загрузки ядра подтверждает, что ядро загружается, интерфейс ядра / пользовательского интерфейса и консоль работают.
На данном этапе, пока нет необходимости в каком-либо фактическом устройстве хранения, функциональной корневой файловой системе и прочем. Если ваше устройство используется в режиме киоска (никакие данные не сохраняются при перезагрузке), это все, что вам нужно.
Knoppix меньше, чем Tinycore. А для Акиры, который считает, что мое доказательство имеет больше смысла, попробуйте различить методы start_kernel() между двумя, и вы сами поймете, насколько проще Knoppix.
Вот, пожалуйста, http://alpinelinux.org/ musl libc + busybox.
Это дистрибутив, который подходит под 8 МБ (хотя его можно немного уменьшить)
Он основан на musl-libc и busybox.