r15 - 23 Aug 2021 - 15:07:49 - WebMasterYou are here: TWiki >  Reteisi Web > IsiDebianLive
ANNUNCIO: L'aggiornamento dei pacchetti ISI produce importanti cambiamenti, leggete questa nota

ARGO via DebianLive (live_helper) howto

Il progetto ISI ha adottato da sempre per le sue installazioni, una ripacchettizzazione di Debian stabile in versione live denominata Argo. Una Argo si differenzia da una Debian stabile sostanzialmente nelle seguenti cose:

  • sono già presenti sul cd e pronti a funzionare out the box tutti i pacchetti necessari all'infrastruttura di una rete ISI (isi-argo-livecd)
  • la preconfigurazione è fatta per una rete scolastica e può essere personalizzata molto rapidamente
  • l'installazione su hd è grandemente facilitata da uno script, da noi sviluppato, che consente anche la facilissima definizione di sistemi raid-software
  • è disponibile un meccanismo per salvare la configurazione in modo tale che ripartendo da cd quella configurazione possa essere letta e utilizzata. In questo modo è, ad esempio, possibile preparare una macchina firewall capace di girare interamente da cd con configurazione su supporto esterno

Fin'ora la tecnologia adottata per la produzione di una ArgoLive è stata basata sugli script Linux-live.

Nel seguito si mostrerà come utilizzare anche il progetto DebianLive per preparare un cd live tipo Argo-isi. Il progetto DebianLive mette a disposizione una serie di scripts, i live-helper in grado di automatizzare quasi completamente la produzione della live sulla base di una struttura che rende facile la personalizzazione della live stessa.

L'ambiente di sviluppo

Per utilizzare i live-helper occorre disporre di un ambiente Debian basato almeno su etch. Molto meglio però, evitando la necessità di ricorrere ai backports, utilizzare un ambiente su base Debian testing. Ad esempio andrà benissimo una macchina Ubuntu7.10 (Gutsy Gibbon).

Installare i live_helper

L'ambiente live-helper si basa sui seguenti pacchetti:

  • debootstrap, cdebootstrap: per scaricare dai repository debian della versione scelta tutto quello che serve a creare un ambiente debian di base
  • live-helper: la collezione di scripts che producono la live in formati adatti ad essere masterizzati su cd o installati su stick usb, nonchè a preparare una installazione di rete.
  • casper e live-initramfs: per la produzione/gestione dell'initrd della live (ALERT! questi paccheti non devono essere installati perchè verranno scaricati direttamente e installati nell'ambiente chroot in cui i live-helper assembleranno la distribuzione). Per inciso ricordo che per i kernel 2.6 la generazione dell'initrd è affidato agli script del pacchetto initramfs-tools
  • squashfs/unionfs/aufs per la preparazione del file sistem compresso del boot cd (queste dipendenze sono gestite automaticamente dai live-helper)

Una volta installato, la creazione delle live è indipendente dall'ambiente di sviluppo (nel nostro caso Ubuntu 7.10). Benché il pacchetto live-helper sia presente nei repository Ubuntu, per la costruzione di distro debian standard non funziona e deve essere sostituito da quello che si trova qui. Data la rapida evoluzione del pacchetto live-helper si raccomanda di utilizzare sempre la sua versione più recente.

Scaricate quindi il pacchetto live-helperXXX.

Installate poi i seguenti pacchetti nel modo mostrato:

# aptitude install debootstrap cdebootstrap (questi sono pacchetti Ubuntu)
# dpkg -i live-helperXXX.deb

Costruire una live debian-lenny

I live-helper così installati sono predisposti per produrre una debian testing (lenny) live. A questo scopo occorre creare una cartella destinata a contenere la distribuzione che verrà assemblata, potrà avere un nome qualsiasi ed essere collocata ovunque. In ossequio alla documentazione del progetto DebianLive e ai path di default dei live-helper, nel seguito la cartella in cui verranno assemblate le build, sarà /srv/xxx (xxx sarà sostituito dal nome della distro in preparazione). Il tutto si riduce ai seguenti pochissimi comandi:

  1. su
  2. mkdir -p /srv/DebianLive
  3. cd /srv/DebianLive (tutti i comandi lh* DEVONO essere dati stando nella cartella contenente la distro)
  4. lh_config (crea la fondamentale cartella config)
  5. lh_build

Se tutto va a buon fine si sarà ottenuta la iso in ./binary.iso, se nessuna modifica al contenuto di ./config è stato fatto, si otterrà una iso lenny-live standard.

Costruire una live debian-etch

Per la costruzione di una etch-live procedere così:

  1. mkdir -p /srv/etch-live
  2. cd /srv/etch-live
  3. lh_config -d etch

modificare nel file config/chroot la seguente variabile:

# $LH_LINUX_FLAVOURS: set kernel flavour to use
# (Default: autodetected)
LH_LINUX_FLAVOURS="686"

modificare nel file ./config/binary la seguente variabile:

# $LH_NET_ROOT_PATH: set netboot server directory
# (Default: /srv/etch-live)
LH_NET_ROOT_PATH="/srv/etch-live"

questa modifica può essere fatta anche dando il comando

# lh_config --net-root-path /srv/etch-live

IDEA! per i moltissimi altri comandi di configurazione vedi man lh_config

Dettagli sul funzionamento dei live-helper

La directory config

Tutta la configurazione necessaria a produrre la iso voluta è gestita dal contenuto della cartella config henerata dallo script lh_config, cioè dal primo comando live-helper.

ALERT! ATTENZIONE: i file in neretto sono modifiche alla configurazione e non vengono creati da lh_config ma sono stati aggiunti

Topic attachments
I Attachment Action Size Date Who Comment
EXT all_generic_ide manage 0.6 K 13 Jan 2022 - 15:58 WebMaster script di personalizzazione dell'initrd
EXT argodiff manage 1.0 K 08 Jan 2022 - 06:05 WebMaster pacchetti presenti in argo-etch e NON presenti nella debian-live standard
EXT argoisidiff manage 2.9 K 16 Jan 2022 - 19:06 WebMaster pacchetti argoisi non presenti in una etch standard
EXT ramfs-open manage 1.3 K 13 Jan 2022 - 15:15 WebMaster script per spacchettare l'initrd
EXT ramfs-pack manage 0.4 K 13 Jan 2022 - 15:16 WebMaster script per riimpacchettare la cartella initrd
EXT rebuild manage 0.9 K 16 Jan 2022 - 19:05 WebMaster script per sostituire l'initrd della live e rigenerare la iso
EXT restore_conf manage 2.3 K 13 Jan 2022 - 16:00 WebMaster script di personalizzazione dell'initrd
gz splash.xpm.gz manage 7.6 K 16 Jan 2022 - 19:29 WebMaster immagine di splash per il bootloader
 

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback