Demarrer une install AMD64 avec grub2 32 bits ?

Bonjour,

Je m’en viens vous exposer mon problème après avoir essayé maints choses pour démarrer l’install d’un système 64 bits (et à terme démarrer le système en 64 bits lui même) via via grub2 32 bits lui.

A l’origine de mon problème un “vieux Macbook blanc” que j’ai recyclé pour divers travaux sous Linux (serveur d’impression “sans fil”, borne (sh)airport etc…). Manque de bol j’ai hérité de la série AVEC un processeur déjà 64 bits (Core2duo) mais d’un EFI qui ne l’est pas encore, donc en 32 bits.

L’amorçage d’un CD (toute façon le lecteur CD est foutu) ou d’une clef USB contenant une install de système 64 bits est donc proscrit. Cela ne marche tout simplement pas…

Je me suis donc dans un premier temps rabattu sur la version i386 du système (8.0.0), mais comme ça me trottait dans la tête et que désormais j’avais à disposition un grub2 (certes 32 bits) pour amorcer je me suis mis à chercher s’il n’était pas possible de lui faire démarrer du 64 bits.

Avant de vous exposer mes petits problèmes:

  1. Grub2 (grubia32.efi) est t’il capable d’une telle chose ? ou est-ce une chimère ?

  2. Si vous avez lu jusque là (merci !):
    dans l’invite de commande de grub2 j’ai tenté:

il me retourne:

Même chose si je “set le root” avant: set root=(hd1,1)
J’ai essayé avec seulement hd(1) sans précision de partition mais la je me fais carrément, assez logiquement, jeter: système de fichiers inconnu

Tout cela sachant que j’ai copié l’image de l’install avec un “dd” classique et que je me retrouve avec deux partitions sur la clef USB. La première, qui comprend tout ce qu’il y a dans l’image, et une deuxième, EFI.

J’ai également tenté de simplement copier le fichier iso et de créer un loopback mais ça coince aussi, je ne sais plus très bien où…

J’ai lu par-ci par-là qu’il fallait peut être utiliser des modprobe (?!)

PS: Encore une précision, c’est la net install que j’essaye de lancer.

Je vous remercie bien, d’avoir lu tout ça déjà, et pour vous réponses !

D’après le chapitre 25 “Supported boot targets” du manuel de GRUB 2, GRUB EFI ia32 peut charger un noyau Linux amd64.

La syntaxe hd(1,1) me semble incorrecte. C’est plutôt (hd1,1) ou (hd1,gpt1) pour une table de partition au format GPT.

Avec la commande ls, GRUB peut-il voir l’arborescence de la clé USB ?
Sinon, le plus simple est d’extraire les fichiers vmlinuz et initrd de l’installateur dans /boot (ou ailleurs) et de les charger à partir de là. C’est ce que j’avais fait pour pouvoir utiliser un initramfs modifié sans devoir reconstruire toute une image d’installation.

PS : L’image d’installation netinst multi-arch de Jessie intègre les deux chargeurs EFI ia32 et amd64. Est-ce celle que tu as utilisée ?

Merci PascalHambourg pour ta réponse !

Désolé de ne pas être repassé avant, travail oblige je n’ai pas eu beaucoup de temps à consacrer à cette affaire.
Pourtant je reviens avec un système Macbook blanc à EFI 32bit + système linux Debian 64 bits fonctionnel.

PascalHambourg tu m’as mis sur la bonne voie avec ton idée d’iso multiarch. C’était la clef et je t’en remercie mille fois :023
Sur le site https://www.debian.org/distrib/netinst multi-arch n’apparaît pas (ou alors je n’était pas bien reveillé / ou n’avais pas assez dormi) il faut aller sur cette autre page:
http://cdimage.debian.org/debian-cd/current/multi-arch/iso-cd/ si d’autres se posent également la question :017

Du coup on fait un classique dd if=image of=/dev/sdX pour copier notre image sur la clef USB ou alors on grave un CD.
Là, comme le disait PascalHambourg, l’image multiarch contenant les deux versions, 32 ET 64 bits de grub, l’EFI du Mac peut donc lancer la version 32 bits et c’est ce qu’il fait ! :041
Il nous est proposé l’install version 64 bits, ce que je m’empresse de choisir.

Puis après install et ben pas de boot… Pourquoi ? Il ne semble pas trouver la racine du système. Ne peut lancer ni tty, ni accéder à plein d’autres trucs.
Je remets la clef USB et utilise l’invite de commande de grub pour démarrer mon système nous frais tout neuf avec les commandes suivantes:

set root=(hd1,2) linux /vmlinuz root=/dev/sda2 initrd /initrd.img boot
(Notez que hd0 sera à ce moment là la clef USB et hd1 le disque dur…)

Ici quand on choisi son disque et sa partition, bien penser que l’on a peut être une partition de swap… Pas comme moi qui comptait sur mes doigts comme un couillon et ne comprenait pas pourquoi entre ma partition EFI et celle du système cette dernière pouvait être en (hd1,2).

A la deuxième ligne c’est bien sûr ce qui m’a sauvé la mise :12 le fait de rajouter root=/dev/sda2 permet au noyau et ses sbires qui bootent d’accéder à la racine le …/bin le …/sbin et toutes autres petites choses utiles…

Bref une fois arrivé à destination il m’aura suffit de faire un sudo grub-install /dev/sda pour réinstaller grub et avoir un ordinateur autonome…

Voila voila.

Merci encore PascalHambourg, tu es à l’origine de ma réussite, big thanks !

PS: preuve que je n’étais pas bien réveillé, hd(1,1) était bien sur une erreur de ma part. Une erreur de recopie sur le forum… :doh: j’vous jure…