Я хочу создать действительно маленький дистрибутив Linux, который будет использовать busybox, возможно, uClibc. В начале только ramfs сделали бы. Плюс, я не против того, чтобы у меня не было родного набора инструментов. Я прошел через «Linux с нуля»; но, видимо, он предназначен для полноценного дистрибутива. Можете ли вы дать мне совет по этому вопросу?

5 ответов5

3

Я не могу сказать вам, что является наименьшим возможным, но Tiny Core Linux - самый маленький из тех, о которых я когда-либо слышал. Им удается сжать графическую систему в 12 МБ, а текстовую систему - в 8 МБ.

2

На самом деле нет никаких ограничений на размер дистрибутива, кроме той функциональности, которая вам нужна в этом дистрибутиве.

Я рекомендую заглянуть на linuxfromscratch.org, если вы заинтересованы в создании нового дистрибутива.

1

Не уверен, что это "минимально возможная" минимальная конфигурация, но вы можете начать с initramfs (см. Также документацию ядра), содержащего всего несколько файлов.

Это заправляет образ виртуального диска в собственное ядро vmlinux перед сжатием всей партии, так что при загрузке он автоматически извлекается и распаковывается. Ядро запускается с использованием этого образа памяти в качестве корневой файловой системы и ищет там исполняемый файл с именем init . Который может быть любым двоичным файлом, включая busybox .

На самом деле, использование статически связанного busybox в качестве init внутри initramfs не является необычным шагом при запуске встроенного устройства - переход к приглашению оболочки только после загрузки ядра подтверждает, что ядро загружается, интерфейс ядра / пользовательского пространства и консоль работают.

На этом этапе нет необходимости в каком-либо фактическом устройстве хранения данных, функциональной корневой файловой системе и тому подобном. Если ваше устройство используется в режиме киоска (нет данных, сохраняемых при перезагрузке), это на самом деле все, что вам нужно.

0

Knoppix меньше, чем Tinycore. А для Акиры, который считает, что мое доказательство имеет больше смысла, попробуйте различить методы start_kernel() между двумя, и вы сами поймете, насколько проще Knoppix.

-1

Вот, пожалуйста, http://alpinelinux.org/ musl libc + busybox.

Это дистрибутив, который подходит под 8 МБ (хотя его можно немного уменьшить)

Он основан на musl-libc и busybox.

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