# [HOWTO] ppc - Avvio da partizione esterna firewire

## cloc3

Questa piccola guida descrive, in lingua italiana, una cosa che ho imparato navigando il forum:

Come avviare un sistema linux-ppc installato in una partizione esterna con connessione firewire

Innanzitutto, bisogna sapere che il guru del firewire si chiama (nomina homina) fw146, ed è il mattatore di questa fondamentale discussione. Per le domande più difficli, sarà decisamente opportuno rivolgersi a lui.

*** Edit:  :Embarassed:   :Embarassed:   :Embarassed:  Mi accorgo solo ora che il link non era corretto e lo modifico.

 Edit 2 : aggiunta nota al comando mknod.

 Edit 3 : aggiunta nota introduttiva alla sezione 3.

Ora, per avviare linux su mac, serve una piccola partizione di ofboot (con filesystem hfs) e una partizione di root, precedentemente installata (per esempio con chroot). E' arbitrario sistemarle entrambe sul disco esterno, o lasciare lì solo la seconda. In ogni caso, la procedura si articola in tre fasi:

 *Quote:*   

> 
> 
> 1. Predisposizione del file /etc/yaboot.conf;
> 
> 2. Compilazione del kernel;
> ...

 

1. Se desiderate ospitare la partizione di boot su firewire, avrete una difficoltà in più, perchè è necessario introdurre nel file /etc/yaboot.conf un riferimento ad essa. Per trovarlo, dovete navigare la directory /proc/device-tree. Nel mio caso:

```

ls /proc/device-tree//pci\@f4000000/firewire/

#address-cells      class-code   devsel-speed   max-latency  node@00d04b2904088a91/

#size-cells         compatible   interrupts     min-grant    reg

@00d04b2904088a91@  device-id    linux,phandle  name         revision-id

assigned-addresses  device_type  local-guid     node@        vendor-id

```

Di qui si ricava il comando device per /etc/yaboot.conf. Nel thread di fw146, è riportato questo esempio di configurazione:

```

##My bootstrap partition 

boot=/dev/sda6 

## device is tricky part. You have to get this path from the OF promt 

## you can also try to get it from /proc/device-tree if it exists. 

## in my case fw is a predefined device alias. I think it should also be true for 

##the powerbook. You can also try 

##device=fw/node/sbp-2/disk@0: 

device=fw/node@00d04b2a1008b38c/sbp-2@c000/disk@0: 

partition=8 

image=/boot/vmlinux-2.4.21-ben2 

        label=Linux-New 

        root=/dev/sda8 

        read-only 

        initrd=/boot/initrd-2.4.21-ben2.img.gz

```

Sotto , la discussione per l'installazione della partizione di boot sul dispositivo esterno è più dettagliata.

Nel mio caso, che utilizzo la partizione di ofboot originale sul disco rigido principale, il file /etc/yaboot.conf è più semplice:

```

boot=/dev/hda12

ofboot=hd:12

....

image=hd:10,/boot/vmlinux-2.6.7

        label=l7

        root=/dev/sda9

        initrd=hd:10,/boot/linux-2.6.7.img.gz

        sysmap=hd:10,/boot/linux-2.6.7.map

        read-only

```

2. Ora potete ricompilare il kernel,avendo cura di non incorporare quei moduli indispensabili alla fase di avvio.

In /usr/src/linux/.config:

```

CONFIG_EXT3_FS=m

CONFIG_SCSI=m

CONFIG_BLK_DEV_SD=m

CONFIG_IEEE1394=m

CONFIG_IEEE1394_OHCI1394=m

CONFIG_IEEE1394_SBP2=m

```

```
cp -f /root/.config && make mrproper && cp /root.config && make all modules_install

```

Nota: Ho testato con successo i kernel development-sources-2.6.3 e development-sources-2.6.7, mentre il kernel development-sources-2.6.6 mi ha restituito questo errore fatale:

```

if [ -r System.map ]; then /sbin/depmod -ae -F System.map  2.6.6; fi

WARNING: /lib/modules/2.6.6/kernel/fs/ext3/ext3.ko needs unknown symbol clear_pages

```

3. Questa terza parte dell'howto è decisamente obsoleta in molti punti.

Ho collocato qui un howto alterrnativo che affronta in un contesto analogo lo stesso problema.

Finalmente, l'immagine di preavvio. Se non ne avete una già pronta, emergete mkinitrd:

```

gentoo-ppc root # emerge -a mkinitrd

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] sys-apps/mkinitrd-3.5.7

```

```
cd

mkinitrd linux-2.6.7.img.gz 2.6.7 --with=ext3 --with=sd_mod --with=sbp2

mkdir prova

gunzip linux-2.6.7.img.gz

mount -o loop linux-2.6.7.img prova

vi prova/linurc

```

Il file linuxrc deve avere il seguente aspetto:

```

gentoo-ppc root # cat prova/linuxrc

#!/bin/nash

echo "Loading jbd.ko module"

insmod /lib/jbd.ko

echo "Loading ext3.ko module"

insmod /lib/ext3.ko

echo "Loading scsi_mod.ko module"

insmod /lib/scsi_mod.ko

echo "Loading sd_mod.ko module"

insmod /lib/sd_mod.ko

echo "Loading ieee1394.ko module"

insmod /lib/ieee1394.ko

echo "Loading ohci1394.ko module"

insmod /lib/ohci1394.ko

echo "Loading sbp2.ko module"

insmod /lib/sbp2.ko

echo Mounting /proc filesystem

mount -t proc /proc /proc

echo Creating block devices

# Now the fun part

 echo Making sure /dev/sda is present

 echo Sleep for 3 seconds to make sure modules have initialized

 sleep 3

 echo scsi add-single-device 0 0 0 0 > /proc/scsi/scsi

mkdevices /dev

echo Creating root device

#mkrootdev /dev/root

mknod /dev/root b 8 9

echo 0x0100 > /proc/sys/kernel/real-root-dev

echo Mounting root filesystem

mount -o noatime --ro -t ext3 /dev/root /sysroot

pivot_root /sysroot /sysroot/initrd

umount /initrd/proc

```

Notate in particolare la stringa "0 0 0 0" che dichiara l'intenzione di caricare la device su host0/bus0/target0/lun0 e che dipende dalla vostra configurazione hardware.

Un'altra istruzione interessante, come hanno fatto notare in seguito FonderiaDigitale e Jacco, è mknod:

E' importantissimo anche aggiungere il comando "mknod /dev/root b 8 9", commentando #mkrootdev.

I parametri 8 9 rappresentano rispettivamente il major e il minor del nodo su cui deve essere agganciata la partizione di root.

L'8, in linux, rappresenta uno standard associato ai dispositivi di memoria di massa in emulazione scsi, ovvero di tipo/dev/sd*. Quel parametro, quindi, deve essere rigidamente mantenuto così com'è.

Il valore 9, invece, è la posizione relativa della partizione di root sul mio disco esterno, e dipende quindi dalla configurazione immanente. Per esempio, Jacco ha usato il 13.

Ora ricompattate l'immagine di avvio:

```

umount prova

gzip linux-2.6.7.img

cp linux-2.6.7.img /boot

```

Per finire, create una directory initrd nella futura partizione di root:

```

mkdir /mnt/gentoo/initrd

reboot

```

Buona fortuna!

----------

## FonderiaDigitale

interessante. e' esattamente la controparte di quel che ho fatto io con le chiavi usb. la prossima mossa sara' quella di bootare da Compact Flash (bios permettendo).

Due cose  da notare:

- il principio di fondo (creare una immagine initrd che precarica i moduli) e' valido anche per altri bus come usb, ad esempio;

- Non lo spieghi esplicitamente nel tuo howto, ma il device va creato con mknod solo perche nel momento in cui carica non e' caricato ancora il gestore dei device (in gentoo, devfsd o udev) e altrimenti il sistema non potrebbe scrvere sul device.

Bel  thread cmq  :Smile: 

----------

## randomaze

Complimenti, bell'HOWTO.

----------

## DaVe&OpenMOsix

grazie cloc3 per il tuo post, ma mi sono bloccato...   :Sad: 

con che comando devo gestire yaboot?

ybin? mkofboot?

non capisco le differenze, oltre al fatto che mi danno entrambi errore...

ho messo la partizione /boot sul disco esterno /dev/sda1.

ho letto gli altri post, ma mi manca ancora qualcosa da capire...

aiutatemi, per favore...

ciao

DV

----------

## Cerberos86

mkofboot và dato solo la prima volta, per creare una partizione hfs. (sei su un mac vero?)

ybin serve per aggiornare la tua partizione di bootstrap ogni volta che cambi qualcosa su /etc/yaboot.conf. Prova a postare l'errore che ti dà...  :Wink: 

----------

## DaVe&OpenMOsix

ops....  :Embarassed: 

lo stavo facendo fuori dal chroot...

quindi mi leggeva /etc/yaboot.conf del livecd e non quello che ho fatto io...

adesso riavvio e vi dico

ciao[/code]

----------

## DaVe&OpenMOsix

credo di aver fatto un casino... 

```
mkofboot -b /dev/sda
```

mi ha chiesto di fare una partizione di boot hfs ->ok

ma adesso ho solo quella sul disco!!!

ho perso le altre partizioni.   :Sad: 

dentro /dev/sda ho trovato solo yaboot e yaboot.conf

e adesso???   :Rolling Eyes: 

ciao

----------

## cloc3

 *DaVe&OpenMOsix wrote:*   

> credo di aver fatto un casino... 
> 
> ```
> mkofboot -b /dev/sda
> ```
> ...

 

Forse devi proprio ripartire da zero.

La partizione che vuoi cancellare va indicata piuttosto con /dev/sda<n>.

In quel modo dovresti aver ripulito l'intero hard-disk.

Riparti da Cd seguendo da zero il manuale di installazione gentoo.

----------

## Cerberos86

 *DaVe&OpenMOsix wrote:*   

> 
> 
> dentro /dev/sda ho trovato solo yaboot e yaboot.conf
> 
> e adesso???  
> ...

 

E adesso non vorrei trovarmi nella tua situazione.... spiacente ma penso proprio tu debba ricominciare da 0 come ha detto cloc3...  :Rolling Eyes: 

----------

## DaVe&OpenMOsix

non e' tanto grave...   :Sad: 

ero da stage 3

ok ricomincio e vi faccio sapere...

ciao

DaVe

----------

## fedeliallalinea

Aggiunto ai post utilissimi

----------

## DaVe&OpenMOsix

ho ricominciato da zero.

ho trovato il node@... ma non facendo ls /proc/device-tree/ecc. ma guardando il dmesg. infatti nel proc c'è una volta sì e 10 no. mah   :Shocked: 

dopo 

```
mkofboot -b /dev/sda1
```

 credevo che fosse tutto a posto. infatti non ha dato errori. 

ma al riavvio non vedo l'hd esterno   :Sad: 

tengo premuto alt (opzione) ma le periferiche di boot sono solo il disco interno e il cdrom. 

qualche idea?

grazie DaVe 

PS:  *Quote:*   

> Aggiunto ai post utilissimi

 

io direi anche a quelli pericolosissimi...    :Laughing:  ricordate "la cazzata recente che hai fatto con linux"? 

io aggiungerei il  mio mkofboot -b /dev/sda ...

