Salta al contenuto principale

Esercitazione passo-passo per creare un CD live Debian con live-build

Costruire un CD live Debian o una USB live con live-build. Passeremo attraverso tre fasi: la creazione di un repository Git per tenere traccia di tutte le modifiche al codice, l'installazione di live-build sulla nostra distribuzione Debian e la configurazione e costruzione del file .iso.

Creare il repository Git

Possiamo usare un repository online, come GitLab.
Creare un nuovo progetto, ad esempio "Fabian-os", e un veloce Readme.md per la home del progetto.
È necessario aggiungere le chiavi pubbliche SSH alle impostazioni del progetto per avere pieno accesso al repository.

Clonare il repository. È possibile trovare il pulsante clona nella pagina iniziale con due opzioni: HTTPS o SSH.

In questo caso, useremo SSH per spingere i commit con il nuovo codice.

$ git clone https://github.com/undj/fabian-os.git

La directory del repository sarà il luogo in cui lavoreremo e memorizzeremo tutte le configurazioni live-build.

Siccome il nostro nuovo repository Git non deve includere tutti i file scaricati da live-build, dobbiamo escluderli usando .gitignore fornito nel nostro repository:

/cache/**
/live-image-*
/binario*/**
/chroot*/**
/.build*/**
/chroot.*
/build.log
/configurazione/sorgente
/configurazione/binario
/config/bootstrap
/config/chroot
/config/common

Installare live-build

Il pacchetto live-build può essere trovato e installato direttamente dal repository Debian, in tutti i rami da Debian Stable a Sid.

Installare live-build con:

$ sudo apt install live-build

Utilizzare live-build

Il pacchetto live-build fornisce l'eseguibile lb, usato per creare l'ambiente, costruire la distribuzione live e ripulirla.

Configurare l'ambiente con lb config

Configurare l'ambiente del nostro CD live all'interno della directory Git, usando lb config:

$ sudo lb config

Questo comando scaricherà e creerà i file di configurazione necessari per costruire la distribuzione.

Possiamo aggiungere e spingere i file su Git per tenere traccia della prima configurazione predefinita.

$ git add .
$ git commit -m "prima configurazione"
$ git push

File di configurazione

La configurazione principale è auto/config:

$ cat auto/config
#!/bin/sh
set -e
lb config noauto \
    --mode debian \
    --architetture amd64 \
    --debian-installer live \
    --archivio-aree "main contrib non-free" ´
    --apt-indices false \
    --memtest nessuno \
    -d buster \
    -compressione lzip \
    --sistema live \
    --backport true \
    --bootappend-live "boot=live components locales=it_IT.UTF-8 keyboard-layouts=it splash" \
    --mirror-bootstrap http://deb.debian.org/debian/ \
    --mirror-binary http://deb.debian.org/debian/ \
    "${@}"

Vediamo le definizioni nello script:

-d|--distribuzione CODENAME
    definisce la distribuzione del sistema live risultante
-compressione bzip2|gzip|lzip|nessuno
    definisce il programma di compressione da usare per comprimere i tarball.
--mode debian|progress|ubuntu
    definisce una modalità globale per caricare le impostazioni predefinite specifiche del progetto.
-a|--architetture ARCHITETTURA
    definisce l'architettura dell'immagine da costruire.
--archive-aree ARCHIVE_AREA|"ARCHIVE_AREAS"
    definisce quali aree dell'archivio dei pacchetti Debian devono essere usate per i mirror dei pacchetti Debian configurati.
--sistema live|normale
    definisce se l'immagine di sistema risultante deve essere un sistema live o un normale sistema non live.

Il manuale completo si trova sul sito lb config Debian man pages.

Possiamo aggiungere i pacchetti preferiti creando un elenco nella directory package-list:

$ nano config/package-lists/my.list.chroot

Eseguire gli script nel CD live chroot aggiungendoli a questa directory:

$ nano config/hooks/live/my-chroot-script.sh

È possibile includere i file nella chroot utilizzando lo stesso albero di directory desiderato nel CD live, aggiungendoli nella directory config/includes.chroot

Costruire il CD live Debian con lb build

Possiamo ora costruire il CD live con live-build. Questo scaricherà tutti i pacchetti dal mirror e creerà il file .iso della distribuzione:

$ sudo lb build

Dopo il completamento del processo o per costruire una nuova versione, dobbiamo ripulire l'ambiente dalla precedente build:

$ sudo lb clean

Crediti finali

Questo lavoro è stato fatto in collaborazione con il Fablab Cagliari, per la creazione della distribuzione personalizzata, Fabian. Grazie mille per l'opportunità!

Vuoi parlare con un esperto? Visita la nostra pagina di consulenza Debian, analisi gratuita di 30 minuti!

Aggiungi un commento

Comment

  • Elementi HTML permessi: <br> <p> <code class="language-*"> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Solo le immagini ospitate su questo sito possono essere utilizzate nel tag <img>.