На 9 януари в официалния новинарски раздел на проекта GNU Hurd бяха публикувани окончателните новини за третото тримесечие на 2023 година:
- Семюъл Тибо (Samuel Thibault) поправи настройката default PIE Hurd по подразбиране за gcc и добави поддръжка за static PIE. Той също така добави командата whatis в отладчика на ядрото GNU Mach, която може да определи на какво сочи адресът (стек? порт? kalloc?…). Добавена е поддръжка за hurd-amd64 в GCC.
- Семюъл също помоли екипа на Hurd да организира непрекъсната интеграция (непрекъсната интеграция) — за да бъдат сигурни, че при промяна на кода от разработчиците нищо не се счупва.
«Оказва се, че Hurd поддържа няколко различни среди: 32-битови, 64-битови, 32 на 64 бита, ACPI, без ACPI, SMP, без SMP, Xen и т.н. Явно един от разработчиците на Hurd, Флавио (Flavio), има персонален CI, но той е настроен независимо от Debian. Ако сте заинтересовани да помогнете на проекта Hurd в изграждането на CI, свържете се с нас!»
- Лука Дарис (Luca Dariz) работеше по добавянето на няколко основни теста на потребителското пространство на GNU Mach. При работа на MiG, машината GNU/Linux може да стартира командата make check на изходния код на GNU Mach, която ще стартира qemu, за да се увери, че 32-битният (PAE и не-PAE), 32-битният на 64-битова и пълната 64-битова GNU Mach работи. В момента провеждаме тестове на GNU/Linux, тъй като qemu в Hurd не функционира.
- Много хора работеха по новата поддръжка на x86_64 битове в Hurd. Семюъл обяви сподели, че 64-битовият порт на GNU Hurd вече има достатъчно пакети в архива debian-ports, за да може да се зареди chroot. Демонът за изграждане на 64-битовата версия на Debian + GNU Hurd е в процес на настройка, а също така се извършват и други работи по инфраструктурата. Тибо отбеляза:
«Сглобяването на пакети не е особено стабилно. Опитвам се да сглобя gcc-13 вече няколко седмици, но без успех. Има различни сривове, най-често странни грешки в скрипта libtool, които са признак, че самата система не функционира правилно. Начинът за възпроизвеждане на проблема е просто да се опита повторно сглобяване на пакет, който използва libtool, и рано или късно това ще доведе до много странен срив.
Това означава, че, въпреки че buildd е готов, наистина ми е неудобно да го стартирам, знаейки, че може да се държи непредсказуемо. Когато събрах първоначалния набор от пакети за debian-портовете (~100 пакета), имах около 5-10 такива сривове, което е доста висок показател: / - Флавио Круз (Flavio Cruz) подобри IPC на GNU Mach, като промени реда на полетата mach_msg_type_t за подравняване на байтовете msgt_name и msgt_size. Той също така създаде серия от пачове, които позволяват да се избегне промяна на размера на съобщенията за x86_64. Той премахна типизирания код Mach RPC:
"GNU Mach използва типизиран IPC. Hurd може да поддържа както типизиран, така и нетипизиран призив, но, изглежда, Hurd използва само типизирания RPC. Затова е най-добре да се премахне всеки нетипизиран код RPC."
- Сергей Бугаев (Sergey Bugaev) добави поддръжка на повторно обединение на записи в GNU Mach. Mach не винаги можеше да обедини две записи на виртуална машина, направени една до друга, което забавяше работата на ext2, bash и т.н. Сергей обаче позволи на GNU Mach да обединява записи в обичайни случаи, което много помагаше, например, в ext2fs.
- Също така Сергей работи по портируемост на уеб браузъра Ladybird под Hurd. Авторът на този пост (очевидно, става дума за оригиналния пост на gnu.org - бележка на редактора) използва уеб браузъра netsurf под Hurd, който работи на простички уеб сайтове (като Wikipedia), но слабо показва страници с много JavaScript, което прави много уеб сайтове непригодни за употреба. Ако Сергей успее да порттира Ladybird, потребителите на Hurd ще могат да започнат да използват такива мрежови ресурси като Github! Заслужава да се отбележи, че някой трябва да обнови и портирува Firefox.
- Също Бугаев започна да порттира Hurd на AArch64! И въпреки че портът на RISC-V може да изглежда по-интересен, все пак заслужава да се отбележи, че AArch64 е по-известен. Интересното е, че Сергей вече знае как да компилира сървъри Hurd за AArch64! Обикновено, за да се стартират бинарни файлове, трябва да се портне GNU Mach на AArch64, но за наше щастие, той се обърна към GDB и директно стартира бинарния файл Hurd AArch64 "Hello World" в Linux! Това му помогна да поправи някои грешки. Все още остава да се определи ABI и да се завърши порта на GNU Mach, но в момента това са страхотни новини!
- Тобиас Платен (Tobias Platen) започна да порттира GNU Mach на платформата Power9.
В случай, че някой желае да провери работоспособността на любимите си пакети под Hurd и тяхната полезност за използване на цялата система GNU от по-широк кръг хора — моля, проверете страницата за участие.
За справка: GNU Hurd (или просто Hurd) — това е проект за разработка на свободен софтуер, чиято цел е да замени Unix ядрото за Unix-подобни операционни системи. Развитието на Hurd започва през 1990 година от проекта GNU и Фонда за свободен софтуер. Прогресът е бавен поради наличието на Linux — вече готова свободна алтернатива на Unix ядрата. Подробности могат да бъдат намерени както в Уикипедия, така и на официалната страница на проекта GNU Hurd.
От своя страна GNU Mach — това е реализация на микроядрото Mach, което по подразбиране е включено в GNU Hurd.
Източник: linux.org.ru
