Journal : Test de la slackintosh 12
Posté par octane () le 25 octobre 2007
Je suis utilisateur de slackware depuis plusieurs années, et on m'a prété pour quelques temps un apple ibook. Je me suis dit que cela pourrait etre l'occasion de tester la version mac de slackware, c'est a dire la http://workaround.ch/ slackintosh 12. Le but était double, d'une part découvrir l'architecture apple, et d'autre part de faire joujou avec une nouvelle machine.
J'avais juste deux contraintes:
-ne pas toucher au disque dur local (pas de repartitionnement possible)
-faire l'installation sans CD
I) état des lieux:
ibook G3 PPC 600MHz, 384Mo de RAM, lecteur CD HS, 2 port USB1.1, un firewire, une carte reseau. Carte video radeon, carte son je sais pas.
J'ai a cote une machine PC sous linux (serveur nfs mon ami), et les deux images iso de la slackintosh.
J'ai un disque dur USB.
II) comment booter un mac?
Un mac n'a pas de BIOS comme un PC, il utilise open firmware. Lors du démarrage du mac, il faut appuyer sur alt-pomme-O-F jusqu'a arriver a une sorte de prompt. http://fr.wikipedia.org/wiki/Open_Firmware pour une intro sur l'openfirmware. J'ai appris qu'il existe des mac "old world", des mac "new world". J'ai un new world, il y a pas de mal de trucs a verifier si vous avez un old world. Pour un document un peu plus avancé, vous pouvez lire cet article http://www.gete.net/mac/article.php3?id_article=343 .
Concernant le point qui m'interesse, c'est la possibilité qu'un mac a de faire du netboot.
Il suffit de taper (attention, clavier qwerty..):
boot enet:192.168.1.45,yaboot,192.168.1.4
dans l'ordre, on boot, par le reseau (enet) on va chercher sur la machine 192.168.1.45 en tftp le programme yaboot et l'adresse IP du mac est 192.168.1.4.
Le programme yaboot est fourni sur le CD de la slackintosh.
Mon autre machine sous linux fait office de serveur DHCP et tftp.
Le programme yaboot va chercher au meme endroit un fichier yaboot.conf qui lui indique quoi faire (la doc de yaboot est super bien fait pour savoir comment ecrire le yaboot.conf, je ne peux que vous inviter à la lire).
Dans mon cas, je lui indique de chercher (toujours par tftp sur le meme serveur) le noyau linux d'installation et l'initrd d'installation (situé dans le répertoire isolinux du CD1) de ma slackintosh.
Et.... échec. Aucun moyen de charger l'initrd. Après beaucoup de tcpdump sauvages et de googlage, je me rends compte que yaboot ne sait pas télécharger plus de 6 ou 7Mo (environ) pour initrd, et celui d'installation de la slackintosh fait 20Mo.
III) ( ou chapitre II) le retour) une nouvelle tentative:
Puisque le boot réseau échoue, il faut booter depuis le dur. (oui c'est une entorse faite a ma regle de ne pas toucher au disque local, mais bah). Je copie yaboot, yaboot.conf, le noyau et l'initrd a la racine du disque du mac. je parametre yaboot.conf pour booter le noyau et l'initrd du disque.
Depuis l'openfirmware, il faut demarrer avec la commande:
boot hd:5,yaboot
5 est la partition racine. La commande signifie "va booter sur la 5e partition du disque local (le hd:) le fichier qui s'appelle yaboot". Ce numero ma été donné par l'utilitaire de disque Mac. Pourquoi 5, je ne sais pas. Les partitions mac ne sont pas les memes que les paritions PC, donc il peut arriver que même si le mac ne montre qu'une partition depuis macOS, il y en ait plusieurs.
L'installation peut démarrer.
IV) l'installation:
Bah rien a signaler , il faut utiliser mac-fdisk au lieu de fdisk pour découper le disque en partition, et sinon, c'est du slack, donc que du bon, et ça installe depuis le nfs finger-in-the-noze, pas besoin de bruler des CD pour ca. J'ai juste choisi /dev/sda comme disque d'installation.
Attention, je n'ai trouvé aucune map clavier qui corresponde au clavier de l'ibook francais. J'ai fait toute l'installation en map qwerty (dans mon cas, ca gène pas trop, j'ai longtemps utilisé du qwerty et c'est comme le vélo ca s'oublie pas).
V) le reboot
L'ibook ne sait pas booter de l'USB. Il faut donc booter par le disque dur (open-firmware, yaboot, etc, vous connaissez le topo). Mais le bus USB introduit une difficulté supplémentaire.
Un bus USB peut mettre plusieurs secondes a s'activer. Donc le noyau boote, et lorsqu'il cherche a monter la racine, le bus USB n'est pas actif, donc pas présent, donc pas de racine, donc kernel panic.
Pour éviter ce probleme il faut placer une temporisation. Très simplement, j'ai utilisé le mkinitrd slackintosh que j'ai juste modifié en ajoutant un
#on attend que le bus USB se réveille
echo "trente secondes de sommeil"
sleep 30
vers la fin du /linuxrc de l'initrd.
Pourquoi 30? Parceque je suis sur que le bus sera réveillé au bout des 30s. (il y a moyen de faire plus propre et moins long, je vous laisse lire les docs sur internet).
VI) la configuration
carte réseau, OK, c'est reconnu. Carte son OK. clavier problématique car il n'y a que le qwerty. carte video en fb 8bits, pas génial.
X windows que j'ai installé en deux fois a cafouillé un peu (problème de fonts). Avec les scripts slackintosh fourni, ca repart (pensez à lire les /var/log/scripts ).
VI)a) la vidéo.
Grosse galère. Aucun moyen de trouver une conf satisfaisante avec xorgconfig. Je google une éternité pour ne rien trouver (je ne suis quand même pas le premier a installer X sur un ibook avec une carte radeon ou bien?). En désespoir de cause, je cherche même à tester une ubuntu (oui vous pouvez me jeter des pierres) sur lecteur CD firewire qui ne boote pas pour un obscur bug (j'ai laissé tomber). je lis tous les man xorg.conf, X, radeon. Je télécharge et teste la moitié des confs xorg de l'internet. Je vais demander sur la mailing list slackintosh, je demande sur les http://groups.google.fr/group/fr.comp.os.unix.mac/browse_frm(...)
newsgroups pour finalement réussir a obtenir une conf en 16bits 1024x768, extension composite et DRI activé. Ouf.
VI)b) le clavier
Re-galère. Aucune map clavier ne correspond. Je tombe finalement sur une map qui correspond aux touches gravées, mais qui n'a pas le pipe, le backslash ou le tilde. Re-googlage énorme, pour tomber sur un lien de linuxfr (linuxfr, linuxfr, ce site me dit quelque chose.. http://linuxfr.org/~bersace/21249.html ) qui me donne enfin un lien vers une map fr avec tous les caractères pour xorg. Mais en console texte, la seule map utilisable reste le qwerty. Je laisse de coté.
VII) les trucs qui font whizz et wouhou.
Parcequebon, c'est sympa d'installer, mais si c'est pour montrer un machin en 80x25 N&B au possesseur du mac en lui disant "nunux c'est génial, r'gad eh r'gad", ca va pas le faire.
-mol. Mac on linux. Je ne peux dire que "whaou". Out of the box, il m'a
trouvé le mac installé sur le disque dur local, me l'a booté et j'ai pu l'utiliser. Splendide. Aucun ralentissement. J'ai teste une install de mac OS a partir de zéro, ca fonctionne impeccablement aussi. Bravo aux développeurs, ca m'a vraiment soufflé, et leur logo est vraiment super sympa. Allez voir http://mac-on-linux.sourceforge.net/ . C'est a dizaines de lieux de qemu, vmware etc car mol a l'énorme avantage de pouvoir démarrer le systeme deja installé sur la machine.
-mplayer. Compile et fonctionne out-of-the box. Superbe et pratique comme a son habitude. On m'a dit qu'il pouvait manquer des codecs, j'ai testé avec beaucoup de vidéos, pas de problèmes chez moi.
-xmame. Ca compile du premier coup. Ca marche vite, très vite même au vu de la petite machine (G3 600).
-compiz. Ca c'est whaou, mais ça manque de docs. Vraiment. Finalement, après des grands coups de strace, je crée les dossiers ~.compiz/options/ qui se peuplent un peu. Puis en lisant le general-allscreens.conf, j'ajoute au pifomètre les lib fournies avec le projet compiz. (grep lib /var/log/packages/compiz* ) J'ajoute cube pour la libcube, rotate pour librotate, etc... Et ca ne fonctionne pas. Pas de cube tournoyant, rien.
Au final, ca se résume encore a un probleme de map clavier. En qwerty, je peux lancer le cube tournoyant, c'est bô. Par contre, il n'est fourni que pour KDE. Si j'ai 5 minutes, je regarderai pour XFCE, je préfère vraiment cet environnement.
-firefox, RAS, en plus slackintosh fourni le plugin xine, donc ca fonctionne bien.
-qemu: plante a la compilation. Eventuellement du au compilo gcc4 selon le message d'erreur. Je n'ai pas creusé.
-les boutons de fonctions rapide (son, luminosité..) marchent out-of-the box.
VIII) conclusions:
-slackware, ca roxorize (mais on le savait déjà). Je retrouve sa légendaire simplicité qui permet de réflechir sur les vrais problèmes plutôt que sur le fonctionnement de la distro. J'ai encore une fois appris énormément de choses. Et bravo au développeur de la slackintosh.
-linux, sorti de x86, c'est pauvre. Il y a pleins de trucs qui ne fonctionnent pas sur PPC (flash entre autre). Tous les programmes sont testes sous x86, on voit rarement PPC.
-l'USB1.1, mais c'est atrocement lent. Systématiquement je me mange des lenteurs des qu'il y a des accès disque. Dès qu'on travaille un peu avec le cache mémoire, c'est parfait. Ca m'a permis de me rendre compte que linux est bien fichu a ce niveau la.
-l'ibook c'est vraiment une machine sympa. Si quelqu'un en donne une, je veux bien la prendre pour en faire ma machine principale.
-l'ibook m'a pas mal impressionné niveau rapidite. Ca décoiffe vraiment malgre la petite config.
-le possesseur de l'ibook a été stupéfait par compiz. Le cube et les fenêtres en gelée molle ça rend quand même très bien.
Donc si vous avez un Mac, y'a que du bon avec linux malgré l'info un peu dure à trouver de temps en temps.
J'avais juste deux contraintes:
-ne pas toucher au disque dur local (pas de repartitionnement possible)
-faire l'installation sans CD
I) état des lieux:
ibook G3 PPC 600MHz, 384Mo de RAM, lecteur CD HS, 2 port USB1.1, un firewire, une carte reseau. Carte video radeon, carte son je sais pas.
J'ai a cote une machine PC sous linux (serveur nfs mon ami), et les deux images iso de la slackintosh.
J'ai un disque dur USB.
II) comment booter un mac?
Un mac n'a pas de BIOS comme un PC, il utilise open firmware. Lors du démarrage du mac, il faut appuyer sur alt-pomme-O-F jusqu'a arriver a une sorte de prompt. http://fr.wikipedia.org/wiki/Open_Firmware pour une intro sur l'openfirmware. J'ai appris qu'il existe des mac "old world", des mac "new world". J'ai un new world, il y a pas de mal de trucs a verifier si vous avez un old world. Pour un document un peu plus avancé, vous pouvez lire cet article http://www.gete.net/mac/article.php3?id_article=343 .
Concernant le point qui m'interesse, c'est la possibilité qu'un mac a de faire du netboot.
Il suffit de taper (attention, clavier qwerty..):
boot enet:192.168.1.45,yaboot,192.168.1.4
dans l'ordre, on boot, par le reseau (enet) on va chercher sur la machine 192.168.1.45 en tftp le programme yaboot et l'adresse IP du mac est 192.168.1.4.
Le programme yaboot est fourni sur le CD de la slackintosh.
Mon autre machine sous linux fait office de serveur DHCP et tftp.
Le programme yaboot va chercher au meme endroit un fichier yaboot.conf qui lui indique quoi faire (la doc de yaboot est super bien fait pour savoir comment ecrire le yaboot.conf, je ne peux que vous inviter à la lire).
Dans mon cas, je lui indique de chercher (toujours par tftp sur le meme serveur) le noyau linux d'installation et l'initrd d'installation (situé dans le répertoire isolinux du CD1) de ma slackintosh.
Et.... échec. Aucun moyen de charger l'initrd. Après beaucoup de tcpdump sauvages et de googlage, je me rends compte que yaboot ne sait pas télécharger plus de 6 ou 7Mo (environ) pour initrd, et celui d'installation de la slackintosh fait 20Mo.
III) ( ou chapitre II) le retour) une nouvelle tentative:
Puisque le boot réseau échoue, il faut booter depuis le dur. (oui c'est une entorse faite a ma regle de ne pas toucher au disque local, mais bah). Je copie yaboot, yaboot.conf, le noyau et l'initrd a la racine du disque du mac. je parametre yaboot.conf pour booter le noyau et l'initrd du disque.
Depuis l'openfirmware, il faut demarrer avec la commande:
boot hd:5,yaboot
5 est la partition racine. La commande signifie "va booter sur la 5e partition du disque local (le hd:) le fichier qui s'appelle yaboot". Ce numero ma été donné par l'utilitaire de disque Mac. Pourquoi 5, je ne sais pas. Les partitions mac ne sont pas les memes que les paritions PC, donc il peut arriver que même si le mac ne montre qu'une partition depuis macOS, il y en ait plusieurs.
L'installation peut démarrer.
IV) l'installation:
Bah rien a signaler , il faut utiliser mac-fdisk au lieu de fdisk pour découper le disque en partition, et sinon, c'est du slack, donc que du bon, et ça installe depuis le nfs finger-in-the-noze, pas besoin de bruler des CD pour ca. J'ai juste choisi /dev/sda comme disque d'installation.
Attention, je n'ai trouvé aucune map clavier qui corresponde au clavier de l'ibook francais. J'ai fait toute l'installation en map qwerty (dans mon cas, ca gène pas trop, j'ai longtemps utilisé du qwerty et c'est comme le vélo ca s'oublie pas).
V) le reboot
L'ibook ne sait pas booter de l'USB. Il faut donc booter par le disque dur (open-firmware, yaboot, etc, vous connaissez le topo). Mais le bus USB introduit une difficulté supplémentaire.
Un bus USB peut mettre plusieurs secondes a s'activer. Donc le noyau boote, et lorsqu'il cherche a monter la racine, le bus USB n'est pas actif, donc pas présent, donc pas de racine, donc kernel panic.
Pour éviter ce probleme il faut placer une temporisation. Très simplement, j'ai utilisé le mkinitrd slackintosh que j'ai juste modifié en ajoutant un
#on attend que le bus USB se réveille
echo "trente secondes de sommeil"
sleep 30
vers la fin du /linuxrc de l'initrd.
Pourquoi 30? Parceque je suis sur que le bus sera réveillé au bout des 30s. (il y a moyen de faire plus propre et moins long, je vous laisse lire les docs sur internet).
VI) la configuration
carte réseau, OK, c'est reconnu. Carte son OK. clavier problématique car il n'y a que le qwerty. carte video en fb 8bits, pas génial.
X windows que j'ai installé en deux fois a cafouillé un peu (problème de fonts). Avec les scripts slackintosh fourni, ca repart (pensez à lire les /var/log/scripts ).
VI)a) la vidéo.
Grosse galère. Aucun moyen de trouver une conf satisfaisante avec xorgconfig. Je google une éternité pour ne rien trouver (je ne suis quand même pas le premier a installer X sur un ibook avec une carte radeon ou bien?). En désespoir de cause, je cherche même à tester une ubuntu (oui vous pouvez me jeter des pierres) sur lecteur CD firewire qui ne boote pas pour un obscur bug (j'ai laissé tomber). je lis tous les man xorg.conf, X, radeon. Je télécharge et teste la moitié des confs xorg de l'internet. Je vais demander sur la mailing list slackintosh, je demande sur les http://groups.google.fr/group/fr.comp.os.unix.mac/browse_frm(...)
newsgroups pour finalement réussir a obtenir une conf en 16bits 1024x768, extension composite et DRI activé. Ouf.
VI)b) le clavier
Re-galère. Aucune map clavier ne correspond. Je tombe finalement sur une map qui correspond aux touches gravées, mais qui n'a pas le pipe, le backslash ou le tilde. Re-googlage énorme, pour tomber sur un lien de linuxfr (linuxfr, linuxfr, ce site me dit quelque chose.. http://linuxfr.org/~bersace/21249.html ) qui me donne enfin un lien vers une map fr avec tous les caractères pour xorg. Mais en console texte, la seule map utilisable reste le qwerty. Je laisse de coté.
VII) les trucs qui font whizz et wouhou.
Parcequebon, c'est sympa d'installer, mais si c'est pour montrer un machin en 80x25 N&B au possesseur du mac en lui disant "nunux c'est génial, r'gad eh r'gad", ca va pas le faire.
-mol. Mac on linux. Je ne peux dire que "whaou". Out of the box, il m'a
trouvé le mac installé sur le disque dur local, me l'a booté et j'ai pu l'utiliser. Splendide. Aucun ralentissement. J'ai teste une install de mac OS a partir de zéro, ca fonctionne impeccablement aussi. Bravo aux développeurs, ca m'a vraiment soufflé, et leur logo est vraiment super sympa. Allez voir http://mac-on-linux.sourceforge.net/ . C'est a dizaines de lieux de qemu, vmware etc car mol a l'énorme avantage de pouvoir démarrer le systeme deja installé sur la machine.
-mplayer. Compile et fonctionne out-of-the box. Superbe et pratique comme a son habitude. On m'a dit qu'il pouvait manquer des codecs, j'ai testé avec beaucoup de vidéos, pas de problèmes chez moi.
-xmame. Ca compile du premier coup. Ca marche vite, très vite même au vu de la petite machine (G3 600).
-compiz. Ca c'est whaou, mais ça manque de docs. Vraiment. Finalement, après des grands coups de strace, je crée les dossiers ~.compiz/options/ qui se peuplent un peu. Puis en lisant le general-allscreens.conf, j'ajoute au pifomètre les lib fournies avec le projet compiz. (grep lib /var/log/packages/compiz* ) J'ajoute cube pour la libcube, rotate pour librotate, etc... Et ca ne fonctionne pas. Pas de cube tournoyant, rien.
Au final, ca se résume encore a un probleme de map clavier. En qwerty, je peux lancer le cube tournoyant, c'est bô. Par contre, il n'est fourni que pour KDE. Si j'ai 5 minutes, je regarderai pour XFCE, je préfère vraiment cet environnement.
-firefox, RAS, en plus slackintosh fourni le plugin xine, donc ca fonctionne bien.
-qemu: plante a la compilation. Eventuellement du au compilo gcc4 selon le message d'erreur. Je n'ai pas creusé.
-les boutons de fonctions rapide (son, luminosité..) marchent out-of-the box.
VIII) conclusions:
-slackware, ca roxorize (mais on le savait déjà). Je retrouve sa légendaire simplicité qui permet de réflechir sur les vrais problèmes plutôt que sur le fonctionnement de la distro. J'ai encore une fois appris énormément de choses. Et bravo au développeur de la slackintosh.
-linux, sorti de x86, c'est pauvre. Il y a pleins de trucs qui ne fonctionnent pas sur PPC (flash entre autre). Tous les programmes sont testes sous x86, on voit rarement PPC.
-l'USB1.1, mais c'est atrocement lent. Systématiquement je me mange des lenteurs des qu'il y a des accès disque. Dès qu'on travaille un peu avec le cache mémoire, c'est parfait. Ca m'a permis de me rendre compte que linux est bien fichu a ce niveau la.
-l'ibook c'est vraiment une machine sympa. Si quelqu'un en donne une, je veux bien la prendre pour en faire ma machine principale.
-l'ibook m'a pas mal impressionné niveau rapidite. Ca décoiffe vraiment malgre la petite config.
-le possesseur de l'ibook a été stupéfait par compiz. Le cube et les fenêtres en gelée molle ça rend quand même très bien.
Donc si vous avez un Mac, y'a que du bon avec linux malgré l'info un peu dure à trouver de temps en temps.
> Lire le journal (23 commentaires, moyenne: 3).
Vous avez demandé le commentaire #877515.



