<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>de.straba.us &#187; ubuntu</title>
	<atom:link href="http://de.straba.us/tag/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://de.straba.us</link>
	<description>destrabauz thoughts</description>
	<lastBuildDate>Fri, 20 Jan 2012 13:55:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Chiavetta HSDPA Tre &#8211; Momodesign  MD-@ e Ubuntu</title>
		<link>http://de.straba.us/2008/08/22/modem-hsdpa-monodesign-tre-ubunt/</link>
		<comments>http://de.straba.us/2008/08/22/modem-hsdpa-monodesign-tre-ubunt/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 13:06:39 +0000</pubDate>
		<dc:creator>napo</dc:creator>
				<category><![CDATA[me]]></category>
		<category><![CDATA[hsdpa]]></category>
		<category><![CDATA[tre]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://de.straba.us/?p=24</guid>
		<description><![CDATA[Inserita la chiave nel pc il kernel 2.6.24-19-generic di Ubuntu 8.04 LTS &#8211; Hardy Heron risponde caricando il modulo airprime che, a sua volta, crea il device /dev/ttyUSB0 Da qui in poi il gioco diventa semplice in quanto si tratta di impostare una connessione ppp attraverso gnome-ppp, o kppp o wvdial. per i pigri &#8230; [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://de.straba.us/wp-content/uploads/2008/08/modem_momodesignmd.jpg'><img src="http://de.straba.us/wp-content/uploads/2008/08/modem_momodesignmd.jpg" alt="" title="modem_momodesignmd" width="168" height="208" class="alignnone size-medium wp-image-25" /></a></p>
<p>Inserita la chiave nel pc il kernel  <em>2.6.24-19-generic</em> di <em>Ubuntu 8.04 LTS &#8211; Hardy Heron</em> risponde caricando il modulo <em>airprime</em> che, a sua volta, crea il device <em>/dev/ttyUSB0</em></p>
<p>Da qui in poi il gioco diventa semplice in quanto si tratta di impostare una connessione ppp attraverso gnome-ppp, o kppp o wvdial.</p>
<p>per i pigri &#8230;<br />
<code>sudo apt-get install wvdial<br />
sudo -s<br />
cat > /etc/wvdial.conf << EOF<br />
&nbsp;<strong>[Dialer Defaults]</strong><br />
&nbsp;<strong>Modem = /dev/ttyUSB0</strong><br />
&nbsp;<strong>ISDN = off</strong><br />
&nbsp;<strong>Modem Type = Analog</strong><br />
&nbsp;<strong>Modem Baud = 460800</strong><br />
&nbsp;<strong>Init2 = ATX3</strong><br />
&nbsp;<strong>Init3 = AT+COPS?</strong><br />
&nbsp;<strong>Init4 = AT+CGDCONT=1,"ip","datacard.tre.it"</strong><br />
&nbsp;<strong>Phone = *99#</strong><br />
&nbsp;<strong>Dial Attempts = 1</strong><br />
&nbsp;<strong>Dial Command = ATM1L3DT</strong><br />
&nbsp;<strong>Ask Password = off</strong><br />
&nbsp;<strong>Password = tre</strong><br />
&nbsp;<strong>Username = tre</strong><br />
&nbsp;<strong>Auto Reconnect = off</strong><br />
&nbsp;<strong>Abort on Busy = off</strong><br />
&nbsp;<strong>Carrier Check = on</strong><br />
&nbsp;<strong>Check Def Route = on</strong><br />
&nbsp;<strong>Abort on No Dialtone = on</strong><br />
&nbsp;<strong>Stupid Mode = on</strong><br />
&nbsp;<strong>Idle Seconds = 0</strong><br />
&nbsp;<strong>Auto DNS = on</strong><br />
EOF<br />
chmod 644 /etc/wvdial.conf<br />
exit</code></p>
<p>&#8230; e per collegarsi &#8230; basta digitare <code>wvdial</code> da linea di comando &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://de.straba.us/2008/08/22/modem-hsdpa-monodesign-tre-ubunt/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Estendere le azioni dell&#8217;installer ubiquity</title>
		<link>http://de.straba.us/2008/07/29/estendere-le-azioni-dellinstaller-ubiquity/</link>
		<comments>http://de.straba.us/2008/07/29/estendere-le-azioni-dellinstaller-ubiquity/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 10:45:02 +0000</pubDate>
		<dc:creator>napo</dc:creator>
				<category><![CDATA[software libero]]></category>
		<category><![CDATA[ubiquity]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://de.straba.us/2008/07/29/aggiungere-azioni-ad-ubiquity-sulla-macchina-ospite/</guid>
		<description><![CDATA[Nei precedenti post e&#8217; stato preso in esame come creare un livecd installabile, personalizzandolo non solo nei pacchetti ma anche automatizzando le richieste fatte dall&#8217;installer (ubiquity). Questo pero&#8217; spesso non e&#8217; sempre sufficiente ai fine di una installazione personalizzata. Molte volte occorre andare a modificare alcuni file di configurazione o cancellare qualche file utilizzato durante [...]]]></description>
			<content:encoded><![CDATA[<p>Nei precedenti post e&#8217; stato preso in esame come creare un livecd installabile, personalizzandolo non solo nei pacchetti ma anche automatizzando le richieste fatte dall&#8217;installer (ubiquity).</p>
<p>Questo pero&#8217; spesso non e&#8217; sempre sufficiente ai fine di una installazione personalizzata.</p>
<p>Molte volte occorre andare a modificare alcuni file di configurazione o cancellare qualche file utilizzato durante l&#8217;installazione non più necessario.</p>
<p>Le soluzioni praticabili sono diverse:</p>
<ul>
<li>modificare i sorgenti dei pacchetti .deb e ricostruire i pacchetti</li>
<li>utilizzare un file preseed che, a sua volta, chiama uno script da eseguire a fine operazioni di ubiquity</li>
<li>estendere le azioni di ubiquity verso la macchina ospite attraverso degli script</li>
</ul>
<p>La prima soluzione è sicuramente la più elegante. Necessita però della creazione di un repository di pacchetti (che può anche essere ospitato sul cd). Soluzione praticabile, ma sconsigliata qualora la necessità sia solo quella di modificare qualche variabile (es. il tema di gnome predefinito).<br />
La seconda è stata affrontata nel precedente post dal titolo <a href="http://de.straba.us/2008/07/18/automatizzare-linstaller-ubiquity/#preseed">http://de.straba.us/2008/07/18/automatizzare-linstaller-ubiquity/</a>.</p>
<p>L&#8217;ultima proposta non discosta molto dalla seconda, se non per il fatto che gli script saranno ospitati nel file iso compresso con squashfs.</p>
<p>La directory dove ubiquity ospita i vari script che vengono eseguiti sulla macchina di destinazione si trova in<br />
<code>/usr/lib/ubiquity/target-config</code><br />
Il nome di ogni script comincia con un numero che indica l&#8217;ordine con cui viene eseguito.</p>
<p>questo il codice dello script che viene utilizzato da ubiquity per generare il file md5 del file xorg.conf</p>
<p><code><br />
#! /bin/sh<br />
set -e</code></p>
<p>if [ -f /etc/X11/xorg.conf ]; then<br />
cp -a /etc/X11/xorg.conf /target/etc/X11/xorg.conf<br />
# requires x11-common (&gt;= 7.0.0-0ubuntu1)<br />
mkdir -p /target/var/lib/x11<br />
chroot /target sh -c &#8216;md5sum /etc/X11/xorg.conf &gt; /var/lib/x11/xorg.conf.md5sum&#8217;<br />
fi</p>
<p>exit 0</p>
<p>Leggendo lo script si capisce che la directory con cui viene vista la macchina ospite e&#8217; <em>/target</em><br />
In particolare il comando<br />
<em>chroot /target sh -c &#8216;md5sum /etc/X11/xorg.conf &gt; /var/lib/x11/xorg.conf.md5sum&#8217;</em><br />
esegue il calcolo del md5 del file <em>xorg.conf</em> copiandolo in <em>/var/lib/x11</em> utilizzando il comando chroot (per cambiare la root).</p>
<p>Venendo a quanto scritto nel post <a href="http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/">howto: creare un ubuntu live cd</a> &#8211; in particolare al <a href="http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/#2">passo 2</a> &#8211; gli script che vorremmo far eseguire devono essere copiati in<br />
<em>$HOME/chroot/usr/lib/ubiquity/target-config</em></p>
<p>Per l&#8217;utente alle prime armi e&#8217; consigliato accodare le operazioni su uno degli script giá esistenti.</p>
]]></content:encoded>
			<wfw:commentRss>http://de.straba.us/2008/07/29/estendere-le-azioni-dellinstaller-ubiquity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatizzare l&#8217;installer ubiquity</title>
		<link>http://de.straba.us/2008/07/18/automatizzare-linstaller-ubiquity/</link>
		<comments>http://de.straba.us/2008/07/18/automatizzare-linstaller-ubiquity/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 13:16:35 +0000</pubDate>
		<dc:creator>napo</dc:creator>
				<category><![CDATA[software libero]]></category>
		<category><![CDATA[ubiquity]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://de.straba.us/?p=4</guid>
		<description><![CDATA[L&#8217;howto creare un ubuntu live cd puo&#8217; essere utilizzato anche per creare cd di installazione personalizzati. Se nel livecd e&#8217; presente il tool ubiquity (l&#8217;installer grafico di ubuntu), l&#8217;operazione di installazione non fara&#8217; altro che copiare tutto il contenuto del cd sulla macchina ospite una volta preparato tutto l&#8217;ambiente (riconoscimento hardware, partizionamento del disco, configurazione [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;howto <a href="http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/">creare un ubuntu live cd</a> puo&#8217; essere utilizzato anche per creare cd di installazione personalizzati.<br />
Se nel livecd e&#8217; presente il tool ubiquity (l&#8217;installer grafico di ubuntu), l&#8217;operazione di installazione non fara&#8217; altro che copiare tutto il contenuto del cd sulla macchina ospite una volta preparato tutto l&#8217;ambiente (riconoscimento hardware, partizionamento del disco, configurazione utenti, lingua, tastiera ecc&#8230;).<br />
In molte occasioni si ha la necessita&#8217; di voler fare in modo che le domande fatte all&#8217;utente per creare l&#8217;ambiente necessario all&#8217;installazione siano automatizzate.</p>
<p>Tale operazione e&#8217; possibile configurando due file: quello della configurazione del boot loader del cd di installazione (<em>isolinux.cfg</em>) e creando un file di istruzioni <em>preseed</em> (le stesse utilizzate da debian-installer con qualche aggiunta) che verra&#8217; interpretato da ubiquity.</p>
<p>Nello specifico il primo file (invocato da isolinux al suo avvio) non fa altro che informare il livecd di eseguire ubiquity, con opportuni parametri a cui successivamente associare l&#8217;opportuno file preseed con tutte le informazioni di automazione.</p>
<p><a name="isolinux"><br />
<h2>isolinux.cfg</h2>
<p></a><br />
Questo un esempio di <em>isolinux.cfg </em><br />
(maggiori dettagli sono descritti al <a href="http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/#3">3</a> del post di riferimento a questo articolo)</p>
<p><code><br />
LABEL install<br />
  menu label ^Install<br />
  kernel /casper/vmlinuz<br />
  append automatic-ubiquity noprompt only-ubiquity file=/cdrom/preseed/install.seed boot=casper initrd=/casper/initrd.gz quiet --<br />
</code></p>
<p>L&#8217;istruzione che richiama sia ubiquity e il relativo preseed file e&#8217; contenuta nella voce <em>append</em><br />
Nei dettagli:</p>
<ul>
<li><em>automatic-ubiquity</em>: informa che ubiquity deve essere avviato in automatico</li>
<li><em>only-ubiquity</em>: ubiquity sara&#8217; l&#8217;unica applicazione che verra&#8217; mostrata all&#8217;utente</li>
<li><em>file=/cdrom/preseed/install.seed</em>: si tratta del percorso del file seed (in questo caso install.seed) che verra&#8217; eseguito dal sistema
</ul>
<p>I parametri possono essere inseriti manualmente.<br />
Il percorso del file di preseed puo&#8217; essere anche un indirizzo web. In tal caso la sintassi e&#8217;<br />
<em>url=http://indirizzo.del.server/file.preseed</em></p>
<p><a name="preseed"></p>
<h2>Il file preseed</h2>
<p></a><br />
Per una questione di ordine si e&#8217; scelto di copiare il file all&#8217;interno della directory preseed (mkdir -p $HOME/work/image/preseed).<br />
Esempi di file preseed se ne trovano diversi in rete.<br />
Quello qui proposto permette di avere una installazione priva di alcuna domanda all&#8217;utente, che formatta l&#8217;intero disco rigido e crea un utente con relativa password.<br />
Le righe introdotte dal simbolo <em>#</em> sono commenti<br />
<code><br />
# Impostazione del lingua usata dall'installatore<br />
ubiquity        languagechooser/language-name   select  English<br />
# Impostazione del paese<br />
ubiquity        countrychooser/shortlist        select  IT<br />
# Impostazione della time zone<br />
ubiquity        time/zone       select  Europe/Rome<br />
# Impostazione della tabella caratteri utilizzata dall'installatore<br />
ubiquity        debian-installer/locale select  en_US.UTF-8<br />
# Altri possibili set di caratteri utilizzabili<br />
ubiquity        localechooser/supported-locales multiselect     it_IT.UTF-8<br />
# ad uso interno<br />
console-setup   console-setup/layoutcode        string  it<br />
# origine della tastiera<br />
console-setup   console-setup/layout    select  Italian<br />
# layout della tastiera<br />
console-setup   console-setup/variantcode       select  U.S. English<br />
# insieme di caratteri utilizzabili nella console<br />
console-setup   console-setup/codeset   select  . Combined - Latin; Slavic Cyrillic; Hebrew; basic Arabic<br />
# metodo di partizionamento - attenzione che la frase deve essere uguale<br />
# a quella scelta per l'opzione languagechooser/language-name<br />
ubiquity        partman-auto/init_automatically_partition       select  Guided - use entire disk<br />
# ad uso interno<br />
ubiquity        partman-auto/method     string  regular<br />
# schema di partizionamento (vale discorso sulla lingua)<br />
ubiquity        partman-auto/choose_recipe      select  All files in one partition (recommended for new users)<br />
# Conferma di scrittura nella nuova partizione<br />
ubiquity        partman/confirm_write_new_label boolean true<br />
ubiquity        partman/choose_partition        select  Finish partitioning and write changes to disk<br />
ubiquity        partman/confirm boolean true<br />
# Nome completo del nuovo utente<br />
ubiquity        passwd/user-fullname    string  Napo<br />
user-setup      passwd/user-fullname    string  Napo<br />
# username scelto per l'account<br />
ubiquity        passwd/username string  napo<br />
user-setup      passwd/username string  napo<br />
# password (criptata) scelta per l'utente<br />
ubiquity        passwd/user-password-crypted password $1$owHRIB1k$XrCXGTqxu8mYe7.OBPiGl.<br />
user-set        passwd/user-password-crypted password $1$owHRIB1k$XrCXGTqxu8mYe7.OBPiGl.</p>
<p># Select operating systems to import from:<br />
ubiquity        migration-assistant/partitions  multiselect</p>
<p># Non visualizza il sommario a fine installazione<br />
ubiquity        ubiquity/summary        note</p>
<p>#Esegue lo script post_script.sh a fine installazione<br />
ubiquity        ubiquity/success_command        string /target/post_script.sh<br />
</code></p>
<p>Per generare la password criptata si deve fare uso di <em>mkpasswd</em> con opportuni parametri.<br />
Qui sotto un esempio in cui la password scelta e&#8217; &#8220;<em>nontelodico</em>&#8221;<br />
<code>echo nontelodico | mkpasswd -s -H md5</code></p>
<p>L&#8217;ultima istruzione del file preseed di esempio indica che, a fine delle azioni di installazione di ubiquity deve essere eseguito uno script.<br />
Questa operazione torna spesso utile per fare ulteriori personalizzazioni all&#8217;installazione.<br />
Un aspetto fondamentale di questa operazione e&#8217; quello di tenere ben presente i percorsi con cui raggiungere le varie periferiche.<br />
<em>Ubiquity</em>, una volta preparato il disco rigido (partizionamento e formattazione), collega quest&#8217;ultimo nel path <em>/target</em>.<br />
Nel caso specifico, dato che ubiquity copia l&#8217;intero contenuto del cd &#8211; esclusi i file del <em>manifest</em> destinati al desktop (vd. <a href="http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/#3">passo 3</a>) sul disco rigido, lo script e&#8217; stato inserito nella radice file system compresso con squashfs (ossia in $HOME/work/chroot/ &#8211; vedi <a href="http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/#1">passo 1</a>).</p>
<p><strong>Info utili:</strong><br />
<a href="https://wiki.ubuntu.com/Ubiquity">https://wiki.ubuntu.com/Ubiquity</a></p>
]]></content:encoded>
			<wfw:commentRss>http://de.straba.us/2008/07/18/automatizzare-linstaller-ubiquity/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HOWTO: creare un ubuntu live cd</title>
		<link>http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/</link>
		<comments>http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 10:46:05 +0000</pubDate>
		<dc:creator>napo</dc:creator>
				<category><![CDATA[software libero]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[livecd]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://de.straba.us/?p=3</guid>
		<description><![CDATA[La creazione di un live cd personalizzato derivato da una distribuzione debian-based (es ubuntu) richiede 4 passaggi: creazione ambiente di lavoro personalizzazione dei contenuti software del livecd creazione dell&#8217;ambiente per il cd di boot creazione del file immagine, test e masterizzazione del livecd Il presente HOWTO include anche l&#8217;uso di ubiquity &#8211; l&#8217;installer grafico di [...]]]></description>
			<content:encoded><![CDATA[<p>La creazione di un live cd personalizzato derivato da una distribuzione debian-based (es ubuntu) richiede 4 passaggi:</p>
<ol>
<li><a href="#1">creazione ambiente di lavoro</a></li>
<li><a href="#2">personalizzazione dei contenuti software del livecd</a></li>
<li><a href="#3">creazione dell&#8217;ambiente per il cd di boot</a></li>
<li><a href="#4">creazione del file immagine, test e masterizzazione del livecd</a></li>
</ol>
<p>Il presente HOWTO include anche l&#8217;uso di <em>ubiquity</em> &#8211; l&#8217;installer grafico di ubuntu.<br />
Il risultato e&#8217; che, il livecd creato, puo&#8217; essere installato su disco rigido con tutte le personalizzazioni fatte.</p>
<p><a name="0"></p>
<h2>Prima di cominciare</h2>
<p></a><br />
Assicurarsi che</p>
<ul>
<li> si stia utilizzando un utente in grado di eseguire il comando <em>sudo</em> o comunque con i permessi di amministrazione</li>
<li> il computer su cui si opera abbia un collegamento internet</li>
</ul>
<p>Nota a margine: negli esempi riportati si fa la directory <em>work</em> nella home utente</p>
<p><code>mkdir -p $HOME/work</code><br />
<a name="1"></p>
<h2>Passo 1</h2>
<p></a></p>
<h3>creazione ambiente di lavoro</h3>
<p>debian mette a disposizione il tool <em>debootstrap </em>con il quale e&#8217; possibile creare, in una directory, una configurazione di una distribuzione debian di base.<br />
Nel nostro esempio la directory ha nome <em>chroot</em> (i motivi saranno chiari al passo successivo).</p>
<p>Le operazioni da eseguire saranno pertanto:</p>
<ul>
<li> installazione di debootstrap</li>
<li> creazione dell&#8217;area di lavoro</li>
<li> esecuzione di debootstrap selezionado:
<ul>
<li>il tipo di architettura da utilizzare (<em>i386</em> nel nostro caso)</li>
<li>la release ubuntu di riferimento (<em>hardy</em>)</li>
<li>la directory di destinazione (<em>chroot</em>)</li>
</ul>
</li>
</ul>
<p>tradotto in comandi:</p>
<p><code> apt-get install debootstrap<br />
mkdir -p $HOME/work/chroot<br />
cd $HOME/work/chroot<br />
debootstrap --arch i386 hardy chroot </code></p>
<p><a name="2"></p>
<h2>Passo 2</h2>
<p></a></p>
<h3>personalizzazione dei contenuti software del livecd</h3>
<p>la directory  $HOME/work/chroot conterra&#8217; tutto cio&#8217; che vogliamo sia presente sul nostro livecd.<br />
Quanto prodotto in precedenza da debootstrap e&#8217; un ambiente minimale, occorre pertanto procedere ad una personalizzazione.<br />
Il metodo suggerito e&#8217; quello di fare uso del comando <em>chroot</em>.</p>
<p>Con questo comando si trasforma una qualsiasi directory nella root del disco (<em>chroot</em> = <em>change root</em>), creando una sorta di &#8220;prigione&#8221; entro la quale tutti i processi all&#8217;esterno sono ignorati.Prima di effettuare il comando occorre pero&#8217; copiare alcuni file di configurazione necessari. Nello specifico la configurazione del dns (<em>/etc/resolv.conf</em>) e delle risorse apt (<em>/etc/apt/sources.list</em>).</p>
<p><code><br />
sudo cp /etc/resolv.conf chroot/etc/resolv.conf<br />
sudo cp /etc/apt/sources.list chroot/etc/apt/sources.list</code></p>
<p>a questo punto e&#8217; possibile entrare in chroot nell&#8217;ambiente creato<br />
<code>sudo chroot chroot</code><br />
dopo questa operazione il prompt comandi cambia mostrando il simbolo # e il sistema dara&#8217; il messaggio di errore che non riesce ad individuare la home dell&#8217;utente (non e&#8217; un problema ai fini del resto delle operazioni).<br />
L&#8217;ambiente in chroot pero&#8217; non e&#8217; ancora adeguato per essere utilizzato.<br />
Si deve far conoscere al nuovo ambiente le informazioni che il kernel linux da al suo avvio nelle directory <em>proc</em> e <em>sys</em> e i device a quali collegarsi.<br />
Il tutto lo si ottiene con i seguenti comandi<br />
<code>mount /proc<br />
mount /sys<br />
mount -t devpts none /dev/pts</code></p>
<p>A questo punto possiamo procedere all&#8217;installazione di tutto il software che vogliamo essere presente sul nostro livecd.<br />
Aggiorniamo le risorse apt, scegliamo la lingua e procediamo con l&#8217;installazione.<br />
I pacchetti strettamente necessari per l&#8217;esecuzione del live-cd sono:</p>
<ul>
<li> ubuntu-standard</li>
<li> casper</li>
<li> discover1</li>
<li> laptop-detect</li>
<li> os-prober</li>
<li> ubiquity</li>
<li> linux-generic</li>
</ul>
<p><code>apt-get update<br />
locale-gen it_IT.UTF-8<br />
apt-get install ubuntu-standard casper discover1 laptop-detect os-prober linux-generic  ubiquity</code></p>
<p>da qui in poi aggiungere qualsiasi pacchetto si voglia avere nel cd usando <em>apt-get</em><br />
es:<br />
<code>apt-get install vlc</code></p>
<p>Finita ogni installazione si deve ripulire l&#8217;ambiente creato e uscire (<em>exit</em>)<br />
<code>apt-get clean<br />
rm -rf /tmp/*<br />
rm /etc/resolv.conf<br />
umount -l -f /proc<br />
umount -l -f /sys<br />
umount /dev/pts<br />
exit</code></p>
<p>Tutto il contenuto della directory di chroot va archiviata in un file immagine compresso con squashfs (<code>apt-get install squashfs-tools</code>) nella directory $HOME/image/casper/<br />
<code><br />
mkdir -p $HOME/image/casper/<br />
cd $HOME/work/<br />
sudo mksquashfs chroot image/casper/filesystem.squashfs<br />
</code><br />
Il file creato verra&#8217; utilizzato dal tool <em>casper</em> per eseguire il livecd</p>
<p><a name="3"></p>
<h2>Passo 3</h2>
<p></a></p>
<h3>creazione dell&#8217;ambiente per il cd di boot</h3>
<p>in questo passaggio occorre preparare l&#8217;ambiente necessario  per il cd di avvio attraverso il tool <em>syslinux</em>.<br />
<code>mkdir image image/casper image/isolinux image/install</code><br />
(se non presente occorre installare syslinux e sbm <code>apt-get install syslinux sbm</code>)</p>
<p>nelle directory create copiare il kernel d&#8217;avvio<br />
<code><br />
cp chroot/boot/vmlinuz-2.6.**-**-generic image/casper/vmlinuz<br />
cp chroot/boot/initrd.img-2.6.**-**-generic image/casper/initrd.gz<br />
</code></p>
<p>e i tool di syslinux<br />
<code><br />
cp /usr/lib/syslinux/isolinux.bin image/isolinux/<br />
cp /boot/memtest86+.bin image/install/memtest<br />
cp /boot/sbm.img image/install/<br />
</code></p>
<p>E&#8217; possibile personalizzare messaggistica e immagine di boot modificato i file isolinux.txt e splash.rle<br />
Il primo va copiato in image/isolinux qui un esempio</p>
<p><code>cat > images/isolinux/isolinux.txt << EOF<br />
Live CD personalizzato</p>
<p>Digitare<br />
- "live" (o battere invio) per avviare il cd.<br />
- "check" per verificare che il cd non contenga errori<br />
- "memtest" per eseguire memtest86+ per testare la ram<br />
EOF</code></p>
<p>La procedura per personalizzare il file<em> splash.rle </em>richiede qualche passaggio in piu'.<br />
La partenza avviene da un file <em>bmp</em> con massimo 15 colori indicizzati di larghezza 480 pixel<br />
che va convertito in <em>ppm</em> (<em>apt-get install netpbm</em>) e successivamente in <em>rle</em><br />
<code><br />
cp splash.bmp image/isolinux<br />
bmptoppm splash.bmp > splash.ppm<br />
ppmtolss16 '#ffffff=7' < splash.ppm > splash.rle<br />
rm splash.bmp<br />
rm splash.ppm<br />
</code></p>
<p>Per fare in modo che il file ottenuto appaia al boot occorre modificare la prima riga del file isolinux.txt precedentemente creato aggiungendo l'istruzione <em>splash.rle</em></p>
<p>Le opzioni possibili al boot sono definite nel file <em>isolinux.cfg </em> (per maggiori dettagli leggere la documentazione in <em>/usr/share/doc/syslinux/syslinux.doc</em>)<br />
Il seguente e' un esempio che ricalca le opzioni descritte nel file isolinux.txt descritto sopra</p>
<p><code>cat > isolinux.cfg<< EOF<br />
DEFAULT live<br />
LABEL live<br />
  menu label ^Avvio live cd<br />
  kernel /casper/vmlinuz<br />
  append  boot=casper initrd=/casper/initrd.gz quiet splash --<br />
LABEL check<br />
  menu label ^Controllo difetti sul cd<br />
  kernel /casper/vmlinuz<br />
  append  boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --<br />
LABEL memtest<br />
  menu label ^Test memoria<br />
  kernel /install/memtest<br />
  append -<br />
LABEL hd<br />
  menu label ^Boot dal primo disco rigido<br />
  localboot 0x80<br />
  append -<br />
DISPLAY isolinux.txt<br />
TIMEOUT 300<br />
PROMPT 1<br />
EOF</code></p>
<p>Analizzando rapidamente il file:<br />
ogni blocco definito dalla parola <em>LABEL</em> rappresenta una possibile stringa con cui avviare il sistema operativo, ad ogni relativa voce <em>append</em> si definisce quale comportamento avere.<br />
Il parametro <em>boot=casper</em> e' fondamentale per l'avvio del nostro livecd.<br />
Con <em>DEFAULT</em> si stabilisce quale e' l'avvio predefinito qualora l'utente batta invio o attenda la quantita' di millesecondi espressa dalla variabile <em>TIMEOUT</em>.<br />
DISPLAY informa quale file visualizzare come messaggistica verso l'utente.</p>
<p>Con i passaggi ottenuti fino a qui il cd ora e' in grado di avviarsi e di eseguire la parte live creata nei passaggi precedenti.<br />
Occorre pero' aggiungere le informazioni.<br />
Prima fra questa sono i file di manifest che specificano quali sono i pacchetti installati nel livecd e quali invece quelli che andranno installati sul sistema qualora l'utente decida di installare il contenuto del livecd sul proprio computer attraverso ubiquity.<br />
I due file in questione sono <em>filesystem.manifest</em> e <em>filesystem.manifest-desktop</em>.<br />
Attraverso la serie di comandi qui sotto e' possibile creare questa lista in maniera automatica.<br />
La lista dei pacchetti da escludere qualora si voglia fare una installazione su disco rigido e' definita nella variabile REMOVE.<br />
Qualsiasi nome di pacchetto incluso verra' escluso durante l'installazione.<br />
<code><br />
sudo chroot chroot dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee image/casper/filesystem.manifest<br />
sudo cp -v image/casper/filesystem.manifest{,-desktop}<br />
REMOVE='ubiquity casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4'<br />
for i in $REMOVE<br />
do<br />
        sudo sed -i "/${i}/d" image/casper/filesystem.manifest-desktop<br />
done</code><br />
Altra informazione da aggiungere e' quella della definizione del tipo di cd.<br />
Questo avviene creando il file <em>README.diskdefines</em> nella directory <em>image/</em><br />
Questo un esempio<br />
<code>cat > image/README.diskdefines << EOF<br />
#define DISKNAME  My LiveCD<br />
#define TYPE  binary<br />
#define TYPEbinary  1<br />
#define ARCH  i386<br />
#define ARCHi386  1<br />
#define DISKNUM  1<br />
#define DISKNUM1  1<br />
#define TOTALNUM  0<br />
#define TOTALNUM0  1<br />
EOF</code><br />
Infine, va aggiunto il file md5 necessario per le operazioni di checking dell'integrita' del dato.<br />
<code>sudo -s<br />
(cd image &#038;&#038; find . -type f -print0 | xargs -0 md5sum > md5sum.txt)<br />
exit</code></p>
<p><a name="4"></p>
<h2>Passo 4</h2>
<p></a></p>
<h3>creazione del file immagine, test e masterizzazione del livecd</h3>
<p>Finita le operazioni di configurazione descritti nei passi precedenti si passa alla creazione del file immagine attraverso il tool mkisofs.<br />
<code>IMAGE_NAME="LiveCD"<br />
OUTFILE="livecd.iso"<br />
cd image<br />
sudo mkisofs -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../$OUTFILE .</code></p>
<p>Il file iso creato puo' essere provato con qemu o virtualbox o vmware.<br />
Se il tutto funziona regolarmente allora si puo' procedere alla masterizzazione con <em>cdrecord</em></p>
<p><code>cdrecord -eject livecd.iso</code></p>
<p><strong>Questo documento si rifa' alla pagina:</strong><br />
<a href="https://help.ubuntu.com/community/LiveCDCustomizationFromScratch">https://help.ubuntu.com/community/LiveCDCustomizationFromScratch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://de.straba.us/2008/07/16/howto-creare-un-ubuntu-live-cd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

