Debian Boot · 7 min read · Oct 30, 2025
Avviare Debian da un'unità firewire esterna su PowerPc Mac.
Utilizzando l’installer beta Debian Etch ppc e un kernel senza initrd.
ATTENZIONE!
Questa pagina ha bisogno di feedback, attualmente “Funziona per me”.
Preso dalla mia pagina delle risorse debian
Introduzione
Giocare con un processo di avvio è una questione delicata anche su un Mac.
Nota che l’installer Debian fallirà a un certo punto durante la procedura.
Non offro alcuna garanzia e non mi assumo alcuna responsabilità per eventuali perdite o danni che potrebbero essere causati al tuo hardware, software o dati.
Ci sono altri modi per avviare Linux da un’unità firewire esterna documentati altrove su internet. Vedi la sezione Risorse.
Aggiungere o rimuovere periferiche come chiavette usb, fotocamere digitali, altri HD esterni, cdrom ecc., o installare/rimuovere devfs, udev e cose simili potrebbe alterare il modo in cui Linux vede l’unità firewire, ti consiglio di familiarizzare con la fornitura di opzioni di avvio a yaboot durante il processo di avvio. Vedi le pagine man di yaboot e yaboot.conf.
Requisiti
- Un Macintosh che può avviarsi da dischi firewire esterni e che può avviare Debian utilizzando yaboot. Se hai davvero bisogno di esserne sicuro, prova a installare OSX sul disco firewire, tieni premuto il tasto opzione durante il riavvio per vedere se appare. Il mio powerbook con avvio firewire è piuttosto vecchio, era il top di gamma nel 2001, quindi i Mac più recenti dovrebbero andare bene.
- Familiarità con la riga di comando di linux, il manuale di installazione di debian e con la compilazione del kernel per le versioni 2.6.xxxxx del kernel. Ci sono molte risorse al riguardo su internet e su Howtoforge. Vedi anche il manuale di riferimento ufficiale di Debian (che non è proprio aggiornato, però).
- Una versione recente dell’installer debian. Deve essere in grado di riconoscere l’unità firewire esterna per partizionare e installare su di essa. L’installer Debian Sarge non era abbastanza recente per me, quindi ti consiglio di ottenere una beta dell’installer debian da debian.org. Ho usato la versione basata su testo.
- La seguente procedura richiede la compilazione di un kernel Debian personalizzato, quindi è necessario un ambiente di costruzione Linux Powerpc funzionante. Nessun problema se hai già installato linux, complicato se è la tua prima installazione di debian sulla macchina. (Forse una distribuzione live cd come ubuntu può permetterti di compilare un kernel e impacchettarlo per debian?). Non ho problemi a offrire un pacchetto kernel .deb che funziona per il mio Titanium Powerbook seconda serie (vedi Risorse). Probabilmente non funzionerà con altri modelli di Macintosh, inclusi i Titaniums più recenti (forse avviare in runlevel 1 funziona?), e NON consiglio di scaricare e installare binari (SPECIFICAMENTE IL KERNEL) ottenuti da fonti non affidabili - come questo sito :-)
Passo 1: Configurazione del kernel
Ho usato linux-2.6.14.2 dagli archivi ufficiali kernel.org. Qualsiasi versione stabile successiva del kernel dovrebbe funzionare. Mi è stato detto di evitare versioni precedenti poiché il supporto firewire è difettoso per trasferimenti di file di grandi dimensioni. SUGGERIMENTO: ricorda di utilizzare un .config noto per funzionare sulla tua macchina.
Quando configuri il kernel (cioè con “make menuconfig”), disabilita l’opzione Supporto RAM disk (trovata in Device Drivers -> Block devices).
Le opzioni di configurazione che devono essere compilate, cioè abilitate ma NON contrassegnate come moduli:
- Device Drivers -> Supporto Dispositivi SCSI: - supporto dispositivi SCSI
- supporto disco SCSI
- supporto generico SCSI
- supporto SCSI esterno e interno Powermac (tra i driver SCSI a basso livello)
- Device Drivers -> supporto IEEE1394 (Firewire): - supporto I/O Raw IEEE1394
- supporto OHCI-1394
- supporto SBP-2 Inoltre i driver necessari per la tua scheda firewire, se presenti. Ho abilitato anche i seguenti, forse non necessari: - Database OUI
- Configurazione extra integrata
- Voce IP-1394
- File Systems: il supporto per il filesystem che verrà utilizzato sull’unità firewire, (uso XFS), deve essere compilato. Altri possono essere mantenuti come moduli.
Il kernel risultante non utilizzerà initrd, quindi non utilizzare l’opzione –initrd quando emetti il comando make-kpkg.
Otterrai un’immagine del kernel impacchettata come archivio .deb.
Passo 2: Installazione parziale di Debian
Avvia dal cd dell’installer debian e procedi con l’installazione. Non è realmente necessario selezionare l’opzione esperto. A volte l’installer non riconosce l’unità firewire. Prova ad annullare e riavviare un paio di volte prima di arrenderti.
Ti consiglio di utilizzare il metodo di partizionamento manuale HD, per essere sicuro di cosa sta succedendo. Sono necessarie almeno una partizione di avvio e una per il filesystem radice sull’unità firewire. Annota il numero di partizione che hai scelto per l’avvio e quello per il filesystem radice.
SUGGERIMENTO: assicurati che le partizioni di cui hai bisogno si trovino nell’unità firewire, se vuoi che la tua installazione sia indipendente dal tuo HD interno! Dovrai contrassegnare le partizioni di swap e avvio del tuo HD interno come non utilizzate.
Il passo di installazione Installa yaboot su un disco rigido fallirà con uno schermo rosso. Scegli di Tornare indietro al menu di installazione e scegli di Continuare senza un boot loader. L’installer mostrerà il nome della partizione del filesystem radice nella forma /dev/sd Xn dove X è una lettera, n un numero. Annotati la lettera, il numero è identico a quello del numero della partizione radice.
Alla notifica Installazione completata, scegli di Tornare indietro al menu di installazione e Eseguire una shell.
Passo 3: Copiare il kernel .deb e personalizzare yaboot.conf
La partizione radice della tua installazione parziale di Debian è montata su /target. Copia il kernel .deb che hai compilato su /target. Devi creare una directory e montare il filesystem contenente il tuo kernel su di essa. Nota che la directory /dev dell’installer Debian può avere una struttura molto diversa da quella a cui sei abituato. Ad esempio, montando la quarta partizione del mio disco ide interno e copiando il .deb da lì:
# mkdir /mnt
# mount /dev/ide/host0/bus0/target1/lun0/part4 /mnt
# cp /mnt/usr/src/kernel-image-2.6.14.2_1_powerpc.deb /mntYaboot ha bisogno di conoscere il “percorso Open Firmware” per l’unità firewire, che può essere ottenuto con:
# echo /proc/device-tree/pci*/firewire*/node*/sbp-2*
/proc/device-tree/pci@f4000000/firewire@e/node@0010b9210040ad70/sbp-2@c000Abbiamo anche bisogno del “numero maggiore e minore” della partizione radice, che è attualmente montata su /target:
# mount
...
/dev/scsi/host0/bus0/target1/lun0/part3 on /target type ...
...
# ls -l /dev/scsi/host0/bus0/target1/lun0/part3
brw------- 1 root root 8, 3 Jan 1 1970 /dev/scsi/...Ho sottolineato rispettivamente il numero maggiore e minore. Ora è il momento di preparare un file /etc/yaboot.conf. Modificalo usando nano.
# nano /target/etc/yaboot.confLe cose che devono essere personalizzate sono sottolineate nel seguente esempio. Suppongo che l’indentazione corretta sia importante, le righe dopo l’immagine sono indentate con una singola tabulazione.
boot=/dev/sd a7
ofboot= /pci@f4000000/firewire@e/node@0010b9210040ad70/sbp-2@c000/disk@0:7
device= /pci@f4000000/firewire@e/node@0010b9210040ad70/sbp-2@c000/disk@0:3
partition= 3
delay=15
timeout=100
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
image=/boot/vmlinux
label=Linux
read-only
root= 8:3
append="rootdelay=12"boot= deve essere seguito da /dev/sdXn, X deve essere sostituito dalla lettera che hai annotato in precedenza e n dal numero della partizione di avvio.
ofboot= deve essere seguito dal percorso Open Firmware, che inizia con /pci… e termina con …/disk@0:n dove n è, ancora una volta, il numero della partizione di avvio.
device= è simile a ofboot ma l’ultimo numero è quello della partizione del filesystem radice, che deve essere messo anche dopo partition=.
root= deve essere seguito dai numeri maggiore e minore che hai annotato in precedenza, separati da due punti.
L’opzione di ritardo radice fa sì che il sistema attenda affinché l’unità firewire possa essere vista dal kernel. Inoltre, potresti voler aggiungere/mantenere alcune opzioni del bootloader per avviare dalle tue altre partizioni linux/macos/osX.
Passo 4: Installazione del kernel e del bootloader.
Questo viene fatto chrootando in /target:
# chroot /target
# dpkg -i kernel-image-2.6.xxxxx_powerpc.deb
...
Hmmm...
Hmmm...
...
# ybin
#Infine, esci da chroot e poi dalla shell con ctrl-d o il comando exit, e termina l’installazione. L’installer riavvierà il sistema.
Passo finale: vedi cosa succede.
Se tutto va bene, selezionando (l)inux al prompt del bootloader e premendo invio nella seconda fase avvierà debian e il sistema continuerà con la fase finale di installazione. A volte un kernel correttamente configurato impiega troppo tempo per riconoscere l’unità e hai un kernel panic. Prova a ripristinare e riavviare di nuovo prima di arrenderti. Il kernel potrebbe andare in panic perché non riesce davvero a trovare root, o Open Firmware potrebbe non vedere la partizione: ciò significa che devi ripristinare il sistema, riprovando con diversi parametri di avvio forniti a yaboot, o tenere premuto il tasto opzione per riavviare da cd o altre partizioni. Nota che per apportare modifiche a yaboot.conf devi come: entrare nell’installer debian in modalità esperto, arrivare alla fase in cui l’unità firewire viene riconosciuta, eseguire una shell, montare la partizione radice del filesystem, correggere yaboot.conf, chroot nella partizione radice del filesystem e eseguire di nuovo ybin. Buona fortuna.
Suggerimento: contrassegna la tua immagine del kernel come non aggiornabile
Gli aggiornamenti di Debian potrebbero voler installare una versione più recente dell’immagine del kernel invece del kernel personalizzato. Questa è una cattiva idea. Vedi come mettere i pacchetti in attesa nella documentazione di debian.
Feedback, Commenti
Fammi sapere se questa pagina ti è stata utile, scrivimi a: dllm70-boborosso at yahoo.com o commenta l’articolo.
Risorse
I miei file - se hai bisogno di ulteriori dettagli o ispirazione per la tua configurazione:
- Il mio own.config per la versione 2.6.14.2 del kernel.
- Il mio file yaboot.conf.
- Inviami un’email se hai davvero davvero bisogno dell’intero kernel.
Altre pagine che trattano l’avvio firewire esterno per Linux:
- Articolo completo di IBM Developerworks per un’installazione del kernel initrd su linux, non è specifico per mac: http://www-128.ibm.com/developerworks/linux/library/l-fireboot.html
- Gentoo - (Ho preso tutti gli suggerimenti importanti da questa pagina):
http://hansmi.ch/articles/boot-linux-from-firewire - Ubuntu - http://ubuntuforums.org/showthread.php?t=29837
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.