Installez Ubuntu sur votre disque FW!!

Lupin sansei

Membre actif
18 Août 2002
506
9
Bonjour, je me suis quand même bien enquiquiné pour faire ce tuto :mouais: pour installer Ubuntu sur un disque FW alors il n'y a pas de raison de qu'il n'y ai que les p'tits gars de MacBid qui en profitent. A macG aussi! même si ce sont les mêmes...:siffle:
Beaucoup d'entre vous aimeraient essayer linux mais sans avoir à toucher à OS X, ni rien réinstaller. Le disque externe firewire est l'idéal. Par chance, l'installateur de cette distribution reconnait les disques FW :), mais yaboot ne sait pas s'installer automatiquement sur le disque FW, rendant le boot impossible :rateau:. Il y a également un autre problème: le noyau fournit par défaut ne permet pas de boot sur un disque externe.

Voici l'objectif fixé: installer Ubuntu sur une disque firewire.
Les problèmes à résoudre sont:
1) paramètrer et installer yaboot comme il faut
2) remplacer le noyau original par un noyau compilé maison

L'oprération n'est pas difficile mais peut être un peu complexe :mouais:. Les expériences de chacuns seront les bienvenues pour trouver la méthode qui marche à tous les coups. Pour ma part, j'ai réussi mais j'ai un peu triché à un moment...:siffle:

Procédons
1) Il faut dans un premier temps, installez Ext2fs pour bricoler dans les partitions linux.
Ensuite, on entre dans le vif du sujet avec une tache un peu ingrate. Il faut aller chercher le chemin du disque FW dans l'openFirmware.
2) Redémarrez et faite pomme+alt+O+F jusqu'à prompt >. Taper la commande
Bloc de code:
 dev / ls
attention le clavier est en qwerty (Ôh joie! un des petits plaisirs de l'informatique :sick: )

il faut repérer votre disque firewire dans ce qui est un arborescence. Son chemin contient normalement firewire@... et disk. Ne pas confondre avec le chemin du disque interne. Ce chemin est spécifique à chaque config. Le mien était
Bloc de code:
 /pci@f4000000/firewire@e/node@0030e000e2000c99/sbp-2@c000/disk@0
que du bonheur....:rolleyes: mais biensur, vous verrez que ça ne s'affiche pas d'un seule ligne mais plutôt du genre:
Bloc de code:
 blabla
 blabla
 /pci@f4000000/
 			firewire@e/
 				    node@0030e000e2000c99/ 
 							    sbp-2@c000/disk@0 
 blablabla

Il faut bien noter et vérifier. Il est interdit de se tromper sinon ça ne bootera jamais! ensuite un petit
Bloc de code:
 reset-all
pour rebooter la machine

3) étape suivante, pas la plus dur: Installer normalement Ubuntu sur votre disque firwire et aller jusqu'au bout du processus. L'ordinateur reboote et retournez sous OSX.

4) Grace à Extfs, la partition de votre disque FW linux va monter sur le bureau. joie! Maintenant, on opère: on remplace le noyau, les modules et l'image de démarrage initrd.img.
Je vous mache un peu le travail puisque je vous fournie un nouveau noyau et ces modules et une image initrd.img tous neufs, compilés maison :king:. Ils ne sont pas parfaits, mais ça fera l'affaire en attendant que vous recompliez tous ça selon vos besoins.

-->Le paquet cadeau, 16Mo<--
Contient le noyau, les modules, l'image initrd et un fichier System.map dont j'ai jamais bien compris l'utilité :nailbiting:.
Le d/l peut être assez lent. Excusez moi.

Désarchivez. glissez-déposez vmlinuxnew, newinitrd.img dans le répertoire /boot du disque FW. Faites de même avec le répertoire 2.6.8.1 dans /lib/modules

5) changez le proprio de ces 3 fichiers/dossiers
pour chacun
Bloc de code:
 sudo chown -R root:root le_fichier_ou_dossier

6) il faut maintenant modifier le fichier /etc/fstab.
Changez les références au disque dur interne hda par les refs au disque externe sda dans la majorité des cas. Adaptez selon votre config. Changez au besoin les numéros des partitions aussi.

