Il 9 gennaio, nella sezione notizie ufficiali del progetto GNU Hurd, sono state pubblicate le notizie finali per il terzo trimestre del 2023:
- Samuel Thibault ha corretto la PIE predefinita per gcc e ha aggiunto supporto per static PIE.Ha anche aggiunto il comando whatis nel debugger del kernel GNU Mach, che può determinare a cosa punta un indirizzo (stack? porta? kalloc?…). È stato aggiunto il supporto per hurd-amd64 in GCC..
- Inoltre, Samuel ha chiesto al team Hurd di organizzare l'integrazione continua (continuous integration) in modo che, nel momento in cui gli sviluppatori apportano modifiche al codice, possano essere certi di non aver rotto nulla.
«Si scopre che Hurd supporta diversi ambienti: 32 bit, 64 bit, 32 su 64 bit, ACPI, non-ACPI, SMP, non-SMP, Xen e così via. A quanto pare, uno degli sviluppatori di Hurd, Flavio, ha un CI personale, ma è configurato in modo indipendente da Debian. Se sei interessato ad aiutare il progetto Hurd nella creazione del CI, contattaci!»
- Luca Dariz ha lavorato all'aggiunta di diversi test semplici per lo spazio utente di GNU Mach. Con MiG in esecuzione, la macchina GNU/Linux può eseguire il comando make check del codice sorgente di GNU Mach, che avvierà qemu per assicurarsi che GNU Mach 32-bit (PAE e non-PAE), 32-bit su 64-bit e 64-bit completo funzionino. Attualmente stiamo testando su GNU/Linux, poiché qemu su Hurd non funziona.
- Un gran numero di persone ha lavorato sul nuovo supporto per x86_64 in Hurd. Samuel ha dichiarato ha indicato che il porting a 64-bit di GNU Hurd ora ha un numero sufficiente di pacchetti nell'archivio debian-ports per poter installare chroot. Il demone di build della versione a 64-bit di Debian + GNU Hurd è in fase di configurazione, e sono in corso anche altri lavori sull'infrastruttura. Thibault ha notato:
«La costruzione dei pacchetti non è molto stabile. Ho cercato di costruire gcc-13 per un paio di settimane, ma senza successo. Ci sono diversi crash, la maggior parte delle volte strani errori nello script libtool, che sono un segno che il sistema stesso si comporta in modo errato. Il modo per riprodurre il problema è semplicemente ricompilare un pacchetto che utilizza libtool, e prima o poi questo porterà a un crash molto strano.»
Ciò significa che, anche se il buildd è già pronto, mi risulta scomodo avviarlo sapendo che potrebbe comportarsi in modo irregolare. Quando ho raccolto il primo insieme di pacchetti per i porting di debian (~100 pacchetti), ho avuto circa 5-10 di questi crash, un tasso piuttosto alto: /» - Flavio Cruz ha migliorato l'IPC di GNU Mach, modificando l'ordine dei campi mach_msg_type_t per l'allineamento dei byte di msgt_name e msgt_size. Ha anche creato una serie di patch, che evitano la modifica delle dimensioni dei messaggi per x86_64. Ha rimosso il codice non tipizzato di Mach RPC:
"GNU Mach utilizza IPC tipizzato. Hurd può supportare sia le chiamate tipizzate che quelle non tipizzate, ma sembra che Hurd utilizzi solo RPC tipizzati. Pertanto, è meglio rimuovere qualsiasi codice RPC non tipizzato."
- Sergey Bugaev ha aggiunto supporto per la fusione di record di GNU Mach. Mach non sempre riusciva a fondere due record della macchina virtuale fatti adiacenti, il che rallentava il funzionamento di ext2, bash, ecc. Sergey ha permesso a GNU Mach di fondere i record in normali circostanze, il che è stato molto utile, ad esempio, per ext2fs.
- Inoltre, Sergey sta lavorando al porting del browser web Ladybird su Hurd. L'autore di questo post (ovviamente, si riferisce al post originale su gnu.org — ndr.) utilizza il browser web netsurf su Hurd, che funziona su siti web semplici (come Wikipedia), ma visualizza male le pagine con molto JavaScript, rendendo molti siti web inutilizzabili. Se Sergey riuscirà a portare Ladybird, gli utenti di Hurd potranno iniziare a utilizzare risorse di rete come Github! Vale la pena notare che qualcuno dovrebbe aggiornare e portare Firefox.
- Inoltre, Bugaev ha iniziato a portare Hurd su AArch64! E anche se il porting su RISC-V potrebbe sembrare più interessante, vale comunque la pena notare che AArch64 è più conosciuto. È interessante notare che Sergey è già in grado di compilare server Hurd per AArch64! Di solito, per eseguire file binari, è necessario portare GNU Mach su AArch64, ma fortunatamente per noi, è ricorso a GDB e ha avviato direttamente il file binario Hurd AArch64 "Hello World" in Linux! Questo lo ha aiutato a correggere alcuni errori. Finora è necessario definire l'ABI e completare il porting di GNU Mach, ma per ora sono notizie straordinarie!
- Tobias Platen ha iniziato a portare GNU Mach sulla piattaforma Power9.
Se qualcuno desidera verificare il funzionamento dei propri pacchetti preferiti su Hurd e il loro contributo all'utilizzo dell'intero sistema GNU per un pubblico più ampio — per favore, controlla la pagina di partecipazione.
Per riferimento: GNU Hurd (o semplicemente Hurd) — è un progetto di sviluppo di software libero, il cui obiettivo è sostituire il kernel Unix per i sistemi operativi simili a Unix. Lo sviluppo di Hurd è iniziato nel 1990 con il progetto GNU e la Free Software Foundation. I progressi procedono lentamente a causa dell'esistenza di Linux — una sostituzione libera già pronta per i kernel dei sistemi Unix. Maggiori dettagli possono essere trovati sia in Wikipedie, sia sulla pagina ufficiale del progetto GNU Hurd.
A sua volta GNU Mach — è un'implementazione del microkernel Mach, che è di default compreso in GNU Hurd.
Fonte: linux.org.ru
