Mon combat pour installer un inux sur le Asus X205TA
Publié par The Troll le 04 10 2015

DISCLAIMER : SI VOUS N'ÊTES PAS À L'AISE AVEC DES INSTALLS UN PEU COMPLEXE, FAITE LE FAIRE

Pour la faire court, j'ai installé, plus ou moins avec bonheur, un Ubuntu sur cette.... machine. Jolie, y'a pas à dire et sous windows, elle tient assez longtemps (on dit 8 heures...). Mais cela implique d'avoir un UEFI en 32 bits ET un windows en 32 bits sur une machine 64 bits pour probablement économiser de la batterie. Moi péquin de base j'aurais fait pareil, mais de la part de asus/intel/microsoft, ca laisse rêveur de la compétence de ces gens là.

Oui vous pouvez vous moquer, car c'est un uBuntu et pas un Debian, mais la copine en question travaille avec, je ne vais pas lui imposer mes choix et je n'ai rien contre ubuntu. Comme dit mon plus jeune fils : uBuntu ce sont des copains, même si on ne mange pas à la même table.

Avant tout chose, il faut bien vérifier la partition de démarrage et cette du boot (ses numéros). On en aura bien besoin lors du redémarrage sur le vrai disque.

J'ai choisi de l'installer à coté de windows car uBuntu le permet sans se prendre la tête. Il sera toujours temps de supprimer la partie winwin et agrandir l'espace réserve à uBuntu le jour on a décidé de faire sans.

Comme ce n'est pas ma machine et que j'ai une obligation de donner une machine fonctionnelle, s'il y a quoi que ce soit de problématique, il restera toujours un winwin pour travailler.

En suivant la procédure d'installation à partir du live cd fournis, ubuntu a installé le système sur p6 et le swap sur P7. C'est la partie dont il faut se souvenir pour le lancement à la main et la finalisation

l'installation est particulièrement longue. Je ne sais pas trop pourquoi, on est sur du SSD, ca devrait filer mais bon.
J'avais vu qu'il y avait une device /dev/mmcblk0rpmb (souvenez vous de cette chose qui va vous pourrir la vie) qui était en time out, mais comme je suis partie de installation directe(l'autre plantait) je n'ai pas la main pour le supprimer. Je ne sais pas si c'est le coupable, mais comme j'ai du temps (façon de parler) je prend mon mal en patience.

C'est assez bien expliqué sur les liens suivant : J'ai utilise ce kernel là :

#!/bin/sh
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/\
linux-headers-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/\
linux-image-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/\
linux-headers-4.0.0-040000_4.0.0-040000.201504121935_all.deb
Mais vous pouvez en trouver un plus récent ici : En sachant qu'à l'époque, seulement les ubuntu 64 bits s'installaient sur des machines UEFI.

Ensuite je l'ai refait avec le kernel 4.1-rc2, car il manquait la prise en charge du wifi et de la carte SD

Certaines choses ne sont pas fonctionnelles, comme le son, certains 'fonctions', et surtout, surtout un PUT* de time out au démarrage d'environs 50 secondes sur le fameux device /dev/mmcblk0rpmb. Ce qui fait que cette bous.. machine démarre en 50 secondes au lieu de 2. C'est con pour du SSD.

Le soucis vient du fait que systemD le traite comme un périphérique bloc (un disque dur ou une carte SD) alors que c'est l'antémémoire du SSD (un truc dont l'accès n'est pas autorisé au système)

C'est une régression de systemd car cela eu fonctionné avec un version plus vieille, mais plus maintenant, au moment ou la machine fut installée. Pas la peine d'aller voir dans les règles de udev, elles sont bien là, mais elles ne trapent pas la chose, je ne sais pas pourquoi et je n'ai pas trouvé ailleurs sur le net un moyen de résoudre le soucis à l'époque des faits. Enfin si, il y a un vilain hack qui consiste à recompiler le noyau en lui faisant pas exposer ce périphérique, mais ce n'est pas pérenne, il faut le refaire à chaque mise à jour de noyau... ce qui est noyen.

En mode Race, les étapes :
  1. Faire un usb disk bootable avec l'iso ubuntu
  2. Copier le fichier bootia32.efi (le boot EFI)* dans le dossier /EFI/BOOT de la dite clé.
  3. désactiver le secure boot
  4. booter de l'usb
  5. Installer sur le disque
  6. Redémarrer sur la clé usb (F2)
  7. une fois sous grub, faites c pour avoir la ligne de commande(ui ui ca pique un peu)
  8. Une fois au prompt de grub (grub>) taper :
    • linux (hd1,gpt6)/boot/vmlinuz-xxx root=/dev/mmcblk0p2 reboot=pci,force
      - ui ui le 6 de la partition 6 lors de l'install (je vous avait dit de le noter )
      - normalement tab permet l'autocomplétion pour ne pas avoir à taper tout le chemin (d'ou mes xxx)
    • initrd (hd1,gpt6)/boot/initrd-xxxx
      - idem pour l'autocompletion par tab
    • boot
  9. TADAAAA.. boot sur le disque
  10. Et pour finir, la création du boot uefi (en root hein ! ou avec sudo)
    • apt-get install git bison libopts25 libselinux1-dev autogen m4 autoconf \
      help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev \
      libfreetype6-dev texinfo

      plus forcément en root
    • mkdir git
    • cd git
    • git clone git://git.savannah.gnu.org/grub.git
    • cd grub
    • ./autogen.sh
    • ./configure --with-platform=efi --target=i386 --program-prefix=""
    • make
    • cd grub-core
      maintenant ca va re-être en root (ou avec sudo)
    • grub-install -d . --efi-directory /boot/efi/ --target=i386
    • cp /boot/efi/EFI/grub/grubia32.efi /boot/efi/EFI/ubuntu/
    • update-grub2
  11. Et maintenant vous pouvez démarrer sans la clé, directement sur le disque
    - Et non je ne vous proposerais pas le mien de fichier, car je pense qu'un fichier qui est installé à vie sur une machine (pas un fichier transitoire comme celui pour l'install usb) doit être fournis par la distribution ou compilé soit même.
    - C'est pas parce que je suis paranoïaque que je n'ai pas raison de penser que les gens me veulent du mal.
* J'ai confiance dans ce fichier parce que c'est moi qui l'ai fait, mais si vous êtes parano, voici les instructions pour le faire :

apt-get install git bison libopts25 libselinux1-dev autogen m4 autoconf \
help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev \
libfreetype6-dev texinfo

# from http://www.gnu.org/software/grub/grub-download.html
git clone git://git.savannah.gnu.org/grub.git

cd grub

./autogen.sh

./configure --with-platform=efi --target=i386 --program-prefix=''

make

cd grub-core

../grub-mkimage -d . -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs \
appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts \
memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search \
search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw \
mmap msdospart scsi loopback normal configfile gzio all_video efi_gop efi_uga \
gfxterm gettext echo boot chain eval
Libre - Commentez
commentaire(s)
Ajouter un commentaire