ciao!   :Laughing:  [/quote]

----------

## cloc3

 *fedeliallalinea wrote:*   

> Aggiunto ai post utilissimi

 

Sono un nubbio fortunato.

Ma in questo caso, sarei anche un po' critico.

Infatti, aspetterei volentieri che OpenMosix e Cerberos (sul fronte usb)

abbiano risolto i propri problemi con la partizione di boot esterna. Mi dispiace di non avere la possibilità, per il momento, di provare anche io.

Come spiega Fonderia poco sopra, è in gioco la generalità di questa tecnica.

Infine, da nubbio che non conosce bene l'hardware, ho dei dubbi sulla stessa utilità: nel mio caso, che possiedo un vecchio G3 del '98, la risorsa firewire è pressoché indispensabile, ma per altri, l'utilizzo esclusivo di un sistema completo installato su partizione esterna potrebbe penalizzare le prestazioni.

----------

## DaVe&OpenMOsix

 *Quote:*   

> nfine, da nubbio che non conosce bene l'hardware, ho dei dubbi sulla stessa utilità: nel mio caso, che possiedo un vecchio G3 del '98, la risorsa firewire è pressoché indispensabile, ma per altri, l'utilizzo esclusivo di un sistema completo installato su partizione esterna potrebbe penalizzare le prestazioni.

 

non sono tanto d'accordo.

il canale firewire è da 400Mbps, che dividendo per 8 farebbe una 50MBs che non è poco.

inoltre il sistema che pensavo di usare avrebbe bisogno solo del boot e poco altro, mi servirebbe per fare prove di calcolo scientifico.

Anche FonderiaDigitale, se sta lavorando al boot da flash, non credo che lo farà per installarci kde o openoffice. 

quando hai bootato linux, configurato le periferiche, hai un mondo davanti. infatti adoro le mini distribuzioni!

comunque, tornando al discorso, come si fa a controllare nell'openfirmware se il disco è bootabile o cose del genere? quando parte col disco collegato, macosx dice che ci sarebbe un disco collegato e usabile, ma chiede di reinizializzarlo. 

non so, buh!  :Confused: 

qualche altro lume? comunque grazie a tutti per il supporto!    :Very Happy: 

DaVe

----------

## cloc3

 *DaVe&OpenMOsix wrote:*   

> quando parte col disco collegato, macosx dice che ci sarebbe un disco collegato e usabile, ma chiede di reinizializzarlo. 
> 
> 

 

Effettivamente, quando avevo formattato (anni fa) il mio hard disk. Avevo notato cose strane (ma ero ancora più nubbio di adesso).

Alla fine, avevo deciso di formattare tutto con le utility della Lacie in ambiente MacOs9, anziché con quelle di MacOsX, che mi sembravano troppo partigiane (fingevano di non vedere o di vedere male le cose linux).

Quindi avevo creato una piccola hfs vuota per il boot, e strutturato le partizioni che successivamente sono state riformattate per linux. C'è da tener conto che allora lo sviluppo di linux sul fronte ppc era a ben altro livello.

Capisco che tutto ciò è alchimia di pessima qualità, ma se hai un disco libero e un po' di tempo, il suggerimento sarebbe questo: prova a non utilizzare mkofboot e formatta la partizione da MacOs. Poi incrocia le dita.

----------

## Cerberos86

Infatti sul fronte usb io sono ancora fermo.... Adesso volevo provare ad installare MacOsX sull'hard disk esterno e vedere se lo rende bootabile (e che quindi non sia un limite dell'usb) e poi al limite riformattare le partizioni? vedremo....

X OpenMosix:

Fai delle prove sotto OpenFirmware con la riga di comando.

Tieni premuto Alt+Mela+O+F all'avvio... Poi gioca un po' con i comandi 

```
 

printenv

setenv boot-device ....

setenv boot-file ... 

```

Stai tranquillo non si attiva l'auto distruzione.... Al limite dai 

```

setenv defaults

```

Per ripristinare tutto....

Good Luck   :Wink: 

----------

## cloc3

 *Cerberos86 wrote:*   

> Infatti sul fronte usb io sono ancora fermo.... Adesso volevo provare ad installare MacOsX sull'hard disk esterno e vedere se lo rende bootabile 
> 
> 

 

Prova MacOs9. E' così mal fatto, che ci si accorge subito che la differenza tra una partizione bootabile e una no dipende da uno dei file contenuti nella cartella di sistema. Io sono convinto che OF, per selezionare le partizioni di avvio, legga il contenuto del file system.

*** EDIT:

E poi, guardate un po qui, dove dice:

 *Quote:*   

> A boot driver is written in Forth, then tokenized into FCode and debugged from the interface. This form of driver is used during the earliest stages of the boot process before an operating system is available. Boot drivers are typically display, keyboard, network, and block, but are not limited to these.
> 
> 

 

Forse stracapisco, ma mi sembrerebbe di intuire che, per lOpen Firmware, anche la tastiera è un dispositivo bootabile!?!

----------

## Cerberos86

 *clocc3 wrote:*   

> Prova MacOs9.

 

Dettaglio...non ho Os 9!!!   :Laughing: 

Ho solo i dvd di MacOsX....  :Wink: 

----------

## DaVe&OpenMOsix

 *Quote:*   

> e' così mal fatto, che ci si accorge subito che la differenza tra una partizione bootabile e una no dipende da uno dei file contenuti nella cartella di sistema. Io sono convinto che OF, per selezionare le partizioni di avvio, legga il contenuto del file system. 
> 
> 

 

Sono sicuro che Macos9 facesse esattamente così. qualsiasi disco con una cartella sistema era bootabile. spero che osx non sia così...

dopotutto se metto il livecd di gentoo non c'è mica la cartella sistema...

 *Quote:*   

