giovedì 16 agosto 2012

Due CrunchBang e un pennino

Visto che in estate c'è molto caldo e non si ha voglia di fare nulla, solitamente i linari si dedicano a discutere, e possibilmente a litigare, su quale distro sia migliore, se sia più bella Gnome o Kde o addirittura Unity, etc. etc. etc.

Noi poveri utenti di Debian, che invece non abbiamo bisogno né di fare rollbacks, né di tirare il freno a mano, poiché la nostra distro, ancorché vecchia, si pone come un monumento aere perennius, preferiamo dedicarci allo studio della documentazione, al fine di imparare qualcosa di nuovo e di utile.

In questo piccolo HowTo, vi spiegheremo come crearci un pennino bootable, contenente due Lives, una a 32 bit ed una a 64 bit, di CrunchBang 11 "Waldorf", che, per inciso, è l'unica derivata di Debian che a mio modesto avviso vale la pena di installare al posto della madre! ;)

Questa piccola guida vi fornirà, o almeno lo spero, un modello che vi consentirà, mutatis mutandis, di crearvi analoghi pennini bootables con altre distro linux.
Quindi, buona lettura e, come al solito, Happy Debian!

Prolegomena

Prima di procedere oltre, precisiamo che questa guida indicherà due metodi alternativi, l'uno basato su grub2 e sulla sua possibilità di avviare iso salvate in locale, e l'altro basato su syslinux. A voi la scelta del metodo da seguire!

Gli unici prerequisiti sono pertanto:
  • disporre di un sistema con grub2 e/o syslinux installati
  • disporre di un pennino di almeno due giga, comunque in grado di contenere almeno due iso CD
AVVERTENZA: Con entrambi i metodi ancora non funzionano le procedure di installazione. Per essere più precisi, l'installazione si avvia, ma, in entrambi i casi, si pianta al momento della ricerca del CD-Rom, non riuscendo a trovarlo e quindi a montarlo. Stiamo ancora lavorando per risolvere, se possibile, questo problema, ma si accettano consigli e suggerimenti da tutti i lettori.

AVVERTENZA: Non sembra purtroppo possibile far sì che entrambe le live siano installabili, almeno attualmente. Saremo pertanto costretti a scegliere volta per volta quale rendere installabile, ma passare dall'una all'altra sarà sempre possibile e relativamente facile. Questa possibilità è stata per ora testata solo con syslinux, ma a breve faremo tests con grub2. Stay tuned!

Metodo 1: GRUB2

La prima cosa da fare è formattare un pennino di congrua dimensione in FAT32; per semplificarci la vita, consiglio altresì di etichettarlo con il nome waldorf. Per questa operazione, possiamo utilizzare un qualunque programma, anche sotto Windows.

