Pe 9 ianuarie, în secțiunea oficială de știri a proiectului GNU Hurd, au fost publicate noutățile finale pentru trimestrul 3 din 2023:
- Samuel Thibault a corectat pielea PIE Hurd implicită pentru gcc și a adăugat suport pentru static PIE.De asemenea, el a adăugat comanda whatis în debuggerul nucleului GNU Mach, care poate determina la ce se referă o adresă (stivă? port? kalloc?…). A fost adăugat suport pentru hurd-amd64 în GCC..
- De asemenea, Samuel a cerut echipei Hurd să organizeze integrare continuă (continuous integration) – astfel încât, în momentul în care dezvoltatorii fac modificări în cod, să fie siguri că nimic nu s-a stricat.
„Se pare că Hurd suportă mai multe medii diferite: 32 biți, 64 biți, 32 pe 64 biți, ACPI, non-ACPI, SMP, non-SMP, Xen și așa mai departe. Se pare că unul dintre dezvoltatorii Hurd, Flavio, are CI personal, dar este configurat într-un mod independent de Debian. Dacă ești interesat să ajuți proiectul Hurd în construirea CI, contactează-ne!”
- Luca Dariz a lucrat la adăugarea câtorva teste simple în spațiul utilizatorului GNU Mach. Cu MiG funcțional, mașina GNU/Linux poate rula comanda make check a codului sursă GNU Mach, care va rula qemu pentru a se asigura că GNU Mach 32-biți (PAE și non-PAE), 32-biți pe 64-biți și complet 64-biți funcționează. În prezent, desfășurăm teste pe GNU/Linux, deoarece qemu în Hurd nu funcționează.
- Un număr mare de oameni au lucrat la noua suport pentru x86_64 în Hurd. Samuel a declarat că portul de 64 biți al GNU Hurd are acum suficiente pachete în arhiva debian-ports pentru a permite încărcarea chroot-ului. Demonul de construire a versiunii de 64 de biți Debian + GNU Hurd este în curs de configurare, iar alte lucrări de infrastructură sunt de asemenea în desfășurare. Thibault a menționat: a raportat „Construirea pachetelor nu este foarte stabilă. Încerc să compilez gcc-13 de câteva săptămâni, dar până acum fără succes. Există diverse eșecuri, cel mai adesea erori ciudate în scriptul libtool, care sunt un semn că sistemul însuși se comportă greșit. Modul de a reproduce problema este pur și simplu să recompilezi un pachet care folosește libtool și, mai devreme sau mai târziu, va duce la un eșec foarte ciudat.”
«Сборка пакетов не очень стабильна. Я пытаюсь собрать gcc-13 уже пару недель, но пока безуспешно. Есть различные сбои, чаще всего странные ошибки в скрипте libtool, которые являются признаком того, что сама система ведет себя неправильно. Способ воспроизвести проблему состоит в том, чтобы просто повторно собрать пакет, использующий libtool, и рано или поздно это приведет к очень странному сбою.
Aceasta înseamnă că, deși buildd este deja gata, mi-e realmente incomod să-l pornesc, știind că ar putea avea un comportament haotic. Când am adunat prima serie de pachete pentru porturile debian (~100 de pachete), am avut cam 5-10 astfel de erori, ceea ce este un procent destul de ridicat: /» - Flavio Cruz a îmbunătățit IPC GNU Mach, modificând ordinea câmpurilor mach_msg_type_t pentru alinierea la byte pentru msgt_name și msgt_size. De asemenea, a creat o serie de patch-uri care permit evitarea modificării dimensiunii mesajelor pentru x86_64. A eliminat codul neîntipărit Mach RPC:
"GNU Mach folosește IPC tipizat. Hurd poate susține atât apeluri tipizate, cât și neîntipărite, dar pare că Hurd utilizează doar RPC tipizat. Prin urmare, este cel mai bine să eliminăm orice cod RPC neîntipărit."
- Sergey Bugaev a adăugat suport pentru agregarea înregistrărilor GNU Mach. Mach nu putea, de fiecare dată, să combine două înregistrări ale mașinii virtuale realizate unul lângă altul, ceea ce încetinea ext2, bash etc. Sergey a permis însă GNU Mach să agregheze înregistrările în cazuri obișnuite, ceea ce a fost de mare ajutor, de exemplu, în ext2fs.
- De asemenea, Sergey lucrează la portarea browser-ului web Ladybird sub Hurd. Autorul acestui post (se referă evident la postarea originală de pe gnu.org – n.red.) folosește browserul web netsurf sub Hurd, care funcționează pe site-uri web simple (cum ar fi Wikipedia), dar afișează prost paginile cu un conținut mare de JavaScript, făcând multe site-uri web neutilizabile. Dacă Sergey va reuși să portea Ladybird, utilizatorii Hurd vor putea începe să folosească resursele de rețea, cum ar fi Github! Merită menționat că cineva ar trebui să actualizeze și portul Firefox.
- În plus, Bugaev a început să portese Hurd pe AArch64! Și deși portul pe RISC-V poate părea mai interesant, trebuie să subliniem că AArch64 este mai cunoscut. Ce este interesant, Sergey știe deja cum să compileze servere Hurd pentru AArch64! De obicei, pentru a rula fișiere binare, trebuie să portăm GNU Mach pe AArch64, dar din fericire pentru noi, s-a adresat GDB și a rulat direct fișierul binar Hurd AArch64 "Hello World" în Linux! Acest lucru l-a ajutat să corecteze unele erori. Până acum, trebuie să definim ABI și să finalizăm portul GNU Mach, dar pentru moment, acestea sunt vești extraordinare!
- Tobias Platen a început să portese GNU Mach pe platforma Power9.
Dacă cineva dorește să verifice funcționalitatea pachetelor preferate sub Hurd și contribuția lor la utilizarea întregului sistem GNU pentru un public mai larg - vă rugăm, verificați pagina de participare.
Pentru referință: GNU Hurd sau simplu Hurd) - este un proiect de dezvoltare a software-ului liber, având ca scop înlocuirea nucleului Unix pentru sistemele de operare de tip Unix. Dezvoltarea Hurd a început în 1990, prin proiectul GNU și Fondul pentru Software Liber. Progresul avansează lent din cauza existenței Linux - o înlocuire deja disponibilă pentru nucleele sistemelor Unix. Detalii pot fi consultate atât în Wikipedia, cât și pe pagina oficială a proiectului GNU Hurd.
La rândul său GNU Mach - este o implementare a microkernelului Mach, care în mod implicat este inclus în GNU Hurd.
Sursa: linux.org.ru
