Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[HowTo] Multiboot con Isolinux
#1
Obiettivo: creare un cd o un dvd multiboot per avviare sistemi linux e windows, in versione live ed installer.

[Immagine: mubo01.jpg]


Bootloader di partenza
: Isolinux [ http://syslinux.zytor.com/wiki/index.php/ISOLINUX ]. E' compatibile con Linux e col windows i386, i suoi pregi stanno nel "no emulation mode" e soprattutto nelle varie opzioni che possono permetterci di lavorare con le varie iso 'smontate'.

A. Creare l'ambiente base
Aa. Creare il menu
B. Integrare una distro linux
C. Integrare l'installazione di windows XP/2000
D. Integrare un livexp
E. Parte finale
F. Esempi...
G. Multiboot CD per il recovery "Miscela #1"
H. Note & fonti



A. Creare l'ambiente base
1) Innanzitutto, bisogna creare la cartella dove lavoreremo. In questo howto sarà "C:\Miscela\": essa conterrà tutti quei file da cui poi creeremo l'iso e corrisponderà alla root del cd.
2) Collegati a http://www.kernel.org/pub/linux/utils/boot/syslinux/ e scarica lo zip di syslinux (qui si utilizza la versione 3.82).
3) Crea nella cartella C:\Miscela\ una cartella chiamata boot. E all'interno di quest'ultima una cartella chiamata isolinux. Così avremo: C:\Miscela\boot\isolinux
4) all'interno della cartella 'isolinux' estrai dallo zip di syslinux i seguenti file: vesamenu.c32, chain.c32, memdisk, memtest86, isolinux.bin
5) all'interno della cartella 'isolinux' crea un file .txt (per ora vuoto) e rinominalo isolinux.cfg ; i file .cfg li editeremo utilizzando il blocco note


Aa. Creare il menu
1) Decidiamo quali sistemi vogliamo integrare. Una volta decisi e verificato di non superare la capacità del CD o del DVD che utilizzeremo, si può partire a creare il menu.
2) Per quanto riguarda l'avvio delle varie distro ne riparliamo dopo segnatamente per linux o windows. Qui invece spieghiamo come creare menu e sottomenu & come personalizzare.
3) In sostanza, il menu di partenza, quello che verrà avviato all'avvio del cd, è isolinux.cfg ; possiamo scegliere di creare un solo menu e avviare tutto da lì, oppure creare dei sottomenu dai quali potere scegliere le varie opzioni. Qui prendiamo la seconda strada, ovviamente.
4) Struttura di partenza per isolinux.cfg :
Codice:
DEFAULT /boot/isolinux/vesamenu.c32    (questo rimane fisso)
MENU INCLUDE /boot/isolinux/protocollo.cfg    (questo inserirà personalizzazioni di colore; vedi dopo)
(questa sarà l'intestazione di tutti i nostri menu)
LABEL pmagic     (questo è il label del comando)
    MENU LABEL ^01 Parted Magic     (questo è ciò che apparirà nel menu come voce da selezionare)
    MENU DEFAULT    (imposta la voce selezionata di default, quella che scatta allo scadere del timeout)
    KERNEL /boot/isolinux/vesamenu.c32    (il soft di kernel, quello che indica la via ai processi del so che avvierete)    
    APPEND /boot/isolinux/pmagic.cfg    (le varie istruzioni)
In questo caso, stiamo reindirizzando il menu ad un altro submenu, che consiste in pmagic.cfg ; è ovvio che così facendo possiamo creare una struttura di menu articolata a piacere.
5) Creiamo un altro file .txt e rinominiamolo: protocollo.cfg ; qui inseriremo le impostazioni di colore e l'immagine di sfondo:
Codice:
PROMPT 0
TIMEOUT 300     (il tempo d'attesa per selezionare la voce di default)
TOTALTIMEOUT 450     (il tempo TOTALE d'attesa per selezionare la voce di default)####
MENU BACKGROUND /boot/isolinux/verme.png     (potete selezionare l'immagine di sfondo... rigorosamente 640x480)
MENU TITLE Miscela
MENU COLOR title        1;36;44    #ff0000ff   #00000000   std     (lumi)
MENU COLOR unsel        37;44      #ff0000ff   #00000000   std
MENU COLOR sel          7;37;40    #c0ffffff   #ff000000   std
MENU COLOR hotkey       1;37;44    #ffff0000   #00000000   std
MENU COLOR hotsel       1;7;37;40  #ff00ff00   #ff000000   all
6) La struttura è compiuta. (Nel caso in cui la vogliate testare, leggere prima E.4 ed E.5). Per quanto vogliate suddividere, ovviamente ad un certo punto arriverete a dovere creare le voci di lancio diretto delle varie iso... per la configurazione di esse, ce ne occupiamo subito qua sotto.

B. Integrare una distro linux
1) scompattiamo l'iso della nostra distro in una cartella a caso, utilizzando 7zip, winrar, ultraiso o vattelapesca.
2) dobbiamo giungere a configurare la voce di menu dal quale lanciare la distro:
Codice:
LABEL
    MENU LABEL
    KERNEL
    APPEND
