dgt_lfs05 – Setup di Linux From Scratch

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:

  1. Introduzione a Linux From Scratch LFS:
  2. Esplorare la filosofia alla base della costruzione del proprio sistema operativo.
  3. Conoscere i vantaggi di un sistema LFS, tra cui personalizzazione, apprendimento e ottimizzazione delle prestazioni.

  4. Preparazione preliminare dell’ambiente:

  5. Capire di cosa ha bisogno un sistema host per soddisfare tutti i prerequisiti di un ambiente di build LFS.
  6. Chiedere alla macchina di installare i pacchetti e gli strumenti essenziali e confrontare le versioni riportate con i requisiti di LFS.
  7. Revisionare le impostazioni dell’host applicate dalla macchina per ottenere prestazioni di build ottimali.

  8. Partizionamento e configurazione del filesystem:

  9. Comprendere gli schemi di partizionamento adatti a LFS, incluse le considerazioni su swap e file system.
  10. 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.

  11. Compilazione degli strumenti e delle utility essenziali:

  12. Capire come GCC, Binutils e Glibc vengono compilati dai sorgenti e farli compilare alla macchina nell’ordine corretto.
  13. Leggere i log di build per confermare che questi componenti siano configurati e integrati correttamente.

  14. Fasi di installazione del sistema:

  15. Usare il libro LFS come riferimento per guidare e controllare la macchina mentre compila il kernel Linux e le utility associate.
  16. Confermare che il software compilato sia installato al posto giusto nel filesystem preparato.

  17. Configurazione post-installazione:

  18. Descrivere le interfacce di rete e gli account utente necessari e revisionare i file di configurazione scritti dalla macchina.
  19. Conoscere i parametri del kernel e gli script di avvio abbastanza bene da richiedere un tuning mirato e valutarne la correttezza.

  20. Test e troubleshooting:

  21. Apprendere strategie per testare la stabilità e l’affidabilità del sistema LFS.
  22. Diagnosticare i problemi più comuni leggendo errori e log, spiegando il problema alla macchina e convalidando la correzione proposta.

  23. Considerazioni sulla sicurezza:

  24. 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