Con fingerprint F1EE 8DF1 79F1 098B A008 7230 C826 53F3 B4C5 3EE8 il suo ID quindi sarà B4C53EE8.
Fatte le nostre premesse, create la vostra partizione, e scaricate la iso del DVD della vostra versione di SUSE preferita. Per semplicità, la considererò disponibile nella vostra home, ed inoltre andremo a montare la partizione di ripristino sul punto di mount /recovery .
Procediamo quindi a copiare il contenuto del dvd sulla partizione:
-password di root-
mount -o loop openSUSE-11.1-DVD-i586.iso /mnt
mount /dev/sda1 /recovery
cp -R /mnt/* /recovery/
di fatto abbiamo montato la iso in /mnt , la partizione in /recovery e poi abbiamo copiato l'intero contenuto del dvd nella partizione.
Adesso dobbiamo modificare il file di configurazione di grub, ovvero /boot/grub/menu.lst. Con diritti di amministratore, aprite questo file ad aggiungete le seguenti righe:
title Ripristino Sistema
root (hd0,0)
kernel /boot/i386/loader/linux root=/dev/disk/by-id/ata-WDC_WD1600BEVT-22ZCT0_WD-WXE808J2J391-part1 splash=silent showopts vga=0x314 install=hd:///dev/sda1 autoyast=device://sda1/conf.xml language=it_IT keymap=it
initrd =/boot/i386/loader/initrd
###Don't change this comment - YaST2 identifier: Original name: Recovery###
title Ripara Sistema
root (hd0,0)
kernel /boot/i386/loader/linux root=/dev/disk/by-id/ata-WDC_WD1600BEVT-22ZCT0_WD-WXE808J2J391-part1 splash=silent showopts vga=0x314 install=hd:///dev/sda1 language=it_IT keymap=it repair=1
initrd =/boot/i386/loader/initrd
In questo modo andremo a creare in grub due nuove voci. La prima, a lavoro finito, ci permetterà di avviare l'autoinstallazione automatica tramite autoyast, (rimuovendo la parte autoyast=device://sda1/conf.xml, parte l'installazione standard come se fossimo su DVD). La seconda, invece, ci permette da subito, di avviare lo strumento di riparazione del dvd, dato che abbiamo il dvd sul nostro HD, perchè non sfruttarne tutte le potenzialità?
ma vediamo di spiegare queste linee:
Grub inizia a numerare da 0, quindi hd0,0 vuol dire la prima partizione sul primo disco. hd0,1 invece sarebbe la seconda partizione sul primo disco e così via.
install=hd:///dev/sda1
Indica a linuxrc, dove cercare i file necessari per avviare il sistema di installazione
autoyast=device://sda1/conf.xml
Indica di avviare autoYaST ed il percorso del file di configurazione, da notare che "/dev" non è presente.
language=it_IT keymap=it
Permetto di selezionare lingua e mappatura della tastiera in italiano
repair=1
Indica a linuxrc di avviare lo strumento di riparazione invece di quello di installazione
per tutte le altre informazioni potete fare riferimento ai manuali di grub.
Anche se tramite autoYaST è possibile aggiungere repository personalizzati disponibili in rete, io sono partito dall'idea che non sempre è disponibile la rete quindi la scelta migliore è quella di creare un repository locale con tutti i pacchetti necessari, nel caso di un netbook, magari, potreste voler inserire tutti i pacchetti dei drivers aggiuntivi. Per fare ciò avrete bisogno di installare il pacchetto createrepo ed il seguente script:
#!/bin/sh
# unpackInitrd 0.1
# uwe.gansert@suse.de
#
# usage: unpackInitrd [PATH_TO_ROOTIMAGE]
INITRD=$1 || "./initrd"
if [ ! -s $INITRD ]; then
echo "can't find $INITRD"
exit -1
fi
cp -a $INITRD /tmp/initrd.gz
gzip -dc /tmp/initrd.gz >/tmp/initrd.img
mkdir /tmp/work-initrd
cd /tmp/work-initrd
cpio -i < /tmp/initrd.img
echo "# initrd is in /tmp/work-initrd"
echo "cd /tmp/work-initrd"
Adesso che avete tutto quello che vi server procedete come segue:
1) nella cartella /recovery (dove è montata la partizione di ripristino) create la cartella updates
2) se la iso utilizzata è di suse <= 11.0 allora create il file add_on_products con il seguente contenuto:
hd:///updates?device=/dev/sda1
2a) se usate suse 11.1 create il file add_on_products.xml con questo contenuto:
Perfetto! Adesso entrate nella cartella updates e ricreate la seguente struttura:
|-updates
| |--i586
| |--noarch
| |--x86_64
all'interno delle varie cartelle dovrete mettere i vostri rpm per architettura, ad esempio, lrpm acerfand-0.04-8.2.noarch.rpm va nella cartella noarch mentre dmidecode-2.10-6.2.i586.rpm andrà nella cartella i586. Nel caso una o più cartelle siano vuote, potete tranquillamente cancellarle.
adesso da dentro la cartella updates date il seguente comando:
per terminare date i seguenti comandi:
cd repodata
gpg --export --armor $KEY_ID > repomd.xml.key
gpg -b --sign --armor repomd.xml
dove al posto di $KEY_ID dovete mettere l'ID della vostra chiave gpg, nel mio caso come detto è B4C53EE8 quindi il primo comando diventerebbe gpg --export --armor B4C53EE8 > repomd.xml.key
adesso continuiamo con i seguenti comandi
sha1sum add_on_products.xml > SHA1SUMS
oppure se usate la iso di suse <= 11.0
gpg -b --sign --armor SHA1SUMS
ls > directory.yast
fatto questo, dobbiamo aggiungere la nostra chiave pubblica al file initrd, faremo questo grazie allo script di prima che chiameremo unpackInitrd
ammesso che lo script sia nella nostra home, daremo il seguente comando
cd /tmp/work-initrd
gpg --export --armor $KEY_ID > my-key.gpg
find . | cpio -H newc -o > /tmp/initrd
gzip /tmp/initrd
mv /tmp/initrd.gz /recovery/boot/i386/loader/initrd
Ed adesso il grosso del lavoro è fatto, provate a riavviare ed a scegliere una delle due voci che abbiamo aggiunto a GRUB, con la prima in particolare, partirà il sistema di installazione e noterete che caricherà prima il repo "DVD" poi quello "updates" che abbiamo aggiunto. (consiglio di cancellare momentaneamente da grub stesso, la parte riguardante "autoyast", non essendoci ancora il profilo, ricevereste un errore).
Bene signori, adesso si potrà parlare solo a grandi linee, ognuno di voi potrà (e dovrà) personalizzare il proprio profilo.
Prima di tutto abbiamo bisogni di installare il pacchetto autoyast2, altro non sarebbe che un modulo di yast per creare in maniera assistita il vostro profilo. Una volta fatto, aprite YaST --> Varie --> Installazione automatica e create il vostro profilo, potete usare la funzione "clona" per copiare le vostre impostazioni dal vostro sistema. Vedrete anche, che è possibile importare dei file di configurazione, ripeto comunque che qui la scelta è vostra, di più non posso fare.
Per avere tutte le informazioni necessarie su come creare un profilo di autoYaST potete sempre fare riferimento a questa pagina: http://www.suse.de/~ug/
Ricordate che YaST vi permette di validare il vostro file di configurazione, quindi apprifittatene.
Una volta fatto, salvatelo in /recovery/conf.xml e godetevi la vostra autoinstallazione. Non preoccupatevi, avete sempre l'opportunita di apportare modifiche prima di far partire l'installazione vera e propria.
Fonti e risorse varie:
http://www.suse.de/~ug/
http://ugansert.blogspot.com/
http://www.suse.de/~ug/autoyast_doc/index.html
Adesso dovete solo divertirvi
Andrea il vostro Pacchettizzatore di fiducia