par exemple, fstab dans mon linux disque interne, c'est
Bloc de code:
 # /etc/fstab: static file system information.
 #
 # <file system> <mount point>   <type>  <options>	   <dump>  <pass>
 proc		    /proc		   proc    defaults	    0	   0
 /dev/hda5	   /			   ext3	defaults,errors=remount-ro 0	   1
 /dev/hda7	/usr	    ext3	defaults	0	1
 /dev/hda4	   none		    swap    sw			  0	   0
 /dev/hdc	    /media/cdrom0   udf,iso9660 ro,user,noauto  0	   0

sur mon disque externe, ça donne:

Bloc de code:
 # /etc/fstab: static file system information.
 #
 # <file system> <mount point>   <type>  <options>	   <dump>  <pass>
 proc		    /proc		   proc    defaults	    0	   0
 /dev/sda3	   /			   ext3	defaults,errors=remount-ro 0	   1
 /dev/sda4	   none		    swap    sw			  0	   0
 /dev/hdc	    /media/cdrom0   udf,iso9660 ro,user,noauto  0	   0

Si je n'ai rien oublié, on est pret pour le boot de vérité. Mais yaboot ne fonctionne toujours pas.
on va devoir faire un CD pour le boot avec yaboot dessus et permettant de booter le disque FW.

7) Il vous faut encore qques fichiers et une recette:
Dans le finder, créez un repertoir, peu importe le nom. Dans ce répertoire, créez un autre répertoire que l'on nommera "boot". Dans ce répertoire placez-y les fichiers (à télécharger) ofboot.b, le binaire yaboot, yaboot.conf et boot.msg

Vous devez modifier yaboot.conf de façon à permettre le boot sur le disque FW de votre configuration. Les instructions à suivre sont données en commentaire dans le fichier.

Ensuite, vous avez encore besoin d'un autre fichier: hfs.map, placez le dans votre répertoire home par exemple. Vous allez en avoir besoin pour la création du cd bootable.

Une fois que vous avez modifié yaboo.conf et que tous les fichiers sont téléchargés et placés au bon endroit, on crée l'image disque avec le terminal (dans OSX biensur)
Bloc de code:
 mkisofs -r -T --netatalk -hfs -probe -map /chemin/du/fichier/hfs.map -part -no-desktop -hfs-bless /chemin/du/dossier/boot -hfs-volid Cd_de_boot -o imagedisque.iso /dossier/racine/du/disque

votre image est prête, gravez là sur un CD-RW si possible, pour éviter de gacher des disques si ça à raté.

8) Bootez sur le disque. A partir de là, vous devriez réussir à booter sur le disque FW. Si vous avez bien placé les différents fichiers linux: vmlinuxnew, newinitrd.img, les modules etc... avec les bons droits et propriétaires (root:root), Ubuntu devrait booter normalement et finir le processus d'installation de la distribution.

Il vous reste à faire:
- Recompiler un noyau pour votre machine avec les drivers fw inclus.
- Installer yaboot sur le disque fw de façon à ne plus avoir recours au cd de boot. vous devrez utilisez la commade
Bloc de code:
 mkofboot -v -o le_chemin_open_firmware_du_disque
et un fichier yaboot.conf mis à jour par vos soins.

Là où j'ai triché: lors du boot avec le cd (dernière étape), l'image initrd à bien été chargée depuis le disque FW mais ensuite newvmlinux a été chargé depuis ma partiton placée sur le disque interne et je ne sais pas pourquoi :hein: . j'ai dû utiliser la commande mkofboot depuis mon linux interne pour pouvoir booter sur le disque FW. Après le boot s'est passé completement depuis le disque FW et le processus d'installation s'est terminé normalement.

voilà. j'ouvre ce fil pour que ceux qui se lancent dans l'aventure nous fasse part de leur essai, problème et succès, mais aussi des possibles améliorations de ce tuto.

à vous :up:
 
flakk a dit:
beau travail :)

petite question..
dans le kernel, t'as modifié quoi par rapport au kernel de base ?
je suppose que c'est principalement le support FW qui doit être mis en dur et non en module...

et concernant le system.map, cette page explique pas mal a quoi ca sert :
http://www.dirac.org/linux/system.map/
ah! je vais y jeter un coup d'oeil! merci :)

effectivement, c'est le support FW qui est passé de modules à intégré au kernel. Il y a egalement un autre module dont le nom m'échappe maintenant qui empêchait de booter sur le G3 B&W. Je n'ai pas essayer mais ça -devrait- fonctionner sur ces machines.