Можно ли запустить пользовательское пространство BSD в качестве замены GNU Coreutils с ядром Linux?

Я искал дистрибутив Linux, который не предназначен для встраиваемых систем и не использует многие утилиты GNU, которые можно найти во многих популярных дистрибутивах. Я хочу разработать дистрибутив Linux (Pet Project), который использует musl-libc, bsd userland и Plan 9 из пользовательского пространства. Прежде чем я начну и, возможно, потрачу время на выполнение невозможного, возможно ли / практично использовать пользовательское пространство BSD в качестве замены для ядра GNU? Если нет, то какова альтернатива?

2 ответа

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

http://sta.li/

Я не знаю много о стадии этого проекта, но вы можете получить некоторую помощь в списке рассылки проекта.

Насколько я знаю, инструменты BSD используют много прямых системных вызовов и мало используют API POSIX. Я не верю, что ребята из BSD написали код, используя множество #ifdefs для получения полностью совместимых программ (но я могу ошибаться)...

Сайт suckless портировал пользовательское пространство plan9 в unix (также основанное на plan9port), он называется 9base (и доступен для установки в archlinux repo).

Я думаю, у вас возникнет та же проблема, что и у меня в прошлом, когда я пытался собрать похожий дистрибутив: слишком много усилий, чтобы избавиться от GNU... Базовая система проста, но для чего-то полезного вам понадобится компилятор C и тогда у вас нет хороших альтернатив. GCC является gnu и имеет десятки зависимостей от gnu, и здравый порт freebsd gcc никогда не будет работать на linux по понятным причинам.

Моя текущая попытка - помочь закончить порт ken-c (или 9-cc) для linux.

https://chimera-linux.org/

Linux с альтернативным пользовательским пространством

Chimera поставляется с новой настройкой пользовательского пространства, основанной на основных инструментах FreeBSD (заменяющих coreutils и связанные с ними проекты, такие как findutils, diffutils, sed или grep; читайте наши часто задаваемые вопросы, чтобы узнать, почему).

Инструменты FreeBSD были выбраны из-за их высококачественного кода и солидного набора функций. Некоторый исходный код также взят из NetBSD и OpenBSD. Хотя мы философски не выступаем против GNU/GPL и лицензирование на самом деле не является решающим фактором, их использование дает реальные преимущества, и в целом они лучше подходят для проекта.

Пакет LLVM/Clang предоставляет набор системных инструментов (clang, lld), а также части среды выполнения (compiler-rt, libunwind, libc++). Библиотека C предоставляется musl и исправлена ​​для использования распределителя Scudo LLVM (также используемого, например, в Android и Fuchsia) для обеспечения производительности и безопасности.

Это означает, что Chimera не является системой GNU/Linux, поскольку она не использует ни утилит GNU, ни GNU libc, ни набор инструментов GNU. Система практически полностью загружается без каких-либо компонентов GNU (кроме make) и способна загружаться без них (однако у большинства людей они есть).

Другие вопросы по тегам