Ubuntu sur un DDE sur un Mac

Multiboot ou Inception ?

a marqué ce sujet comme résolu.

Coucou les copains !

Depuis 2 jours j'essaie de trouver une solution à mon problème, qui est d'installer Ubuntu sur mon Mac Mini.

Pour résumer le système actuel, j'ai un Mac Mini 2012 (modèle bas de gamme, avec changement de RAM quand même) dans lequel j'ai ajouté un SSD pour faire un Fusion Drive (500 + 220 Go, donc) maison qui fonctionne très bien. Ensuite j'ai créé une partition sur ce disque pour y installer Windows (qui se retrouve entièrement sur le disque à plateau pour le coup) avec Bootcamp, le tout fonctionne à merveille aussi.

Mon projet est d'avoir un Ubuntu sous la main pour pouvoir tester pas mal de trucs (sans passer par une machine virtuelle, pour un tas de raisons). Pour l'instant j'ai installé la v14.04 LTS sur un disque dur externe (un SSD avec un câble USB3 pour éviter que ce soit trop lent), mais impossible de booter dessus. Tout ce que j'ai réussi à faire, c'est booter (en appuyant sur alt au démarrage du Mac) sur une clé USB avec l'iso décompressé, ce qui me permet d'avoir un Live-USB mais ce n'est pas ce que je veux (c'est en anglais, sur une micro-SD avec un adaptateur USB à pas cher, rien de durable).

Du coup, j'ai encore 2 solutions :

  • Créer une partition sur le Fusion Drive pour y installer Ubuntu (mais est-ce que je pourrai booter dessus sans toucher au reste ?)
  • Réussir à booter sur le DDE qui ne contient qu'Ubuntu (mais comment le faire booter, de préférence en pouvant le rendre compatible avec d'autres systèmes, pour le balader si besoin)

Réussir à booter sur le DDE qui ne contient qu'Ubuntu (mais comment le faire booter, de préférence en pouvant le rendre compatible avec d'autres systèmes, pour le balader si besoin)

Si le MBR est bien installé dessus, c'est plus un problème de BIOS/UEFI qui va te permettre ou non de booter sur de l'USB. En 2012 c'est normalement le cas mais je connais peu les macs et le problème viens peut être simplement de là.

Normalement c'est à la procédure d'installation de s'en occuper.

Techniquement il y aussi des PC qui bootent sur clé mais pas sur dde, les deux sont gérés différemment donc il est possible que l'élément de démarrage n'en supporte qu'un.

Tu as aussi la solution de booter sur une clé et de l'utiliser pour booter sur ton disque après : la plus part des live-usb ont une option "booter sur un disk" ou un truc du genre.

Pour l'instant j'ai installé la v14.04 LTS sur un disque dur externe

Comment l'as-tu installé ? Parce qu'il me semble que tu es sous UEFI, or l'installation "pilote automatique" d'ubuntu fait par défaut un schéma de type BIOS, si je me souviens bien.

Bonne journée (HS : premier post sous ZDS, ah que c'est confortable …)

+0 -0

En fait j'ai joué les ninjas !

Depuis OS X j'ai DL le .iso que j'ai transformé en .img.dmg puis envoyé sur une clé USB (comprendre une carte micro-SD avec un adaptateur USB, enfin bon) à coup de diskutil.

Ensuite j'ai booté sur la-dite clé USB, lancé le mode test d'Ubuntu, puis lancer l'installateur.

Dans le programme d'install j'ai sélectionné mon DDE (que j'avais déjà formaté avant, mais bon, une deuxième fois est jamais de trop) et voilà !

Sauf qu'en re-bootant, dans la listes des disques bootables proposée par OS X (en maintenant Alt, tout ça…) je ne vois que OS X (deux fois, d'ailleurs, j'ai du merder en créant mon Fusion Drive ou avec Bootcamp), Windows (Bootcamp power) et la clé USB. Rien d'autre.

Donc t'as fait du pilote automatique.

Si c'est bien ça le problème, la solution c'est : formater ton DDE avec une table gpt, faire 2 partitions (normalement 3 mais on va éviter de swapper sur un ssd …):

  • une première de ~500Mo (elle servira juste à booter, donc pas la peine de charger), en fat32 avec le flag boot
  • une autre qui prend tout le reste, en ext4, ce sera ton système

Ensuite, tu repars du LiveCD qui est sur ta clé pour refaire une install, tout pareil, sauf au moment de choisir les partoches, là tu choisis manuellement, avec la 2e montée sur / et la 1ère, il me semble (désolé je suis tellement rouillé sur ubuntu …), sur /boot. Et je crois qu'ensuite il se débrouille (devant moi-même faire très prochainement quelque chose de similaire, je n'ai pas trouvé de "vraie" doc dessus, donc je suppose que l'installeur se débrouille).

Bonne journée

+0 -0

De ce que j'ai compris, c'est un Mac 64 bits en (U)EFI.

Si c'est bien le cas, mettre le bootloader dans la mbr ne marchera pas. Ca c'est la méthode BIOS. Pour l'(U)EFI, il faut que le bootloader se mette dans EFI/Boot/bootx64.efi dans une partoche fat32 avec le flag boot . Ca se fait assez facilement à la main, mais c'est quand même mieux si l'installeur le fait tout seul.

Bonne journée

+0 -0

ça peut se faire, mais ça va être technique.

dosmpm

C'est justement là où je pêche : ce genre de technique, j'y connais rien.

À part quelques commandes de bases relatives aux fichiers ou à git (et majoritairement utilisables sous OS X), j'y connais pas grand chose à Linux…

J'ai déjà pas mal galéré pour trouver un bon tuto pour Bootcamp… :-°

(d'avance desole si ce post est bizarre, je fais ca sur un nav' textuel uniquement pour tester)

C'est pas un drame. Tu n'as pas peur de de la ligne de commande ? Bon alors ca ira :D .

Plus serieusement il faut que je me redocumente un peu sur un bootloader sympas que j'avais vu pour l'UEFI (qui est dans la suite syslinux), et apres on devrait pouvoir rouler.

Bonne journee

(EDIT : et bah j'arrive a poster sur un nav' qui fait uniquement de l'html - meme pas de css - . Chapeau ZDS !)

EDIT 2 : Ca y est je crois que je tiens un truc. Il faut que tu ais les partitions types UEFI sur ton DDE (la fat32 flag boot, la 2e en ext4 …), et que tu installes ubuntu sur la partoche en ext4 sans installer de bootloader . Ensuite il te faut un LiveCD d'archlinux (ça peut être gentoo ou autre, mais archlinux je connais)

Avant toute chose, on passe le clavier en azerty. Une fois booté sur le LiveCD, tu tapes:

1
loadkeys fr

Après ça, il faut que tu montes la partition fat32 de ton DDE dans un dossier, par exemple /mnt, via la commande:

1
mount /dev/partition /mnt

Avec partition qui correspond à un truc du genre sdb1, sdc2, …

Pour repèrer la partition en question, fait un ls /dev | grep sd, avant et après avoir branché le DDE. Tu devrais avoir un changement qui porte sur 3 fichiers :

  • /dev/sd[une lettre] : le DDE entier
  • /dev/sd[même lettre]1 : la première partition, normalement celle en FAT32
  • /dev/sd[même lettre]2 : la 2nde, normalement celle en ext4

La partition dans la commande mount sera donc sd[même lettre]1. Si c'est bien le cas, après la commande mount, si tu fais:

1
ls /mnt

Tu ne devrais rien avoir. C'est normal, elle a été formatée et rien n'a été fait dessus …

Ensuite, on va recréer une arborescence de type UEFI sur cette partition:

1
mkdir /mnt/EFI; mkdir /mnt/EFI/Boot

Et enfin on installe gummiboot:

1
gummiboot --path=/mnt install

Ensuite, on va créer les fichiers de conf de gummiboot, et avant ça son arborescence:

1
mkdir /mnt/loader; mkdir /mnt/loader/entries

Puis la conf : on va utiliser un bête editeur de texte: nano. Au cas où tu stresserais, rappel est fait que c'est Ctrl-X pour quitter et Ctrl-O pour enregister (c'est marqué en bas de toute façon).

1er fichier : la conf du menu:

1
nano /mnt/loader/loader.conf

Dedans, tu tapes:

1
2
default ubuntu
timeout 4

2e fichier : charger ubuntu.

1
nano /mnt/loader/entries/ubuntu.conf

Dedans, tu tapes:

1
2
3
4
title Ubuntu
linux [noyau]
initrd [initrd]
options root=PARTUUID=[root] rw

Pour l'instant, [noyau], [initrd] et [root] sont à laisser vide, je rééditerais mon post (s'il est toujours dernier) pour complèter la configuration, il faut que je revois rapidement le schéma d'organisation d'ubuntu sur son noyau.

EDIT 3 : Reprenons.

Pour faire une architecture portable, comme tu le souhaite, on va utiliser l'identifiant unique de la partition système d'ubuntu. Avec une table GPT, c'est le partuuid. Pour l'avoir:

1
blkid -s PARTUUID -o value /dev/partition

Fort logiquement, la partition ici est sd[même lettre]2 . Ca va rendre une suite improbable de caractères. Tu remplaces [root] par ça.

Ensuite, il faut mettre le noyau ubuntu dans la 1ere partition, où se trouve gummiboot.

Je signale que j'ai ici un ancien ubuntu (10.04), et que les choses ont peut-être changées, mais ça m'étonnerait.

Première étape : monter la partition système. On va lui créer un dossier rien que pour elle (parce qu'elle le vaut bien :p ).

1
2
mkdir /ubuntu
mount /dev/partition /ubuntu

partition étant la même que celle juste au dessus.

Maintenant, en faisant:

1
ls /ubuntu

Tu as un système UNIX complet, avec boot, dev, home, bin, usr, etc …

Maintenant, on va repèrer les fichiers qu'il nous faut:

1
ls /ubuntu/boot

Là, sur mon vieil ubuntu, j'ai:

  • abi-NOYAU-generic
  • config-NOYAU-generic
  • initrd.img-NOYAU-generic
  • System.map-NOYAU-generic
  • vmcoreinfo-NOYAU-generic
  • vmlinuz-NOYAU-generic

Où NOYAU se compose de 4 nombres : Majeure.mineure.publication-modification.

En fait, tu adaptes à ce que tu as, tu n'as peut-être pas les mêmes fichiers, mais tu as au moins l'initrd et le vmlinuz, sinon c'est que tu as un problème.

De toute façon après, on va copier tout les fichiers qui contiennent NOYAU.

Comme ça fait déjà pas mal de fichier, on va se créer un petit dossier dans la fat32, pour éviter de mettre le boxon partout:

1
mkdir /mnt/ubuntu

Ensuite, on copie:

1
cp /ubuntu/boot/*NOYAU* /mnt/ubuntu

Bien entendu, il faut remplacer NOYAU par sa valeur, pas taper textuellement NOYAU et se demander pourquoi ça ne fait rien … (on ne sait jamais)

2e remarque débile : il faut absolument recopier les * autour de NOYAU. Sinon même résultat.

Si tout s'est bien déroulé, en faisant

1
ls /mnt/ubuntu

Tu retrouve tes petits fichiers du noyau.

Maintenant, étape finale, on va enfin finir notre configuration:

tu remplaces [initrd] par /ubuntu/initrd.img-NOYAU-generic (en fait le fichier dont le nom commence par initrd), et [noyau] par /ubuntu/vmlinuz-NOYAU-generic (en fait le fichier qui commence par vmlinuz).

Et là normalement on y est !

Ce qui va se faire: Si tout se passe bien, ton UEFI va démarrer, regarder ton DDE, et lancer gummiboot. Celui-ci va créer un menu selon ce qu'il a dans loader.conf et dans les fichiers .conf du dossier entries. Il va faire une ligne de menu par fichier dans entries. Tu auras donc (normalement) seulement ubuntu, plus éventuellement les trucs du genre efishell etc …

Quand tu vas séléctionner Ubuntu, il ne va pas charger le noyau, l'initrd et passer les options comme ça. Gummiboot n'est pas un bootloader, c'est un bootmanager : son unique fonction est de permettre de choisir un bootloader, qui va ensuite faire le travail.

Le bootloader ici, c'est le noyau. En effet, depuis la 12.10 (si mes infos sont exactes), tout les noyaux ubuntu intègrent le petit bootloader UEFI du noyau linux. C'est donc lui qui va charger l'initrd, et passer les options au noyau, en l'occurence lui-même.

Tout ça, déjà pour ta culture, mais aussi pour te dire que si ça ne marche pas, il y a un plan B, en utilisant un "vrai" bootloader entre gummiboot et le noyau.

+0 -0

J'ai pas tout compris, mais si j'ai bien saisi, l'idée c'est de re-formater mon DD pour le partitionner et tout refaire proprement, c'est ça ?

Si oui, ça me va, au moins j'aurais quelque chose de stable.

Par contre pourquoi Archlinux ? Y'a pas moyen de faire la même chose via le live-USB Ubuntu que j'ai déjà ? Les commandes sont plus ou moins les mêmes, donc à moins d'avoir besoin d'un outil spécifique (gummiboot en fait peut-être partie, du coup), ça devrait le faire, non ?

Pour le coup, vu que tu évoques d'autres distribs Linux, je me dis que je pourrais utiliser autre chose qu'Ubuntu (voire me faire un dual-boot sur le DDE, tant qu'à faire), t'en penses quoi ?

l'idée c'est de re-formater mon DD pour le partitionner et tout refaire proprement, c'est ça ?

Exactement. On refait bien, pour ne pas galérer par la suite.

Par contre pourquoi Archlinux ? Y'a pas moyen de faire la même chose via le live-USB Ubuntu que j'ai déjà ? Les commandes sont plus ou moins les mêmes, donc à moins d'avoir besoin d'un outil spécifique (gummiboot en fait peut-être partie, du coup), ça devrait le faire, non ?

Gummiboot en fait partie, c'est bien là le problème, sinon je ne t'aurais pas imposé d'utiliser un autre LiveCD.

Ce qui va suivre n'engage que moi, et est sujet à débat. Il faut le lire en ayant bien conscience de ça.

Ubuntu est une distro faite pour les débutants. Elle est donc "scriptée de partout" pour éviter aux utilisateurs de rentrer dans du technique, notamment pour l'installation.

Le bootloader d'ubuntu, depuis un certain temps déjà (au moins 2010), c'est GRUB2. Il est donc, lui aussi, "scripté de partout", dans le sens où les dev' d'ubuntu on fait des scripts d'auto-configuration pour GRUB2. Comme chacune possède ses avantages et inconvénients, chaque bootloader a une syntaxe qui lui est spécifique. En perdant GRUB2, ubuntu perd ses scripts d'auto-conf.

L'UEFI rentre en scène. La question, avec une distro type archlinux, gentoo ou autre, donc non-scriptée, c'est "comment booter en UEFI ?".

Si ubuntu perd ses scripts d'auto-conf, elle perd toute sa facilité d'installation, la question pour les dev's d'ubuntu est donc "Comment faire fonctionner GRUB2 en UEFI ?".

Ca serait simple si tout était prévu. Malheureusement, c'est encore un peu cryptique de comprendre comment installer GRUB2 en UEFI avec l'installeur, est en plus il est susceptible de crash suivant les plateformes, d'autant plus qu'ubuntu met ses fichiers de configuration de boot (donc ceux utilisé par GRUB2) dans sa partition, et non dans celle de l'UEFI, ce qui augmente les risques.

Tu ajoutes à cela le fait que je n'ai jamais réussi à installer tout seul un GRUB2, + le fait que j'ai réussi du premier coup avec gummiboot, pour que je t'oriente naturellement vers cela.

Un petit site qui peut t'interesser se trouve .

Pour le coup, vu que tu évoques d'autres distribs Linux, je me dis que je pourrais utiliser autre chose qu'Ubuntu (voire me faire un dual-boot sur le DDE, tant qu'à faire), t'en penses quoi ?

T'as un DDE. T'as de la place. Tu peux faire un multi-boot (pas forcément que 2 distros), tout dépend de l'usage que tu veux faire de ton DDE. La méthode ne sera pas plus compliquée que pour un multi-boot "classique", étant donné qu'une fois le premier installé, t'as juste à faire une nouvelle partition, et ajouter un fichier (ou un bloc) de conf à ton bootloader/bootmanager. (fais juste attention en utilisant un bootmanager, il se peut que tu sois obligé, pour certaines distros, de passer par un bootloader intermédiaire)

Si ton DDE est à but d'essai, alors fais toi plaisir niveau multi-boot. Si tu bloques un peu pour trouver des distros, je peux te conseiller suivant tes directives, ou te faire un "package" de 2-3 distros.

Donc j'en pense que c'est parfaitement envisageable, ça dépend de ce que tu veux faire.

Bonne journée

EDIT: L'idée pour installer ubuntu c'est :

  • Reformater bien comme il faut
  • Installer ubuntu avec l'installeur, sauf le bootloader
  • S'occupper manuellement de la partie bootloader

Comme les choses sont assez techniques + tu vas être sur une distro que tu ne connais pas spécialement, n'hésites pas à dire quels sont les passages où je n'ai pas été clair, je tenterais, dans la mesure de mes moyens intellectuels limités, de faire mieux.

+0 -0

Ok, donc il va falloir que je trouve comment ne pas installer le bootloader, ça va être joyeux…

Questions distros j'ai pas vraiment d'idée de ce qui existe, à part quelques noms (Archlinux, Debian, Ubuntu…).

L'idée c'est que je puis avoir une distro pour bosser comme je le fais actuellement sous OS X, donc avec Sublime Text, Chrome et ce genre de choses (je passe sur la suite Adobe CC, je sais qu'il faut rien espérer sous Linux).

Après je me suis plus orienté sur Ubuntu parce que je sais que c'est utilisé sur pas mal de serveurs Web et que j'aimerais pouvoir m'entrainer à en gérer un (j'en ai un peu marre d'avoir des mutualisés et de galérer dès que je dois toucher à un dédié, j'aimerais bien avoir un dédié ou un VPS pour héberger mes sites et quelques clients).

Je vais voir ce que je peux faire pour installer Ubuntu dans les jours qui viennent (pas aujourd'hui je pense, un lendemain de mariage c'est dur), je te tiens au jus ;)

Bon, alors un petit package (j'exclu debian puisque tu installes ubuntu, je l'aurais mis sinon):

  • Slackware : bien manuel comme il faut, d'un stabilité à tout épreuve (pas étonnant : il n'y a que le programmes de base dans le gestionnaire de paquet), parfait pour faire un serveur, et pour s'entraîner sur le shell et la compilation. En plus, elle existe depuis 1995 (une des plus anciennes), et elle a été maintenue presque tout le temps (il y a eu 1-2 ans de changement) par un seul homme : son créateur. Elle est très "UNIX", plus qu'une debian de mo point de vue (mais ça peut se débattre).

  • Ubuntu, parce que c'est ton choix.

  • Archlinux, ou Gentoo, ou Linux Mint, pour avoir une distro aux antipodes de slackware : des paquets en changement permanent, fait pour un usage desktop.

  • Un truc un peu wtf, pour que tu puisses voir de quoi linux est capable, genre DSL ou TCL.

Bon d'abord repose toi, et ensuite si t'es partant pour ce package là je te mets les liens.

Bonne journée

EDIT : As-tu bien désactivé tout ce qui est du stytle fast-boot, secure-boot, etc, dans l'(U)EFI ?

+0 -0

EDIT : As-tu bien désactivé tout ce qui est du stytle fast-boot, secure-boot, etc, dans l'(U)EFI ?

dosmpm

Aucune idée ! Je pense pas, vu que j'ai rien touché…

En attendant j'ai réussi à installer VirtualBox (en prenant une vieille version qui date de la guerre), ça va me permettre de tester sans avoir à rebooter. J'espère juste que je vais avoir des performances correctes pour une fois (d'habitude j'ai toujours des lags graphiques monstrueux)…

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte