dgt_lfs05 – Predisposizione del laboratorio

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:

  1. Introduzione a Linux From Scratch:
  2. Comprendere la filosofia di LFS.
  3. Panoramica dei vantaggi di costruire un sistema operativo personalizzato da zero.

  4. Requisiti di sistema e setup:

  5. Discussione dettagliata dei requisiti hardware.
  6. 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.

  7. Strumenti e pacchetti software:

  8. Esplorazione degli strumenti essenziali (ad es. GCC, Binutils) necessari per la compilazione di LFS.
  9. Far installare e configurare alla macchina i pacchetti prerequisiti, verificandone le versioni rispetto ai requisiti.

  10. Standard di gerarchia del filesystem:

  11. Comprendere l’FHS (Filesystem Hierarchy Standard) nel contesto della costruzione di un sistema Linux personalizzato.
  12. Specificare come organizzare la struttura dei file secondo le best practice, e verificare il layout creato dalla macchina.

  13. Tecniche di cross-compilazione:

  14. Introduzione ai metodi di cross-compilazione per architetture diverse.
  15. 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.

  16. Processi di configurazione e compilazione:

  17. Analisi dettagliata delle opzioni di configurazione del kernel e di come viene compilato il kernel Linux.
  18. Compilazione dai sorgenti delle utility di sistema e delle applicazioni principali tramite istruzioni precise alla macchina.

  19. Troubleshooting e ottimizzazione:

  20. Tecniche per leggere i log di build e identificare gli errori di compilazione più comuni, così da dire alla macchina cosa correggere.
  21. 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