Какие минимальные компоненты для операционной системы Linux должны быть функциональными, и что я могу использовать в качестве основы для расширения и совершенствования по мере изучения Linux и роста моего понимания и потребностей?
linux
distribution-choice
small-distribution
slashmais
источник
источник
Если вы хотите научиться, Gentoo - хороший вариант - минимальная установка Gentoo - это корневая оболочка и менеджер пакетов, и вы собираете оттуда остальную часть своей системы. Gentoo также находится довольно близко к апстрим-пакетам, поэтому вы не столкнетесь с большим количеством проблем, если захотите загрузить и собрать некоторые пакеты самостоятельно (и фактически вы можете добавить их в файл /etc/portage/package.provided после того, как они установлены, и используйте их как зависимости!)
Если вы ищете абсолютно наименьшую возможную систему Linux, то создайте свое собственное ядро, выделив все драйверы и функции, которые вы не планируете использовать, а затем добавьте initramfs, содержащий аналогично свернутую сборку Busybox. В результате получается полностью загружаемая система Linux в одном исполняемом файле (на которую вы можете указать свой загрузчик), и в которую вы можете уместить менее 10 МБ, даже не пытаясь.
источник
Archlinux использует базовую группу файлов для минимальной установки.
Вместе с группой базового уровня , если вы собираетесь заниматься разработкой системы.
источник
Если вы действительно хотите просто минимум системы Linux, вы можете попробовать дистрибутивы для встроенных систем, таких как маршрутизаторы. Обычно они несут только абсолютный минимум программного обеспечения, а общее отсутствие графического интерфейса пользователя заставляет вас ознакомиться с командной строкой. Один недостаток состоит в том, что эти системы часто нарушают соглашения обычных дистрибутивов Linux, например, они устанавливают программное обеспечение в необычных местах или используют упрощенные системы инициализации.
Если вы хотите попробовать, попробуйте, например, openwrt на виртуальной машине .
источник
Один исполняемый файл rootfs
Система абсолютного минимума запускает одну
/init
программу, как я объяснил в Single Application Linux | Супер пользовательМинимальный Linux Live
https://github.com/ivandavidov/minimal
Для более интересной интерактивной системы это небольшой (в основном образовательный) скрипт, который:
Затем ISO оставляет вас в минимальной оболочке с busybox.
С QEMU вы можете легко загрузиться в систему.
Я изменил его, чтобы он мог запускаться из исходного каталога ядра: https://github.com/cirosantilli/runlinux
Использование:
и вы останетесь внутри окна QEMU с вашей новой минимальной системой. Потрясающе.
Поскольку он небольшой, это хороший вариант, чтобы прочитать исходный код и понять, что происходит.
Проверено на Ubuntu 16.04.
Buildroot
https://buildroot.org/
Большой набор скриптов Makefile, которые управляют:
Минимальный пример:
У него даже есть рецепты для сборки X11 с нуля: как установить X11 на мою собственную систему Linux Buildroot?
Профессиональная боевая техника, используемая некоторыми крупными предприятиями.
Alpine Linux
https://github.com/gliderlabs/docker-alpine
Встроенный дистрибутив с менеджером пакетов, который предлагает предварительно скомпилированные двоичные файлы с веб-сайта.
Смотрите также
источник
Как так получилось, что никто не упомянул tomsrtbt ? (Linux на одной 1.44 "дискете)
источник
Вы можете попробовать Slackware Linux. Установка через меню позволит вам установить довольно минимальную систему. Вы можете легко оставить страницы справочника, X11, Tcl, Emacs, и это только с самого верхнего уровня установки. Вы можете погрузиться в установку и установить только минимум пакетов.
После этого я перекомпилирую ядро специально для машины, на которой вы установили.
Slackware по-прежнему по умолчанию использует менеджер загрузки Lilo, так что в итоге вы знаете немного больше, чем хотите знать о загрузочных секторах, какой раздел помечен как загрузочный, что содержит ваш initrd и т. Д., Чем дистрибутивы с загрузкой Grub.
источник
Для меня Damn Small Linux получил название «самый маленький дистрибутив Linux»! Однако я слышал, что это отчасти прекращено. Вы также можете увидеть список подобных дистрибутивов (называемых «Mini Linux») на этой вики-странице .
Если пространство не ваша цель, я предложу Gentoo или Arch Linux , они оба устанавливают базовую систему. Вы выбираете, что использовать, и устанавливаете пакеты по мере роста ваших потребностей.
источник
Что вам нужно сделать, это загрузить последнее ядро с сайта kernel.org, сделать
make menuconfig
и просто просмотреть варианты и использовать их в качестве отправной точки для исследований и расследований. Вы многому научитесь.источник
Вы можете посмотреть на Puppy Linux . Возможно, он не самый маленький, но имеет репутацию маленького.
Однако дистрибутивы Linux, которые должны быть небольшими, обычно остаются небольшими. Для изучения linux я бы где-то был живым Debian. Я бы получил исходники ядра Debian, исходники bash и исходники grub для кросс-компиляции и установки. Затем выполните кросс-компиляцию, установите редактор, apt и gcc. Затем сгенерируйте список пакетов из Debian Live. Установите исходный код для каждого пакета, скомпилируйте и установите. Затем добавьте X, затем Wm по вашему выбору, тогда у вас есть основа для того, что вы хотите сделать.
PS: apt-get source получает исходный текст для пакета debian.
источник