3) Label e Menu label rivestono un'importanza secondaria. L'importante è trovare il file di kernel e le istruzioni di append. Si tratta di supporre e sperimentare, ma il punto di partenza è ovviamente il menu isolinux della distro stessa... basandosi linux quasi sempre su isolinux... A volte però, come nel caso di DamnSmallLinux, è necessario operare delle suddivisioni:
--- creiamo una cartella chiamata 'dsl' in C:\Miscela\boot\ . Avremo C:\Miscela\boot\dsl
--- inseriamoci dalla iso di damnsmall i file 'linux24' e 'minirt24.gz'
--- creiamo una cartella chiamata 'dsl' in C:\Miscela\ . Avremo C:\Miscela\dsl
--- inseriamoci dalla iso il file di 'knoppix'
4) per costringere damnsmall a cooperare, editiamo la voce di menu così:
Codice:
LABEL dsl
    MENU LABEL ^01 Damn Small
    KERNEL /boot/dsl/linux24     (è il kernel)
    APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/dsl/minirt24.gz dma acpi nomce noapic quiet knoppix_dir=dsl BOOT_IMAGE=knoppix
Allora, notiamo 'knoppix_dir=dsl' e 'BOOT_IMAGE=knoppix', ho segnalato a damnsmall dove trovare la sua immagine di boot 'knoppix' su cui esso si basa. Ecco un esempio di suddivisione. Quanto all'initrd, sta per "initial ramdisk".
5) il procedimento NON è lo stesso per tutte le distro di questo mondo: per alcune ci vorrà molto meno, per alcune di più. L'unica è ingegnarsi e sperimentare. Ma la relativa semplicità di isolinux permette di intuire spesso la via giusta.

C. Integrare l'installazione di windows XP/2000
[ IN RIFACIMENTO ]

D. Integrare un livexp
1) Copia l'intero contenuto del tuo cd Live nella root del cd multiboot
2) se hai ancora la cartella del programma con cui hai costruito la iso, dovresti trovarci un bootsect.bin; mettilo nella root del cd multiboot; è quello con cui avvierai la LiveXP
3) nel caso tu utilizzi una winbuilder, o simili, noterai che il file BOOT della LiveXP non può essere copiato perché nel cd multiboot hai già un "boot" (anche se è una cartella); rinomina il file BOOT della LiveXP come vuoi, sempre rimanendo su 4 caratteri; poi vai all'interno della cartella i386 che hai copiato nella root principale dal cd di livexp... apri il file TXTSETUP.SIF... sotto [SourceDisksNames.x86], troverai 1="Boot Disk","\BOOT",,\i386... modifica quel parametro \BOOT in \****, cioè il nome con cui hai rinominato il file BOOT della LiveXP... voilà...
4) per avviare la LiveXP dal menu
Codice:
LABEL live
    MENU LABEL ^LiveXP
    KERNEL \bootsect.bin