> 
> 
> Quindi avevo creato una piccola hfs vuota per il boot, e strutturato le partizioni che successivamente sono state riformattate per linux.
> 
> ...
> ...

 

proverò. per quanto riguarda le dita, mi sembra una costante...

USE="+twisted fingers" ... :Laughing: 

ciao

DV

----------

## cloc3

La ho vista!

Voglio ancora capire qualche particolare. Tra qualche giorno le spiegazioni.

----------

## Cerberos86

dai cloc... il traguardo e vicino....  :Wink: 

----------

## DaVe&OpenMOsix

Dai! siamo con te!

aspettiamo con ansia!

ciao

DV

----------

## cloc3

In questa faccenda volevo proprio vederci chiaro. Però temevo di mettere a repentaglio tutti i dati del mio disco rigido, non soltanto l'installazione gentoo.

Ma non avevo scelta. Ho dvuto farlo:

```

cloc3@gentoo-ppc ~ $ esearch fdisk

[ Results for search key : fdisk ]

[ Applications found : 2 ]

*  sys-fs/mac-fdisk

      Latest version available: 0.1-r2

      Latest version installed: [ Not Installed ]

      Size of downloaded files: 72 kB

      Homepage:    ftp://ftp.mklinux.apple.com/pub/Other_Tools/

      Description: Mac/PowerMac disk partitioning utility

      License:     GPL-2

*  sys-fs/amiga-fdisk

      Latest version available: 0.04

      Latest version installed: [ Not Installed ]

      Size of downloaded files: 25 kB

      Homepage:    http://www.freiburg.linux.de/~stepan/projects/

      Description: Amiga disklabel partitioning utility

      License:     LGPL-2

cloc3@gentoo-ppc ~ $ emerge mac-fdisk

```

Alla resa dei conti, non è stato poi traumatico. Sapete che mac-fdisk mi trova simpatico? M fornisce anche i comandi  ?,  p e q. Questo era l'aspetto della mia tabella delle partizioni:

```

gentoo-ppc cloc3 # mac-fdisk /dev/sda

/dev/sda

Command (? for help): p

/dev/sda

        #                    type name                 length   base     ( size )  system

/dev/sda1     Apple_partition_map Apple                    63 @ 1        ( 31.5k)  Partition map

/dev/sda2          Apple_Driver43 Macintosh_SL            128 @ 64       ( 64.0k)  Driver 4.3

/dev/sda3        Apple_Driver_ATA Macintosh_SL            128 @ 192      ( 64.0k)  Unknown

/dev/sda4          Apple_FWDriver Macintosh_SL            224 @ 320      (112.0k)  Unknown

/dev/sda5              Apple_Free Extra                   224 @ 544      (112.0k)  Free space

/dev/sda6               Apple_HFS Mac_OS_X           12000000 @ 768      (  5.7G)  HFS

/dev/sda7               Apple_HFS HFS+               12000000 @ 12000768 (  5.7G)  HFS

/dev/sda8               Apple_HFS MS-DOS             10000000 @ 24000768 (  4.8G)  HFS

/dev/sda9         Apple_UNIX_SVR2 Linux Native       22000000 @ 34000768 ( 10.5G)  Linux native

/dev/sda10        Apple_UNIX_SVR2 Linux ext3          6144000 @ 56000768 (  2.9G)  Linux native

/dev/sda11        Apple_UNIX_SVR2 Linux ext3         15564800 @ 62144768 (  7.4G)  Linux native

/dev/sda12             Apple_Free Extra                430592 @ 77709568 (210.2M)  Free space

Block size=512, Number of Blocks=78140159

DeviceType=0x1, DeviceId=0x1

Drivers-

1: @ 64 for 93, type=0x1

2: @ 192 for 98, type=0x701

```

Terrificante! Una stratificazione calcarea di origine geologica. Solo io ci capsico qualcosa. Ma, meraviglia! Esiste una partizione libera di 210 Mb proprio sul fondo. Proseguo:

```

Command (? for help): b 77709568

Command (? for help): p

/dev/sda

        #                    type name                 length   base     ( size )  system

/dev/sda1     Apple_partition_map Apple                    63 @ 1        ( 31.5k)  Partition map

/dev/sda2          Apple_Driver43 Macintosh_SL            128 @ 64       ( 64.0k)  Driver 4.3

/dev/sda3        Apple_Driver_ATA Macintosh_SL            128 @ 192      ( 64.0k)  Unknown

/dev/sda4          Apple_FWDriver Macintosh_SL            224 @ 320      (112.0k)  Unknown

/dev/sda5              Apple_Free Extra                   224 @ 544      (112.0k)  Free space

/dev/sda6               Apple_HFS Mac_OS_X           12000000 @ 768      (  5.7G)  HFS

/dev/sda7               Apple_HFS HFS+               12000000 @ 12000768 (  5.7G)  HFS

/dev/sda8               Apple_HFS MS-DOS             10000000 @ 24000768 (  4.8G)  HFS

/dev/sda9         Apple_UNIX_SVR2 Linux Native       22000000 @ 34000768 ( 10.5G)  Linux native

/dev/sda10        Apple_UNIX_SVR2 Linux ext3          6144000 @ 56000768 (  2.9G)  Linux native

/dev/sda11        Apple_UNIX_SVR2 Linux ext3         15564800 @ 62144768 (  7.4G)  Linux native

/dev/sda12        Apple_Bootstrap bootstrap              1600 @ 77709568 (800.0k)  NewWorld bootblock

/dev/sda13             Apple_Free Extra                428992 @ 77711168 (209.5M)  Free space

Block size=512, Number of Blocks=78140159

DeviceType=0x1, DeviceId=0x1

Drivers-

1: @ 64 for 93, type=0x1

2: @ 192 for 98, type=0x701

Command (? for help): q

gentoo-ppc cloc3 #

```

