Creare una Pen Drive USB bootabile con openSUSE 11.0 (Ottima per Eee Pc e netbook)


Per tutti i possessori di netbook, nonchè amanti di openSUSE, questo articolo potrebbe rivelarsi davvero utile in quanto vedremo come installare openSUSE 11.0 senza l’ausilio di un lettore CD esterno.
Per l’esattezza la versione di openSUSE in oggetto è la 11.0; per la sua installazione ricorreremo a una Pen Drive che, dopo aver apportato le dovute modifiche, si comporterà come un vero e proprio DVD.
Il primo passo da compiere è quello di effettuare il download della versione Gnome o KDE che è possibile reperire da questo indirizzo.
E’ consigliabile optare per una versione Live visto e considerato che, utilizzandola su Eee Pc ci affideremo ai repository sia per le future installazione di software aggiuntivo che per eventuali aggiornamenti.

Il secondo passo è quello di procurarsi una Pen Drive di almeno 2gb. Il dispositivo va opportumamente trattato equipaggiandolo di filesystem FAT32. Trovate utili informazioni su come gestire queste operazioni in questo articolo.

Occorre specificare che questa guida è da utilizzare nel caso in cui si desideri installare openSUSE 11.0 senza avere l’opportunità di utilizzare un lettore CD esterno.

Appunto per questo aggireremo l’ostacolo "riponendo le nostre speranze" su una Penna USB. Apportando alcune modifiche all’immagine ISO è infatti possibile utilizzare una periferica USB esterna per l’installazione.

La guida che andrò a esporvi è divisa in 2 parti: nella prima parte vedremo come preparare l’immagine in modo tale che il sistema in fase di installazione non richieda la presenza del DVD, la seconda consiste nella copia dei files all’interno del dispositivo USB.

Questo articolo ha la particolarità di poter essere utilizzato senza dover minimamente intervenire sui comandi (copia/incolla); le uniche 2 variabili riguardano la posizione e il nome dell’immgine ISO e il device in cui verrà collegata la vostra Pen Drive.

 

Prima parte

Innanzitutto occorre installare syslinux: aprire una console e digitare:

sudo zypper in syslinux

A questo punto è necessario, dopo aver provveduto a creare una partizione FAT32, inserire la Pen Drive nell’apposita porta USB.

syslinux /dev/sdc1

(In cui /dev/sdc1 corrisponde alla partizione della penna usb.)

Passiamo alla creazione delle directory che utilizzeremo per montare l’immagine ISO e per svolgere le altre operazioni. Da terminale  digitare:

mkdir -p /work/unpacked
cd work

Per la creazione delle directory successive necessitano i privilegi di amministrazione ragion per cui dopo averli ottenuti digitare:

mkdir /mnt/iso
mkdir /mnt/squash
mkdir /mnt/usb

Montare l’immagine ISO e proseguire impartendo i comandi che vi vengono suggeriti:

mount -o loop openSUSE-11.0-KDE4-LiveCD-i386.iso /mnt/iso/
cd unpacked
gzip -dc /mnt/iso/boot/i386/loader/initrd | cpio -i
mount -o loop /mnt/iso/openSUSE-*read-only.* /mnt/squash/
cp /mnt/squash/lib/modules/*/kernel/fs/nls/nls_cp437.ko lib/modules/*/kernel/fs/nls/
cp /mnt/squash/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko lib/modules/*/kernel/fs/nls/
cp -r /mnt/squash/lib/modules/*/kernel/fs/vfat lib/modules/*/kernel/fs/
cp -r /mnt/squash/lib/modules/*/kernel/fs/fat lib/modules/*/kernel/fs/

Fatto ciò occorre modificare il files include. Editare il file con il vostro editor preferito; nel mio caso kwrite:

kwrite include

Questa operazione è di vitale importanza infatti, modificando come indicato il file include, il sistema in fase di installazione non andrà a cercare il DVD. Per fare ciò è necessario cercare la così definita "function CDDevice" e sostituire il codice che la definisce con questo:

function CDDevice {
# /.../
# changed this function so that it finds config.isoclient on vfat disks, e.g. USB drives
# ----
find /lib/modules/*/kernel/fs/nls/nls* -exec insmod {} \; # needed for vfat filesystem
find /lib/modules/*/kernel/fs/*fat/*.ko -exec insmod {} \; # needed for vfat filesystem
insmod /lib/modules/*/kernel/drivers/usb/storage/usb-storage.ko # needed for USB
sleep 5 # fixme; do this in a proper way
cddevs=`/usr/sbin/hwinfo --disk | grep sd | grep "Device File:" | cut -f2 -d: | cut -f2 -d " "` # looks for disks instead of CDs
echo cddevs $cddevs
for i in $cddevs;do
i=$i"1" # fixme; looks on the first partition only
echo i $i
if [ -b $i ];then
test -z $cddev && cddev=$i || cddev=$cddev:$i
echo cddev $cddev
fi
done
if [ -z $cddev ]; then
systemException \
“Failed to detect CD drive !” \
“reboot”
fi
}

Salvare i cambiamente e provvedere alla creazione del initrd che chiameremo initrdud. Da console impartire il seguente comando:

find . | cpio -o -H newc | gzip -9 > ../initrdud

 

Seconda Parte

Torniamo alla nostra Pen Drive. Generalmente il sistema monta tale dispositivo su /media/disk (o qualcosa di simile). Per comodità, e per seguire con tranquillità il resto dell’articolo smontare la periferica e provvedere a rimontarla nel punto di mount creato precedentemente:

mount /dev/sdc1 /mnt/usb/

Copiare tutti i files dell’immagine ISO nella Pen Drive:

cp -r /mnt/iso/* /mnt/usb/

Copiare il contenuto della directory /boot/i386/loader/ nella penna usb:

cp -r /mnt/iso/boot/i386/loader/* /mnt/usb/

Rinominare il file isolinux.cfg in syslinux.cfg:

mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg

E’ arrivato il momento di copiare il file initrdud, oggetto delle modifiche precedenti, all’interno del dispositivo USB:

cp ../initrdud /mnt/usb/

Editare il file syslinux.cfg:

kwrite /mnt/usb/syslinux.cfg

Per mettere in condizione il sistema di avviarsi facendo riferimento al file initrdud occorre modificare la riga:

append initrd=initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts

in

append initrd=initrdud kiwidebug=1 ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts

Smontare il dispositivo USB:

umount /mnt/usb

E’ tempo di verifiche; se tutto il procedimento descritto è stato seguito correttamente saremo finalmente in grado di equipaggiare il nostro netbook con la versione 11.0 di openSUSE.

Questo articolo non è tutta farina del mio sacco, ma visto e considerato che l’articolo originale da per scontato molti passaggi ho deciso di svilupparla e renderla più semplice. Spero di essere riuscito nell’intento.

 

Articoli correlati:

, ,

Segnala questo articolo: Queste icone linkano i siti di social bookmarking sui quali i lettori possono condividere e trovare nuove pagine web.
  • Facebook
  • del.icio.us
  • Digg
  • Reddit
  • StumbleUpon
  • Technorati
  • OKnotizie
  • Google Bookmarks
  • TwitThis
  • Upnews
  • Segnalo

  1. #1 by Massimo on 15 novembre 2008

    Questo mi servirà proprio per il mio prossimo acquisto (MSI Wind U100)

  2. #2 by gigigno on 15 novembre 2008

    bravissimo, fatto questo poi bisogna intervenire anche postinstallazione?

  3. #3 by Crismon on 15 novembre 2008

    Si per aggiustare alcune cosette… come:

    1- sistemare la risoluzione;
    2- installare i driver per la scheda di rete
    3- sistemare le funzionalità dei tasti funzione
    4- ridurre la scrittura su disco
    e altre ancora.

    Tutte operazioni di facile esecuzione.

  4. #4 by gigigno on 15 novembre 2008

    hai intenzione di proporre una guida per la post-installazione, se si attendo.

  5. #5 by Crismon on 15 novembre 2008

    Le sto scrivendo la prima sarà pubblicata domattina ;)

  6. #6 by Vincenzo on 12 giugno 2009

    Salve,
    premetto che ho lasciato un commento analogo ma ho sbagliato posizione.
    Il procedimento descritto sopra vale anche per opensuse11.1 o c'è qualche differenza?

  7. #7 by Crismon on 12 giugno 2009

    Non credo ci siano differenze anche se devo essere sincero e ammettere che non mi è servita in quanto per la 11.1 ho optato per la LiveUSB.
    Se vuoi prendere in esame la possibilità LiveUSB trovi materiale utile a questo indirizzo

  8. #8 by Vincenzo on 13 giugno 2009

    Ho seguito questo procedimento, per la11.1 e per la 11.0
    il risultato è lo stesso tuttavia qualche tempo fa usando questo procedimento riuscii a costruire una pen drive bootabile live per un amico.
    Adesso che serve a me non riesco più.
    mi dice ad un certo punto mi dice:——-> mounting live boot drive………………….
    quando mi da la risposta mi dice:———> Couldn't find Live image configuration file.
    poi dice:———>ShellException: Providing shell
    dopo mi mostra: (none):/ #

    Ho provato a lanciare il check installation media (presente sulla 11.1)
    questo è il riultato dopo 6 check positivi:
    ———>waiting for cd/dvd ( da programma deve passare avanti perché non ci sono)
    ———>waiting for usb device (che deve trovare)
    ———>failed to detect cd/dvd or usb devices.

    dove ho sbagliato?
    ciao a presto

  9. #9 by Vincenzo on 13 giugno 2009

    Caro Crismon,
    Grazie per il tuo interessamento ho risolto seguendo la procedura sopra descritta solo per quanto concerne opensuse11.1 alla fine e necessario rinominare il file config.gnome.isolinux in config.isolinux perché durante la copiatura sul supporto non si porta dietro alcuni link. Naturalmente per chi kde si regola di conseguenza.
    ciao

  10. #10 by Crismon on 13 giugno 2009

    Ciao Vincenzo, bene così!! Quindi la procedura è valida anche per la 11.1 a patti di rinominare il file config.gnome/kde.isolinux in config.isolinux?

  11. #11 by Vincenzo on 14 giugno 2009

    Si è proprio così che ho risolto i problemi.

    Adesso purtroppo ne ho altri perché il mio hp 2133 è equipaggiato con scheda grafica via vn896 ho istallato il driver e xorg ma ho un problema di frame buffer quindi non riesco a cambiare la risoluzione. Indirizzami se hai conoscenze in riguardo.
    ciao

  12. #12 by francesco on 16 dicembre 2009

    Ciao! Sto provando ad installare con iltuo metodo la 11.2

    Ho seguito tutti i passaggi, ma arrivato al passaggio

    “mount -o loop /mnt/iso/openSUSE-*read-only.* /mnt/squash/” mi viene restituito questo errore: “mount:specificare il tipo di filesystem”

    Soluzioni??
    Complimenti per la guida.

  13. #13 by Crismon on 16 dicembre 2009

    Ciao Francesco, per la 11.2 ti consiglio di effettuare il download della versione LiveCD e di creare la pennetta USB con il comando “dd”. E' più semplice ed immediato. ;)

  1. Ancora nessun trackback

I commenti sono chiusi.

blog comments powered by Disqus