Новый релиз Guix вышел некоторое время назад. И у меня возникла мысль, что если я смогу загрузить glibc, gcc и guix с HURD и Mach, у меня может быть система GNU, отличная от Linux. Но мне также нужно некоторое программное обеспечение, такое как bash, emacs, binutils, coreutils, система инициализации. У кого-нибудь из них есть системные вызовы, которые зависят от Linux? Смогу ли я сделать это как в LFS?
9
Ответы:
Несколько лет назад я с нуля создал дистрибутив на основе GNU / Hurd. Вы все еще можете узнать об этом, прибегая к помощи Bee GNU / Hurd .
Все официальное программное обеспечение GNU (включая упомянутые вами пакеты) должно поддерживать Hurd, и большинство пакетов действительно поддерживают его. Но имейте в виду, что Hurd не является заменой для Linux, поэтому вам действительно нужно кросс-компилировать все пакеты или компилировать их из собственной системы GNU / Hurd, во многом так же, как если бы вы создавали свое программное обеспечение. для другой архитектуры (т.е. сборка программного обеспечения arm на x86).
Тем не менее, я советую вам выполнить следующие действия:
Установите где-нибудь Debian GNU / Hurd (с виртуальной машиной все в порядке) и ознакомьтесь с ней.
Постройте Guix на указанной системе и убедитесь, что вы действительно можете сгенерировать и установить пакеты (вам, вероятно, потребуется внести в него некоторые изменения).
Измените Guix, чтобы иметь возможность создавать и управлять SubHurds
На этом этапе вы должны быть готовы к загрузке полной системы GNU, основанной на Hurd, где угодно. Вам просто нужно правильно настроить GRUB после этого.
Удачного взлома!
источник
[ОБНОВЛЕНИЕ] Я недавно выступил в Fosdem с докладом о переносе Guix в Херд, который вы можете проверить здесь. guix_to_hurd_fosdem_16
Я работаю над портом Guix Hurd. Чтобы фактически использовать Guix в Hurd, процесс начальной загрузки Guix должен быть сначала изменен для поддержки системы GNU / Hurd. Это означает, что Guix должен быть в состоянии создать кросс-версию HLD-версий Glibc, Gnumach и Hurd.
Выполнив эту часть, вы должны собрать набор инструментов начальной загрузки, используя новый glibc, и создать двоичные файлы начальной загрузки. На этом этапе вновь созданные двоичные файлы должны быть скопированы в систему GNU / Hurd и использованы для сборки Guix в этой системе.
Процесс загрузки Guix
источник