Titolo del modulo: dgt_lfs05 – Setup di Linux From Scratch
Descrizione del modulo:
“dgt_lfs05 – Setup di Linux From Scratch” è un modulo sulla costruzione da zero di un sistema operativo. Imparerete prima come prende forma un sistema Linux From Scratch (LFS), dall’ambiente host alla toolchain fino al kernel, e poi ne costruirete uno guidando un agente AI in linguaggio naturale.
Nella parte pratica non digiterete mai i comandi di build: direte alla macchina cosa deve ottenere ogni fase, imporrete i vincoli previsti dal libro LFS e leggerete ogni comando proposto prima che venga eseguito. Poiché sapete perché la toolchain va compilata in un ordine preciso, potrete individuare un flag sbagliato, una dipendenza mancante o un passaggio fuori sequenza, e correggere la macchina prima che comprometta la build.
Obiettivi del modulo:
- Comprendere i principi fondamentali del progetto Linux From Scratch.
- Descrivere in linguaggio naturale un ambiente di build LFS sicuro ed efficiente e verificare che la macchina lo abbia preparato correttamente.
- Guidare la macchina metodicamente in ogni passaggio, controllandone l’output perché l’installazione da zero vada a buon fine.
- Esercitarsi nel revisionare e correggere la configurazione di un sistema Linux personalizzato.
Argomenti principali:
- Introduzione a Linux From Scratch LFS:
- Esplorare la filosofia alla base della costruzione del proprio sistema operativo.
-
Conoscere i vantaggi di un sistema LFS, tra cui personalizzazione, apprendimento e ottimizzazione delle prestazioni.
-
Preparazione preliminare dell’ambiente:
- Capire di cosa ha bisogno un sistema host per soddisfare tutti i prerequisiti di un ambiente di build LFS.
- Chiedere alla macchina di installare i pacchetti e gli strumenti essenziali e confrontare le versioni riportate con i requisiti di LFS.
-
Revisionare le impostazioni dell’host applicate dalla macchina per ottenere prestazioni di build ottimali.
-
Partizionamento e configurazione del filesystem:
- Comprendere gli schemi di partizionamento adatti a LFS, incluse le considerazioni su swap e file system.
-
Istruire la macchina a creare e formattare le partizioni per il filesystem root di LFS e verificarne il layout prima che venga scritto qualcosa su disco.
-
Compilazione degli strumenti e delle utility essenziali:
- Capire come GCC, Binutils e Glibc vengono compilati dai sorgenti e farli compilare alla macchina nell’ordine corretto.
-
Leggere i log di build per confermare che questi componenti siano configurati e integrati correttamente.
-
Fasi di installazione del sistema:
- Usare il libro LFS come riferimento per guidare e controllare la macchina mentre compila il kernel Linux e le utility associate.
-
Confermare che il software compilato sia installato al posto giusto nel filesystem preparato.
-
Configurazione post-installazione:
- Descrivere le interfacce di rete e gli account utente necessari e revisionare i file di configurazione scritti dalla macchina.
-
Conoscere i parametri del kernel e gli script di avvio abbastanza bene da richiedere un tuning mirato e valutarne la correttezza.
-
Test e troubleshooting:
- Apprendere strategie per testare la stabilità e l’affidabilità del sistema LFS.
-
Diagnosticare i problemi più comuni leggendo errori e log, spiegando il problema alla macchina e convalidando la correzione proposta.
-
Considerazioni sulla sicurezza:
- Apprendere le best practice per mettere in sicurezza un sistema LFS, inclusi permessi utente e configurazione del firewall, e verificare che la macchina le applichi.
A chi è rivolto?
Il modulo è rivolto a professionisti IT, amministratori di sistema, sviluppatori software e a chi vuole studiare i sistemi operativi costruendone uno dalle fondamenta. Una precedente esperienza con Linux è consigliata ma non obbligatoria, perché il modulo fornisce le basi necessarie per guidare e controllare la macchina.
Formato del modulo:
- Durata: 6 settimane
- Struttura: moduli settimanali con video lezioni e letture sulla teoria, seguiti da laboratori in linguaggio naturale ed esercitazioni.
- Valutazione: progetti pratici, quiz e una valutazione finale su quanto precisamente istruite la macchina e su quanto bene ne verificate e correggete il lavoro.
Gli studenti possono caricare le proprie esercitazioni nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