Il passo successivo sarà inserire il pc su un sistema linux che usi grub2 ed individuare il device con il solito comando
sudo ls -l /dev/disk/by-id/*usb*
Nel seguito, considereremo il pennino riconosciuto come /dev/sdb; se nel vostro pc dovesse risultare una lettera diversa, modificherete di conseguenza le mie indicazioni.

Installiamo dunque grub2 su detto pennino:
sudo grub-install --force --no-floppy --root-directory=/media/waldorf /dev/sdb
Oltre alla lettera di /dev/sdb, verificate anche che il percorso /media/waldorf sia corretto, e, in caso contrario, modificatelo di conseguenza.

Ora, non dobbiamo fare altro che scaricare le due iso di Crunchbang 11 "Waldorf" e copiarle nella root del pennino stesso. Attenzione a seguire il link in fondo alla frase Testing images for CrunchBang 11 "Waldorf" are available now!

Quindi
cd /media/waldorf/boot/grub
gedit grub.cfg
e copiateci dentro
set timeout=10
set default=0

menuentry "CrunchBang 11 Waldorf i386 Live" {
 set isofile="/crunchbang-11-20120806-i686.iso"
 loopback loop $isofile
 linux (loop)/live/vmlinuz iso-scan/filename=/crunchbang-11-20120806-i686.iso toram=filesystem.squashfs findiso=$isofile boot=live config quiet --
 initrd (loop)/live/initrd.img
}

menuentry "CrunchBang 11 Waldorf amd64 Live" {
 set isofile="/crunchbang-11-20120806-amd64.iso"
 loopback loop $isofile
 linux (loop)/live/vmlinuz iso-scan/filename=/crunchbang-11-20120806-amd64.iso toram=filesystem.squashfs findiso=$isofile boot=live config quiet --
 initrd (loop)/live/initrd.img
}

menuentry "CrunchBang 11 Waldorf Graphical Install 32bit" {
 set isofile="/crunchbang-11-20120806-i686.iso"
 loopback loop $isofile
 linux (loop)/install/gtk/vmlinuz iso-scan/filename=/crunchbang-11-20120806-i686.iso toram=filesystem.squashfs findiso=$isofile video=vesa:ywrap,mtrr vga=788 quiet file=/install/crunchbang.cfg
 initrd (loop)/install/gtk/initrd.gz
}

menuentry "CrunchBang 11 Waldorf Graphical Install 64bit" {
 set isofile="/crunchbang-11-20120806-amd64.iso"
 loopback loop $isofile
 linux (loop)/install/gtk/vmlinuz iso-scan/filename=/crunchbang-11-20120806-amd64.iso toram=filesystem.squashfs findiso=$isofile video=vesa:ywrap,mtrr vga=788 quiet file=/install/crunchbang.cfg
 initrd (loop)/install/gtk/initrd.gz
}

menuentry "CrunchBang 11 Waldorf Textual Install 32bit" {
 set isofile="/crunchbang-11-20120806-i686.iso"
 loopback loop $isofile
 linux (loop)/install/vmlinuz iso-scan/filename=/crunchbang-11-20120806-i686.iso toram=filesystem.squashfs findiso=$isofile vga=normal quiet file=/install/crunchbang.cfg
 initrd (loop)/install/initrd.gz
}

menuentry "CrunchBang 11 Waldorf Textual Install 64bit" {
 set isofile="/crunchbang-11-20120806-amd64.iso"
 loopback loop $isofile
 linux (loop)/install/vmlinuz iso-scan/filename=/crunchbang-11-20120806-amd64.iso toram=filesystem.squashfs findiso=$isofile vga=normal quiet file=/install/crunchbang.cfg
 initrd (loop)/install/initrd.gz
}
salvate e chiudete: il pennino è pronto!

Ovviamente, quando usciranno nuove versioni di CrunchBang Waldorf, non dovrete far altro che sostituire le iso e cambiare il nome dei files nel suddetto grub.cfg.

Metodo 2: SYSLINUX

In questo caso è altamente raccomandato di formattare un pennino di congrua dimensione in FAT16. Per semplificarci la vita, consiglio anche ora di etichettarlo con il nome waldorf. Per questa operazione, possiamo utilizzare un qualunque programma, anche sotto Windows.

Identificato, tramite il solito comando
sudo ls -l /dev/disk/by-id/*usb*
il device del pennino (nell'esempio, lo chiameremo /dev/sdb), passiamo ad installare syslinux sullo stesso:
syslinux -i /dev/sdb1
dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdb
sudo parted /dev/sdb set 1 boot on
Il secondo comando serve solo a flaggare come bootable il nostro pennino, ma, se lo preferiamo, possiamo ottenere lo stesso risultato con un più comodo programma grafico.

Il passo successivo sarà scompattare le nostre iso nel pennino. Consiglio di crearci prima due cartelle, denominate, rispettivamente, crunch32 e crunch64. A questo punto, scompatteremo UNA DELLE DUE ISO direttamente sulla root del pennino, mentre l'altra la scompattermo nella corrispondente cartella: quella della root sarà quella installabile!
Nella nostra guida, ipotizzeremo che avrete prescelto la versione a 32 bit, ma naturalmente in qualunque momento potremo passare alla 64 bit spostando le varie cartelle (ATTENZIONE: C'È ANCHE UNA CARTELLA NASTOSTA!) e modificando il file di cui parleremo subito.

Infine, creiamo nella root del nostro pennino un file syslinux.cfg, con il seguente contenuto:
default /isolinux/vesamenu.c32
prompt 0
timeout 00

menu title #! CrunchBang 11 Waldorf 32/64 Bit
menu background /isolinux/splash.png
menu color title * #d8d8d8ff *
menu color border * #d8d8d8ff #00000000 none
menu color sel  * #00000000 #d8d8d8ff *
menu color unsel * #d8d8d8ff #00000000 *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help  37;40 #ffdddd00 #00000000 none
menu vshift 12
menu rows 10
menu helpmsgrow 15
# The command line must be at least one line from the bottom.
menu cmdlinerow 16
menu timeoutrow 16
menu tabmsgrow 18
menu tabmsg Press ENTER to boot or TAB to edit a menu entry


label live32
    menu label Live Session 32Bit
    kernel /live/vmlinuz
    append initrd=/live/initrd.img boot=live live-media-path=/live config quiet

label livefailsafe32
    menu label Live Session (safe) 32Bit
    kernel /live/vmlinuz
    append initrd=/live/initrd.img boot=live live-media-path=/live config noapic noapm nodma nomce nolapic nomodeset nosmp vga=normal


label installgui32
    menu label Graphical Install 32Bit
    kernel /install/gtk/vmlinuz
    append initrd=/install/gtk/initrd.gz video=vesa:ywrap,mtrr vga=788 quiet file=/cdrom/install/crunchbang.cfg file=/cdrom/install/crunchbang.cfg

label install32
    menu label Text Install 32Bit
    kernel /install/vmlinuz
    append initrd=/install/initrd.gz vga=normal quiet file=/cdrom/install/crunchbang.cfg file=/cdrom/install/crunchbang.cfg

label memtest32
    menu label Memory Test 32bit
    kernel /live/memtest


## SE VOLETE INSTALLARE LA 64 BIT, TOGLIETE IN QUANTO SEGUE /crunc64
## ED AGGIUNGETE /crunch32 NEI CORRISPONDENTI LUOGHI DI QUANTO PRECEDE,
## PREVIO SPOSTAMENTO DI FILES E CARTELLE

label live64
    menu label Live Session 64bit
    kernel /crunch64/live/vmlinuz
    append initrd=/crunch64/live/initrd.img boot=live live-media-path=/crunch64/live config quiet

label livefailsafe64
    menu label Live Session (safe) 64bit
    kernel /crunch64/live/vmlinuz
    append initrd=/crunch64/live/initrd.img boot=live live-media-path=/crunch64/live config noapic noapm nodma nomce nolapic nomodeset nosmp vga=normal


label installgui64
    menu label Graphical Install 64bit
    kernel /crunch64/install/gtk/vmlinuz
    append initrd=/crunch64/install/gtk/initrd.gz video=vesa:ywrap,mtrr vga=788 quiet live-media-path=/crunch64/live file=/cdrom/install/crunchbang.cfg

label install64
    menu label Text Install 64bit
    kernel /crunch64/install/vmlinuz
    append initrd=/crunch64/install/initrd.gz vga=normal quiet live-media-path=/crunch64/live file=/cdrom/install/crunchbang.cfg


label memtest64
    menu label Memory Test 64bit
    kernel /crunch64/live/memtest

label Exit
localboot -1
That's all! ;)

---------------------------------
by Doc, last modified 16 August 2012
Many thanks are due to Bob V. and IsaacSchemm, who gave me many useful tips for understanding the functioning of Syslinux.
Powered by Bluefish

1 commento:

  1. Ottima guida, appena rientreró dalle ferie faró un pó di test ;-)

    RispondiElimina

EDIT 30/12/2017: abbiamo deciso di chiudere i commenti ma lasciare le guide intatte.

Nota. Solo i membri di questo blog possono postare un commento.