Titolo del modulo: dgt_lfs05 – Predisposizione del laboratorio
Panoramica:
Questo modulo, “dgt_lfs05 – Predisposizione del laboratorio”, tratta i fondamenti della costruzione di un sistema operativo personalizzato con Linux From Scratch (LFS). Descrive come preparare un ambiente dedicato in cui sperimentare e studiare i dettagli della creazione di una distribuzione a partire dal codice sorgente.
In questo laboratorio preparerete l’ambiente senza digitare voi i comandi. Dopo aver studiato cosa serve a LFS e perché (una partizione dedicata, un utente di build separato, una toolchain pulita, i pacchetti giusti sull’host), direte alla macchina in linguaggio naturale come deve essere l’ambiente. Sarà lei a eseguire i controlli di versione, creare la partizione e l’utente e impostare le variabili; voi leggerete ogni passaggio, lo confronterete con il libro LFS e la fermerete non appena qualcosa non corrisponde.
Obiettivi del modulo:
- Fornire conoscenze di base sui principi e sull’architettura dei sistemi Linux.
- Mettere gli studenti in grado di guidare la macchina nella configurazione e nella gestione di un sistema di build per compilare Linux From Scratch, e di verificarlo.
- Offrire esperienza pratica nel riconoscere gli strumenti e i pacchetti software necessari per costruire un sistema operativo e nel verificare che siano installati e configurati correttamente.
- Sviluppare capacità di problem solving diagnosticando, insieme alla macchina, i problemi che emergono durante il processo LFS.
Argomenti principali:
- Introduzione a Linux From Scratch:
- Comprendere la filosofia di LFS.
-
Panoramica dei vantaggi di costruire un sistema operativo personalizzato da zero.
-
Requisiti di sistema e setup:
- Discussione dettagliata dei requisiti hardware.
-
Indicazioni passo passo per descrivere il vostro ambiente di build, su macchine virtuali o su sistemi fisici dedicati, in modo che la macchina lo prepari come previsto.
-
Strumenti e pacchetti software:
- Esplorazione degli strumenti essenziali (ad es. GCC, Binutils) necessari per la compilazione di LFS.
-
Far installare e configurare alla macchina i pacchetti prerequisiti, verificandone le versioni rispetto ai requisiti.
-
Standard di gerarchia del filesystem:
- Comprendere l’FHS (Filesystem Hierarchy Standard) nel contesto della costruzione di un sistema Linux personalizzato.
-
Specificare come organizzare la struttura dei file secondo le best practice, e verificare il layout creato dalla macchina.
-
Tecniche di cross-compilazione:
- Introduzione ai metodi di cross-compilazione per architetture diverse.
-
Esercitazioni in linguaggio naturale in cui la macchina prepara gli ambienti di cross-compilazione e voi ne controllate il target triplet, i percorsi e la toolchain utilizzata.
-
Processi di configurazione e compilazione:
- Analisi dettagliata delle opzioni di configurazione del kernel e di come viene compilato il kernel Linux.
-
Compilazione dai sorgenti delle utility di sistema e delle applicazioni principali tramite istruzioni precise alla macchina.
-
Troubleshooting e ottimizzazione:
- Tecniche per leggere i log di build e identificare gli errori di compilazione più comuni, così da dire alla macchina cosa correggere.
- Best practice per ottimizzare le prestazioni della vostra build LFS.
Considerazioni particolari:
- Infrastruttura dedicata:
Gli studenti del programma Garanti Del Talento hanno accesso a un’infrastruttura dedicata allo studio e alla realizzazione di Linux From Scratch. Comprende ambienti di calcolo ad alte prestazioni, l’agente AI che opera sui sistemi di build seguendo le loro istruzioni e il supporto di mentor.
Destinatari:
Questo modulo è rivolto a studenti di informatica o di discipline affini interessati ai sistemi operativi e a come si costruisce una distribuzione Linux da zero. È adatto anche ad appassionati e professionisti che si occupano di amministrazione di sistema.
Prerequisiti:
- Conoscenza di base dell’interfaccia a riga di comando di Linux, sufficiente per leggere e valutare i comandi eseguiti dalla macchina.
- Familiarità con i concetti e gli strumenti dello sviluppo software, come i compilatori e i sistemi di controllo di versione (Git).
Metodi di valutazione:
Gli studenti vengono valutati attraverso una combinazione di esercitazioni pratiche, quiz sulle conoscenze teoriche e un progetto finale in cui devono guidare la macchina, in linguaggio naturale, a compilare e avviare il proprio sistema LFS, spiegando e motivando ogni passaggio. Anche la revisione tra pari e le discussioni di gruppo sono parte integrante dell’apprendimento collaborativo.
Gli studenti possono caricare i propri esercizi 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
