9 stycznia w oficjalnym dziale wiadomości projektu GNU Hurd opublikowano podsumowanie za trzeci kwartał 2023 roku:
- Samuel Thibault poprawił domyślną opcję PIE w Hurd dla gcc oraz dodał wsparcie dla static PIE.Dodał również komendę whatis do debuggera jądra GNU Mach, która może określić, na co wskazuje dany adres (stosa? port? kalloc?…). Dodano wsparcie dla hurd-amd64 w GCC..
- Samuel poprosił zespół Hurd o zorganizowanie ciągłej integracji (ciągła integracja) — aby w momencie, gdy programiści wprowadzają zmiany w kodzie, mogli być pewni, że nic nie zostało złamane.
„Okazuje się, że Hurd obsługuje wiele różnych środowisk: 32 bity, 64 bity, 32 na 64 bity, ACPI, nie-ACPI, SMP, nie-SMP, Xen itd. Wygląda na to, że jeden z deweloperów Hurd, Flavio, posiada osobisty CI,ale skonfigurowany jest niezależnie od Debiana. Jeśli jesteś zainteresowany wsparciem projektu Hurd w tworzeniu CI, skontaktuj się z nami!”
- Luca Dariz pracował nad dodaniem kilku prostych testów do przestrzeni użytkownika GNU Mach. Przy działającym MiG, maszyna GNU/Linux może uruchomić komendę make check ze źródła GNU Mach, co uruchomi qemu, aby upewnić się, że 32-bitowy (PAE i nie-PAE), 32-bitowy na 64-bitowym oraz pełny 64-bitowy GNU Mach działa. Aktualnie przeprowadzamy testy na GNU/Linux, ponieważ qemu w Hurd nie działa.
- Wiele osób pracowało nad nowym wsparciem dla architektury x86_64 w Hurd. Samuel poinformował podkreślił, że 64-bitowy port GNU Hurd ma już wystarczająco dużo pakietów w archiwum debian-ports, aby można było załadować chroot. Demon budowy 64-bitowej wersji Debian + GNU Hurd jest w trakcie konfiguracji, a także prowadzone są inne prace nad infrastrukturą. Thibault zauważył:
„Kompilacja pakietów nie jest zbyt stabilna. Próbuję skompilować gcc-13 od kilku tygodni, ale jak na razie bez powodzenia. Występują różne awarie, najczęściej dziwne błędy w skrypcie libtool, które wskazują, że sama system zachowuje się nieprawidłowo. Sposób na odtworzenie problemu polega na ponownym skompilowaniu pakietu, który korzysta z libtool, a prędzej czy później prowadzi to do bardzo dziwnej awarii.
Oznacza to, że, chociaż buildd jest już gotowy, uruchomienie go jest dla mnie naprawdę niewygodne, wiedząc, że może działać chaotycznie. Kiedy zbudowałem początkowy zestaw pakietów dla portów debiana (~100 pakietów), miałem około 5-10 takich awarii, co jest dość wysokim wskaźnikiem: /» - Flavio Cruz ulepszył IPC GNU Mach, zmieniając kolejność pól mach_msg_type_t dla wyrównania bajtowego msgt_name i msgt_size. Stworzył również serię poprawek, pozwalających uniknąć zmiany rozmiaru wiadomości dla x86_64. Usunął nietypowany kod Mach RPC:
"GNU Mach używa typowanego IPC. Hurd może obsługiwać zarówno typowane, jak i nietypowane wywołania, ale wygląda na to, że Hurd używa tylko typowanego RPC. Dlatego najlepiej jest usunąć wszelki nietypowany kod RPC."
- Sergey Bugaev dodał wsparcie dla ponownego łączenia rekordów GNU Mach. Mach nie zawsze mógł połączyć dwa rekordy maszyny wirtualnej znajdujące się blisko siebie, co spowalniało działanie ext2, bash itp. Sergey pozwolił jednak GNU Mach łączyć rekordy w standardowych przypadkach, co znacznie pomogło, na przykład w ext2fs.
- Sergey również pracuje nad portowaniem przeglądarki internetowej Ladybird dla Hurd. Autor tego posta (oczywiście chodzi o oryginalny post na gnu.org — przyp. red.) używa przeglądarki internetowej netsurf dla Hurd, która działa na prostych stronach internetowych (takich jak Wikipedia), ale źle wyświetla strony z dużą ilością JavaScript, co sprawia, że wiele stron internetowych jest nieużytecznych. Jeśli Sergey uda się portować Ladybird, użytkownicy Hurd będą mogli zacząć korzystać z takich zasobów sieciowych jak Github! Warto zaznaczyć, że ktoś powinien również zaktualizować i port Firefox.
- Bugaev również rozpoczął portowanie Hurd na AArch64! I chociaż port na RISC-V może wydawać się bardziej interesujący, warto zaznaczyć, że AArch64 jest bardziej znany. Co ciekawe, Sergey już potrafi kompilować serwery Hurd dla AArch64! Zwykle, aby uruchomić pliki binarne, trzeba portować GNU Mach na AArch64, ale na szczęście dla nas, zwrócił się do GDB i bezpośrednio uruchomił plik binarny Hurd AArch64 "Hello World" w Linuxie! To pomogło mu naprawić niektóre błędy. Na razie trzeba zdefiniować ABI i dokończyć port GNU Mach, ale na ten moment to niesamowite wiadomości!
- Tobias Platen rozpoczął portowanie GNU Mach na platformę Power9.
Jeśli ktoś chciałby sprawdzić działanie ulubionych pakietów pod Hurd oraz ich wsparcie dla szerszego wykorzystania całego systemu GNU przez większą liczbę osób — proszę, sprawdź stronę uczestnictwa.
Dla informacji: GNU Hurd (lub po prostu Hurd) — to projekt rozwijający oprogramowanie na wolnej licencji, którego celem jest zastąpienie jądra Unix dla systemów operacyjnych podobnych do Unix. Rozwój Hurd trwa od 1990 roku, realizowany przez projekt GNU i Fundację Oprogramowania Wolnego. Postęp jest powolny z powodu istnienia Linuksa — już gotowej, wolnej alternatywy dla jąder systemów Unix. Szczegóły można zobaczyć zarówno w Wikipedii, jak i na oficjalnej stronie projektu GNU Hurd.
Z kolei GNU Mach — to implementacja mikrojądra Mach, które domyślnie znajduje się w składzie GNU Hurd.
Źródło: linux.org.ru
