В образовательных целях я хотел бы начать с POSIX-совместимой базы, включая оболочку, базовые утилиты и компилятор ANSI C, а затем посмотреть, какие среды можно создать, собрав вместе пакеты.
Однако большинство минимальных POSIX-совместимых операционных систем, с которыми я сталкивался, кажутся встроенными и / или проприетарными. Существуют ли такие системы с открытым исходным кодом, которые я могу легко запустить в Virtualbox?
Я немного обыскал создание такой среды с нуля , но мне кажется, что нужно просто получить загрузочную / пригодную для использования среду, а тем более POSIX-совместимую. Я мог бы когда-нибудь попробовать свои силы в создании ОС POSIX, но сначала я бы хотел немного разбираться в компьютерах заранее.
Замечания:
Я думаю, что где-то слышал, что Linux не полностью POSIX-совместимый, но пока я могу скомпилировать и собрать некоторые из наиболее распространенных и необходимых инструментов с открытым исходным кодом (таких как wget и w3m), я был бы очень рад, независимо от того, так ли это использовал ядро Linux. То же самое относится и к другим основным компонентам, которые я мог бы представить, может поставляться с операционной системой (например, glibc)
источник
Ответы:
POSIX не определяет полную операционную систему, поэтому любой ОС POSIX-совместимых будет иметь команды, которые не в POSIX (как
init
,mkfs
,passwd
, ...). Но разные ОС имеют разные расширения, а инструменты GNU (найденные в не встроенных системах Linux) имеют много.BusyBox - это набор инструментов командной строки, предназначенный для встраиваемых систем Linux. Он содержит большинство утилит и опций, предусмотренных POSIX (он не завершен, но близок). Вы можете создать работающую систему Linux с загрузчиком, ядром Linux, BusyBox и Dropbear, если хотите войти через SSH. Добавьте Gcc, если вы хотите заниматься разработкой на минимальной системе.
Если вы предпочитаете начать с полного, но небольшого дистрибутива, посмотрите на MINIX 3 . Это небольшая Unix-система, предназначенная для встраиваемых систем и для обучения.
Если вы хотите более легко расширяемую систему, посмотрите на OpenBSD . OpenBSD ориентирован на безопасность и консервативен в отношении функций, но базовая система включает в себя основные компоненты, такие как Perl и Apache.
источник