Test
> Tous les programmes sont testes sous x86, on voit rarement PPC.
Ben PPC est beaucoup beaucoup moins utilisé.
Les stats smolt (projet Fedora) :
http://www.smolts.org/stats
ppc32 + ppc64 : 0,9 %
i386 + i586 + i686 : 80.0 %
i86_64 : 18,8 %
les x86 (l'architecture PC) font 98,8 % ! Il reste 1,2 % pour les autres.
[^]Re: Test
Ben Linux est beaucoup beaucoup moins utilisé que Windows pourtant ca nous empeche pas de raler contre les applis et sociétés qui ignorent noter plateforme préférée.
[^]Re: Test
Certe. C'était seulement une explication.
Les machines Apple frise le proprio. Dans le monde x86 il y a une diversité, une ouverture et une concurrence incomparable.
[^]Re: Test
Et après, il y en a pour se plaindre de l'hégémonie de Windows. :o
[^]Re: Test
Y'a une différence entre se plaindre d'une hégémonie et d'une ultra minorité à l'intérieur d'une minorité. Y'a pas beaucoup d'utilisateurs de linux, mais alors en plus des PPCistes qui le foutent sur leur desktop ou laptop c'est limite. Ubuntu supportait officiellement le PPC à leurs débuts mais ils ont lâché la plateforme quand ils se sont rendus compte que c'était du boulot inutile, maintenant le support a été lâché à la "communauté".
[^]Re: Test
Je crois qu'il disait ça avec humour :-)
> des PPCistes qui le foutent sur leur desktop ou laptop c'est limite.
Libre à chaqu'un de faire ce qu'il veut. Mais les PPCistes doivent comprendre que la version la plus "populaire" marchera mieux que la version minoritaire.
Certe, c'est "cruel" mais compréhensible.
> ils se sont rendus compte que c'était du boulot inutile
Ça dépend pour qui. Fedora propose PPC. Ce n'est pas hyper supporté mais c'est utile pour Red Hat. Red Hat vend RHEL pour PPC (à confirmer...).
Même si cette activité peut sembler "désespérée" elle est bonne globalement. Par exemple il y a Linux sur PS3.
[^]Re: Test
Ca dépend. Je peux te donner les stats luigi :
ppc32 : 50%
ppc64: 25%
M68k: 25%
x86+x86-64: 0%
Hum, et niveau distib on a du Debian 75%
mata ne
累士
[^]Re: Test
Les stats de mon PC : 100 % x86 et 100 % GNU/Linux.
[^]Re: Test
C'était ironique :p
Si tu cherche des stats de distributions, tu pourra aussi constater que chez YellowDog Linux ( http://www.yellowdoglinux.com ), il y a du 100% PPC.
Il se trouve que citer Fedora pour PPC m'étonnais fortement, car Fedora n'est pas une distribution très utilisée sur les machines PPC à ma connaissance.
J'avoue qu'après vérification, les données fournies par Debian sur popcon sont du même ordre de grandeur, même si elle sont très légèrement meilleures.
Je me demande cependant d'où viennent les comptes PPC pour Fedora, car j'ai une grande habitude de Linux sur PPC (en tant qu'utilisateur mais aussi en tant que membre actif des forums dédiés à Linux sur PPC), et c'est la première fois que j'en entends parler en dehors des annonces de chez IBM.
累士
[^]Re: Test
Et c'est bien dommage, car il n'en reste pas moins que d'après les différents essais que j'ai pu faire, dans les distributions "binaires" (donc sans Gentoo), il n'y a guère que Debian et Fedora qui m'ont convaincu, et pour lesquelles j'ai l'impression qu'il y a un véritable suivi, différent de ce qu'on trouve ailleurs qui me font plus penser à "regardez, on est même foutus de faire une version PPC !!"
Et la Fedora PPC tourne tellement bien qu'elle est pour l'instant ma distribution de prédilection pour mon ibook, en attendant ma prochaine crise Debian et ainsi de suite...
[^]Re: Test
Fedora peut-être (et encore, je connais pas mal de PPC-istes dans la communauté), mais RedHat supporte l'architecture POWER dont est dérivé le PowerPC.
D'ailleurs, IBM vends des serveurs POWER avec RHEL (ou du Novell SuSE) dedans ...
[^]Re: Test
c'est bien stephane de fcoum?
merci au fait :-)
cool, des stats.
-PPC: 33%
-x86: 67%
-slackware et derivés: 100%