*) integrare più di una live? che bisogno ne avete? cmq comingsoon.

E. Parte finale
1) Dobbiamo creare una iso dal contenuto di C:\Miscela\ . Lo dobbiamo fare con un programma (tipo UltraIso, in questo forum segnalato da Devil_Code) che ci consente di creare cd bootable, cioè avviabili.
2) Inseriamo il contenuto di C:\Miscela\ nel layout di Ultraiso.
3) andiamo a cercare in boot/isolinux/ il file isolinux.bin. Selezioniamolo, clicchiamo sull'icona con l'ingranaggio ed esso sarà il file che verrà avviato al boot del cd.
4) ATTENZIONE: alcune distro non funzioneranno inspiegabilmente. Perché? State attenti che isolinux supporta lo standard ISO9660... ergo, sempre se usate Ultraiso, andate sul menu File > Proprietà e, nelle varie sezioni di "Formato dei nomi", selezionato le spunte "esteso": almeno 31 caratteri sono consigliati.
5) Per sicurezza ho inserito il nome 'protocollocollo.cfg' in questa guida che supera il default di 8 caratteri di nomefile + 3 di estensione... Se non riuscite a visualizzare l'immagine di sfondo, potrebbe essere proprio per questo problema.

F. Esempi...
Parted Magic fino a 512mb:
Codice:
KERNEL /PMagic/bzImage
APPEND noapic initrd=/PMagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw loglevel=0 sleep=10 vga=791 livemedia noeject keymap=us
Parted Magic con 64mb di ram:
Codice:
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=10 lowram livemedia noeject nogpm nolvm nonfs nofstabdaemon nosmart noacpid nodmeventd nohal loglevel=0 xvesa keymap=us
RIPlinux, versione grafica, 32bit:
Codice:
KERNEL /boot/rip/kernel32
    APPEND vga=normal xlogin initrd=/rip/rootfs.cgz subdir=/rip root=/dev/ram0 rw
SystemRescue CD, verbose (->grafica), ultime versioni:
Codice:
KERNEL /boot/srcd/rescuecd
APPEND initrd=/boot/srcd/initram.igz init=/linuxrc vga=791 looptype=squashfs subdir=srcd loop=sysrcd.dat setkmap=us cdroot splash=silent
...

G. Multiboot CD per il recovery "Miscela #1"
Coming soon. Un cd da 700-600mb comprensivo di alcune distro-linux per partizionare, recoverare file e simili.

H. Note & fonti
http://www.msfn.org/board/index.php?showtopic=94398
http://syslinux.zytor.com/wiki/index.php/ISOLINUX
http://flyakite.msfn.org/
E le varie distro linux...

Big Grin
Cita messaggio
#2
Ciao..
Secondo me è ben presentata e dettagliata_
L'hai testata???
Hai qualche Screen da mostrare??
Comunque vediamo cosa ne pensa il 'Supremo' HwNL.... :whis:
Cita messaggio
#3
Certo che l'ho testata; anche perché molte cose le ho dedotte col metodo sbatti-la-capoccia-&-impara :mrgreen:
Ecco uno screenshot della finestra del mio multiboot personale:
[url][Immagine: b3e27deef4f837f3055de89639b4b8ed2g.jpg][/url]
Cita messaggio
#4
Perfetto!!! :great:
Quindi aspettiamo 'riscontri' da altri Utenti.... :mrgreen:
Cita messaggio
#5
Ottimo! aggiungo l'immagine in prima! Big Grin
Cita messaggio
#6
perchè non lo posti questo cd??
sarebbe molto utile a tutti Big Grin
Cita messaggio
#7
*+beh..
se non lo ha fatto da più di un'anno dalla presentazione,credo che non lo faccia più.... :roll:
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)