Ho riprovato più volte (toccandomi un po' ovunque) e alla fine lo ho usato:  il comando w.

A questo punto, la partzione è stata creata, ma non formattata. OpenFirmware vuole l'hfs. Bisogna usare mkofboot, o forse, si potrebbe provare anche hformat. Prima, però, servono le seguenti modifiche a /etc/yaboot.conf:

```

#boot=/dev/hda12

boot=/dev/sda12

#ofboot=/dev/hda12

ofboot=/dev/sda12

```

```

gentoo-ppc cloc3 # mkofboot

mkofboot: Create hfs filesystem on /dev/sda12? [y/N] y

```

Provando a montare la nuova partizione, ho osservato che veniva riconosciuta automaticamente come hfs e conteneva tutti i file ncessari per l'avvio. Facendo reboot e premendo il tasto alt in avvio, ho subito ottento due icone con il pinguino. Una di esse aveva il simbolo della connessione firewire.  Ma non basta ancora: selezionando quest'ultima con il mouse, ho avviato yaboot, ma appena lanciato linux si è verificato un crash. Quindi ho spento e riavviato con il vecchio yaboot.

Il problema è che l'OpenFirmare non ha ricevuto un path corretto per il dispositivo esterno. Per chiarirmi ho fatto una ricerchina in internet a questo indirizzo:

 *Quote:*   

> 
> 
> http://developer.apple.com/cgi-bin/search.pl?&q=open+firmware&num=10&ie=utf8&oe=utf8&lr=lang_en
> 
> 

 

e consultato le pagine man di ybin, yaboot.conf e mkofboot.

A proposito, la mia è una vecchia versione di openfirmware:

```

gentoo-ppc cloc3 # cat /proc/device-tree/openprom/model

OpenFirmware 3

```

Alla fine ho aggiunto nella sezione globale di /etc/yaboot.conf la seguente riga.

```

device=fw/node@00d04b2a1008b38c/sbp-2@c000/disk@0:

```

ybin -v, reboot ... e adesso posso mettere in tasca il mio lacie e avviare la macchina di mia cugina.

Ooops  :Crying or Very sad:  , mia cugina non possiede un Mac.

Resta solo da capire che cosa non abbia funzionato a Dave e Cerberos.

----------

## Cerberos86

[OT MODE FOR USB ON]

 *cloc3 wrote:*   

> 
> 
> A questo punto, la partzione è stata creata, ma non formattata. OpenFirmware vuole l'hfs. Bisogna usare mkofboot, o forse, si potrebbe provare anche hformat. Prima, però, servono le seguenti modifiche a /etc/yaboot.conf:
> 
> ```
> ...

 

Se io passo questi parametri al mio Yaboot mi dà errore.... Dice che che ofpath non supporta i dischi usb (mi pare che yaboot converta in automatico tutti i path del tipo /dev/hdx in OF path grazie a questo programmino). Prova a dare :

```
ofpath /dev/sda
```

 *cloc3 wrote:*   

> 
> 
> Provando a montare la nuova partizione, ho osservato che veniva riconosciuta automaticamente come hfs e conteneva tutti i file ncessari per l'avvio. Facendo reboot e premendo il tasto alt in avvio, ho subito ottento due icone con il pinguino. 
> 
> 

 

Anche la mia partizione di bootstrap /dev/sda2 è hfs, e contiene i file ofboot.b, yaboot, yaboot.conf. Ma icone all'avvio, niente da fare!

 *cloc3 wrote:*   

> 
> 
> Alla fine ho aggiunto nella sezione globale di /etc/yaboot.conf la seguente riga.
> 
> ```
> ...

 

Il path del device usb è diverso e NON CONTIENE cose del tipo node@xxxxx... Forse sta tutto qui il problema....  :Question: 

[OT MODE FOR USB OFF]

----------

## Cerberos86

Un po' di domande:

-Perchè neanche l'installazione di MacOsX non mi riconosce il disco? Solo perchè non ci sono partizioni hfs o perchè proprio non lo vede?

-Se ti va cloc3, potresti postare le tue variabili Open Firmware boot-device e boot-file ?

Thanks

----------

## cloc3

 *Cerberos86 wrote:*   

> 
> 
> -Se ti va cloc3, potresti postare le tue variabili Open Firmware boot-device e boot-file ?
> 
> 

 

Si che mi va.

boot-device hd:12,\\:tbxi

boot-file è vuota.

Come avrai ormai capito, boot-device determina soltanto il dispositivo di default (nel mio caso yaboot sul disco locale), ma non deve impedirti di partire ugualmente usando il tasto alt.

Nella fase di ricerca del dispostivo di boot, che può essere anche un po' lunga (e qualche rara volta fallisce) dovresti vedere i led spia che segnalano l'attività del disco.

Alla fine, quando ti senti ben sicuro di quello che vedi, puoi chiedere chiarimenti direttamente al produttore del disco o alla Apple. In fondo, a te non parte nemmeno MacOS!

Comunque, fai sapere

----------

## Cerberos86

Il fatto è che non è un Disco USB vero e prorprio, è un box esterno su cui monto gli hard disk che girano per casa....

Il problema di MacOs penso sia solo che non ha partizioni che gustano a lui (hfs).... Più che altro continuo a chiedermi se qualcuno a questo punto è riuscito a fare un boot da una Memory Stick USB su PPC....BOH  :Question: 

E poi il path mi sembra così semplice....

Va beh, mi toccherà formattare l'hd interno.....

----------

## DaVe&OpenMOsix

sento di esserci vicino... ma ancora non va!

allora con mac-fdisk ho fatto:

creazione nuova apple-file table /dev/sda1

nuova apple boot /dev/sda2 (la fa di 800k)

nuova linux /dev/sda3 (30Mb)-> che monterò in /boot

nuova swap linux /dev/sda4 (512Mb)

nuova linux /dev/sda5 (15Gb) per /

nuova linux /dev/sda6 per altri dati

ho messo in yaboot.conf 

boot=/dev/sda2

ofboot=/dev/sda2

device=fw/ecc...

quando do' mkofboot mi crea formatta hfs la /dev/sda2 e  ci mette dentro yaboot e yaboot.conf

la domanda è:

dove metto vmlinux e initrd.img.gz? dentro /dev/sda2 non ci sta (800k!)

allora dentro /dev/sda3 che monto in fstab come /boot.

in yaboot.conf ho:

partition=2 (<=devo riferirlo a /dev/sda2 la boot apple o /dev/sda3 la boot di linux???)

image=/boot/vmlinux

initrd=/boot/initrd....

quando rebootto premendo alt blinka un attimo il led dell'HD ma non lo vedo sullo schermo.

in Open Firmware printenv boot-device mi dà 

/dev/sda2 \\tbx hd:\\tbx

secondo me ci sono vicino...

grazie ragazzi!

ciao

DV

----------

## cloc3

 *DaVe&OpenMOsix wrote:*   

> 
> 
> image=/boot/vmlinux
> 
> initrd=/boot/initrd....
> ...

 

Io per evitare intrighi uso 

```

image=hd:10/boot/vmlinux

```

In questo modo sovrascrivo i default di sistema (che mi pare siano definiti dal parametro device).

```

la domanda è:

dove metto vmlinux e initrd.img.gz? dentro /dev/sda2 non ci sta (800k!)

allora dentro /dev/sda3 che monto in fstab come /boot.

```

Esatto. Su Mac, la /boot directory e la partizione d'avvio sono concetti indipendenti.

Il parametro partition=2 io non lo uso. Al momento non ho tra le mani man yaboot, perché non sono a casa.

Se ti blinka il led e poi si arrende, vuol dire che non riconosce ancora la partizione di avvio. Qualche volta (ma non troppo spesso), può essere sufficiente riavviare, magari spegnendo e riaccendo pure l'hard disk esterno.

Auguri. E sbrigati a bootare, sarebbe ora che questo howto si mostri "utilissimo" a qualcuno.

----------

## DaVe&OpenMOsix

sto ancora sclerando...

ho provato a inizializzare il disco da macosx. ho installato macosx in una partizione per vedere cosa succedeva.

al boot il disco è visibile, e ogni partizione risulta bootabile.

lancio il livecd, mac-fdisk mi dà una situazione del tipo:

/dev/sda1 partition table

/dev/sda2 external bootloader (8,5Mb)

/dev/sda3 21Mb per /boot

/dev/sda4 external bootloader (8,5Mb)

/dev/sda5 swap

/dev/sda6 external bootloader (8,5Mb)

/dev/sda5 per / 15Gb

/dev/sda7 external bootloader (8,5Mb)

/dev/sda8 per macosx 3Gb

/dev/sda9 freespace (8K)

non capisco più niente. adesso c'è una partizione di avvio prima di ogni partizione "avviabile". 

sono in trance  :Shocked: 

cosa faccio?

ho provato un sacco di combinazioni in yaboot.conf ma non ce la faccio più.

ciao

DV

----------

## cloc3

 *DaVe&OpenMOsix wrote:*   

> 
> 
> sono in trance 
> 
> 

 

Prima di tutto calma.

MaOs è partito. Questo dimostra che deve partire anche Linux.

Infatti non esiste alcun impedimeto di tipo hardware.

Mi piace di meno, invece, la scelta di predisporre 142 partizioni di boostrap. Una cosa che noto è che le tue sono di 8,5Mb. E' solo un errore di battitura? A me sono bastati 800k. Non escludo che la dimensione eccessiva possa da sé giustificare il problema.

L'altro possibile errore che riesco a immaginare sta nel parametro device. 

Confronta il parametro che hi scelto tu con quello suggerito da OF e quello estratto da /proc/....

Controlla minuziosamente anche ogni altro dettaglio, per escludere la classica svista catastrofica. Se hai un amico fatti aiutare nel controllo.

Se nulla di questo giova, prova almeno a installare il bootloader sul disco principale, come ha fatto Cerberos. 800k si trovano sicuramente e il rischio di fare danni è minimo. Così riuscirai a guardare il tuo sistema da dentro, anziché dal CD (se non altro, la comodità aiuta il cervello).

Quando hai eliminato tutti i sospetti che potrebbero dipendere da te, significa che c'è un intrigo peggiore e che non è colpa tua (in fondo anche Cerberos ha trovato qualcosa di strano).

Sparata da nubbio: nel mese di gennaio il sito di gentoo pubblicava degli avvisi legati ad alcune difficoltà nell'avvio da CD associata ad alcune incompatibiltà con la nuova versione di OpenFirmware. Da quella volta, ho deciso di non passare per nessun motivo a MacOs10.2.8.

Ma è solo un esempio. Se esiste qualcosa del genere, sarebbe bene capirlo, anche per correggere questo stesso post, che non si merita ancora del tutto la collocazione negli utilissimi.

Ricordati, e fai uso prezioso, di questa riga fondamentale:

 *cloc3 wrote:*   

> 
> 
> Innanzitutto, bisogna sapere che il guru del firewire si chiama (nomina homina) fw146, ed è il mattatore di questa fondamentale discussione. Per le domande più difficli, sarà decisamente opportuno rivolgersi a lui. 
> 
> 

 

----------

## Jacco

Ciao! In collaborazione con silian87 ho installato gentoo 2005.0 su una partizione di CrossFire della SmartDisk fw400.

Nessun problema durante l'installazione. Ma al reboot il computer (un Powerbook G4 15", il primo uscito della serie Aluminium) va in kernel panic   :Shocked: 

Ecco l'errore riscontrato

```
VFS: cannot open root device "sda13" or unknown-block(0,0)

Please append a correct "root=" boot option

Kernel panic - not syncing VFS: unable to mount root fs on unknown-block

<0> Rebooting in 180 seconds... 
```

Ovviamente il live cd di Gentoo vedeva e montava alla perfezione l'hd esterno, pur vedendolo come periferica scsi.

In yaboot.conf ho provato a sostituire la variabile root con sdb13, e sg13, senza alcun risultato.

Altro tentativo fatto: abbiamo copiato il kernel del live cd su quello dell'installazione, per vedere se cambiava qualcosa, ma l'errore è lo stesso...

Questa è la mappa delle partizioni, per quello che può servire

```
#:                type name                    length   base      ( size )

 1: Apple_partition_map Apple                       63 @ 1        

 2:      Apple_Driver43*Macintosh                   56 @ 64       

 3:      Apple_Driver43*Macintosh                   56 @ 120      

 4:    Apple_Driver_ATA*Macintosh                   56 @ 176      

 5:    Apple_Driver_ATA*Macintosh                   56 @ 232      

 6:      Apple_FWDriver Macintosh                  512 @ 288      

 7:  Apple_Driver_IOKit Macintosh                  512 @ 800      

 8:       Apple_Patches Patch Partition            512 @ 1312     

 9:          Apple_Free                         262144 @ 1824      (128.0M)

10:           Apple_HFS Apple_HFS_Untitled_1 258924912 @ 263968    (123.5G)

11:     Apple_Bootstrap bootstrap                 1600 @ 259188880

12:                swap swap                   1048576 @ 259190480 (512.0M)

13:     Apple_UNIX_SVR2 Linux                 30358912 @ 260239056 ( 14.5G)

14:           Apple_HFS Apple_HFS_Untitled_3  21983824 @ 290597968 ( 10.5G)

15:          Apple_Free                             16 @ 312581792

```

Adesso vado a prendermi anche il yaboot.conf e l'fstab e poi ve li posto.

----------

## Jacco

Ed ecco l'fstab

```
# /etc/fstab: static file system information.

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/fstab,v 1.14 2003/10/13 20:03:38 azarah Exp $

#

# noatime turns off atimes for increased performance (atimes normally aren't

# needed; notail increases performance of ReiserFS (at the expense of storage

# efficiency).  It's safe to drop the noatime options if you want and to 

# switch between notail and tail freely.

# <fs>             <mountpoint>    <type>     <opts>            <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/sda13      /      reiserfs   notail         0 0

/dev/sda12      none      swap      sw         0 0

/dev/sda10      /mnt/Dati   hfsplus      defaults      0 0

/dev/sda14      /mnt/SpeedCake   hfsplus      defaults      0 0

/dev/hda3      /mnt/macosx   hfsplus      defaults      0 0

/dev/hdc      /mnt/cdrom   iso9660      noauto,ro,users      0 0

/dev/sdb1      /mnt/usbkey   vfat      noauto,users      0 0

# NOTE: The next line is critical for boot!

none         /proc      proc      defaults      0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for

# POSIX shared memory (shm_open, shm_unlink). 

# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will

#  use almost no memory if not populated with files)

# Adding the following line to /etc/fstab should take care of this:

none         /dev/shm   tmpfs      defaults      0 0

none         /sys      sysfs      defaults      0 0

```

... e yaboot.conf

```
## yaboot.conf generated by yabootconfig 1.0.8

##

## run: "man yaboot.conf" for details. Do not make changes until you have!!

##

## For a dual-boot menu, add one or more of: 

## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

boot=/dev/sda11

device=/pci@f4000000/firewire@e/node@00d0010c0001f5f4/sbp-2/disk@0:

partition=13

root=/dev/sda13

timeout=30

install=/usr/lib/yaboot/yaboot

magicboot=/usr/lib/yaboot/ofboot

image=/boot/vmlinux

   label=Linux

   read-only

```

----------

## cloc3

prova prima a cercare qui  una soluzione.

----------

## Jacco

Però... Carino il tuo tutorial... C'è solo un piccolo problema...

Quando dici di inserire la riga "mknod /dev/roor b 8 9", gli integer 8, 9 da dove saltano fuori? Se ho capito bene, rappresentano un maggiore e minore.

L'errore, e il conseguente kernel panic, adesso, dice più o meno che non si riesce a trovare un /dev/sda9 valido con reiserfs... Effettivamente su sda9 non c'è uno straca**o di reiserfs  :Razz: 

Il mio root device è /dev/sda13...

----------

## silian87

Si effettivamente sono 3 giorni che ci proviamo.... credo che l'errore sia proprio dovuto a quel mknod....

----------

## cloc3

 *Jacco wrote:*   

> C'è solo un piccolo problema...
> 
> Quando dici di inserire la riga "mknod /dev/roor b 8 9", gli integer 8, 9 da dove saltano fuori? Se ho capito bene, rappresentano un maggiore e minore.
> 
> 

 

l'8 è un major associato a dispositivi di tipo /dev/sd*, ed è uno standard per linux. Quindi non lo devi cambiare, mentre il 9 è un minor arbitrario.

Forse per te va bene 13.

D'altra parte, questi valori si dovrebbero leggere direttamente con un semplice:

```

s939 linux # ls -l /dev/sd*

brw-rw----  1 root disk 8,  0 Aug  5 05:05 /dev/sda

brw-rw----  1 root disk 8, 16 Aug  5 05:05 /dev/sdb

```

Fate sapere. Se il vostro problema fosse questo, sarebbe il caso di spiegare esplicitamente la cosa nell'howto.

@ mod

Gentilmente, sarebbe di fare il merge di questo thread, perché è utile che tutte le esperienze associate a questo howto siano riportate in un'unica sequenza.  :Smile: 

----------

## Jacco

Dunque, con b 8 13 l'errore è il seguente

```
mount: error 6 mounting reiserfs

pivotroot: pivot_root (/sysroot,/sysroot/initrd) failed: 2

unount /initrd/proc failed: 2

Freeing unused kernel memory: 168k init 4k chrp 32k prep

Kernel panic  - not syncing: No init found. Try passing init= option to kernel

Rebooting etc. etc...
```

Mi sembra già un passetto avanti...

----------

## randomaze

 *cloc3 wrote:*   

> Gentilmente, sarebbe di fare il merge di questo thread, perché è utile che tutte le esperienze associate a questo howto siano riportate in un'unica sequenza. 

 

Done.  :Cool: 

----------

## cloc3

 *Jacco wrote:*   

> Dunque, con b 8 13 l'errore è il seguente
> 
> 

 

Per me il tuo è un errore noto.

Fu randomaze a darmi la soluzione.

----------

## Jacco

Quindi dovrei aggiungere init=/bin/sh a yaboot.conf?

----------

## cloc3

 *Jacco wrote:*   

> Quindi dovrei aggiungere init=/bin/sh a yaboot.conf?

 

No.

Compilare il driver per reiserfs come modulo e inserirlo nell'initrd.

Infatti, se hai messo reiserfs builtin, il driver sarà utilizzabile solo al momento di caricare il kernel. Cioè troppo tardi.

Se invece hai semplicemente omesso di inserire il modulo, o di comandare il modprobe nel linuxrc (al posto del mio ext3) ...

----------

## silian87

Guarda cloc3 che noi abbiamo messo reiserfs come modulo, ed sostituito reiserfs quando abbiamo dato il ocmando mkinitrd. Noi stiamo chiedendo di quel benedetto mknod che vogliono dire i numeri, perche' pare che il problema sia quello.

EDIT: ho visto ora che non e' quello, sorry. cmq abbiamo messo i moduli reiserfs ... strano.

----------

## cloc3

 *silian87 wrote:*   

> 
> 
> EDIT: ho visto ora che non e' quello, sorry. cmq abbiamo messo i moduli reiserfs ... strano.

 

Provate a copiare i file /bin/lsmod /lib/tls/libc.so /lib/ld-linux.so in /initrd/lib e aggiungete un comando lsmod dopo il caricamento del modulo reiserfs, per verifica.

Il messaggio di errore mi sembra chiaro, e per ora non riesco a pensare una causa diversa che lo possa generare.

A proposito: dopo avere editato linuxrc, avete cura di smontare l'immagine dell'initrd, prima di ricompattarla?

 *Quote:*   

> 
> 
> umount prova
> 
> gzip  linux-2.6.7.img
> ...

 

Gulp. Vedo adesso un errore marchiano in un passo precedente:

 *Quote:*   

> 
> 
> mount -o loop linux-2.6.7.img prova
> 
> e non semplicemente:
> ...

 

Correggerò appena avete finito, aggiungendo anche una nota di chiarificazione su mknod.

----------

## silian87

Abbiamo smontato ogni volta l'immagine, perche' probabilmente mi ero accorto della mancanza di "prova". Cmq io /initrd ce l'ho vuoita ora come ora..... cioe' dico, andrebbe messo qualocosaltro?

Adesso egli e' via, pero' torna lunedi', ed allora proviamo, grazie.  :Very Happy: 

----------

## cloc3

 *silian87 wrote:*   

> Cmq io /initrd ce l'ho vuoita ora come ora..... cioe' dico, andrebbe messo qualocosaltro?
> 
> 

 

Non so se ho capito cosa intendi.

/initrd è una cartella di appoggio che viene usata durante la fase boot.

Dopo, il suo contenuto può essere uguale a quello del file initrd usato in avvio. Oppure può essere vuota, se è stato eseguito un unmount.

Io avevo suggerito un test per verificare se, prima del mount, il modulo reiserfs è veramente caricato. 

Se ne possono pensare degli altri.

Comunque, credo che ormai ci siete. Basta un po' di attenzione ad eventuali errori.

----------

## Jacco

Risolto il problema! Avevamo effettivamente commesso un errore nel linuxrc...  :Embarassed: 

Grazie dell'aiuto cloc! Ci e' stato fondamentale!!

Mi pare di aver capito che l'installazione di Gentoo su Firewire non sia generalmente cosÃ¬ semplice... Che non sia il caso di divulgare il tuo tutorialino anche in altre lingue, magari corredandolo di qualche spiegazione per i piu' niubbi come il sottoscritto?  :Wink: 

----------

## cloc3

 *Jacco wrote:*   

> Che non sia il caso di divulgare il tuo tutorialino anche in altre lingue, magari corredandolo di qualche spiegazione per i piu' niubbi come il sottoscritto? 

 

In realtà, il mio lavoro è ampiamente mututato da quello di fw146 che ho linkato sopra.

Anche se, in effetti, la visilibiltà della soluzione in quel thread non è ideale.

In ogni caso, non me la sento di affrontare io lo sforzo di una traduzione, perché sono abituato a leggere l'inglese, per le mie necessità personali, ma non a scriverlo.

Invece, se ti sembra utile qualche integrazione sulla versione italiana, fai le tue proposte. Guarda anche le due righe nuove sul mknod, che scrivo adesso.

----------

