Installer Archlinux ARM la Toshiba Folio 100 - Ep. 1 : Installation

Ma tablette, ma précieuse tablette Toshiba Folio 100 qui prend la poussière depuis longtemps. Trop lente et buguée malgré les différentes ROM android testées. Six mois après leur sortie, les tablette sont laissées à l'abandon par leur constructeur, il n'y a plus de mises à jour, et lorsque la nouvelle version d'Android requiert deux fois plus de ram pour faire la même chose il devient alors impossible de l'utiliser. Achetez une nouvelle tablette et c'est tout. L'obsolescence programmée dans toute sa splendeur, aidée par la trop grande rigidité des plateformes ARM comme nous allons le voir.

Pour en revenir à la Toshiba Folio 100, il est apparemment possible de faire fonctionner Fedora dessus comme le montre cette vidéo. Sur le forum XDA d'autres se sont attaqués à Archlinux. Cela rend cette tablette un peu plus intéressante, on peut enfin y caser un vrai système Linux, mais c'est très compliqué.

Voici mes notes sur l'installation d'Archlinux ARM sur votre Toshiba Folio 100.

Note importante

Dans cette première partie nous n'installerons rien en dur sur la tablette, donc pas de risque de break. Nous nous contenterons de booter un kernel avec fastboot, et monter un système de fichiers présent sur une carte sd ou une clé USB.

Principe

On va démarrer la tablette en mode fastboot puis lui injecter un kernel Linux qui va booter avec pour instruction de monter son root depuis une carte sd ou une clé USB. Le kernel est la partie délicate car il faut une version patchée pour le matériel, c'est d'ailleurs là qu'on se rend compte qu'ARM est chiant. Le seul kernel utilisable pour le moment est le 3.1.10, nous verrons comment le compiler et le charger.

Concernant la partie distribution, c'est un peu plus permissif. Nous allons extraire l'arborescence d'Archlinux ARM sur une carte sd formatée en ext4.

Pré requis

  • Une tablette Toshiba Folio 100 rootée
  • Un clavier USB branché sur la tablette
  • Une carte sd ou une clé USB d'au moins 2GB
  • Un ordinateur sous Linux avec un lecteur de cartes sd (sauf si vous choisissez la clé USB)
  • Un câble USB pour connecter l'ordinateur à la tablette

Procédure

1. Installation du système sur la carte SD

Commencez par insérer la carte sd ou la clé USB dans votre ordinateur. Ensuite localisez-là avec dmesg ou fdisk. Dans mon cas c'est /dev/sdb1. On formatte la carte en ext4 :

# mkfs.ext4 /dev/sdb1

2. Télécharger Archlinux ARM :

Il existe plusieurs versions d'Archlinux ARM. La plus appropriée pour la tablette est trimslice :

# wget http://archlinuxarm.org/os/ArchLinuxARM-trimslice-latest.tar.gz

Malheureusement il manque quelques composants utiles notamment pour le WiFi. Pour cela on va télécharger des paquets additionnels à l'adresse suivante : http://au.mirror.archlinuxarm.org/armv7h/core/. Donc ouvrez un navigateur web et enregistrez les paquets suivants : dhcpcd, iw, wireless-tools, libnl et wpa_supplicant.

Maintenant on va monter la carte sd, extraire l'arborescence Archlinux ARM et copier les paquets que nous installerons plus tard :

# mkdir /mnt/mmc
# mount /dev/sdb1 /mnt/mmc
# tar -xvzf ArchLinuxARM-trimslice-latest.tar.gz -C /mnt/mmc/
# cp dhcpcd-6.4.3-1-armv7h.pkg.tar.xz /mnt/mmc/root/
# cp libnl-3.2.24-1.1-armv7h.pkg.tar.xz /mnt/mmc/root/
# cp wpa_supplicant-2.2-2-armv7h.pkg.tar.xz /mnt/mmc/root/
# cp wireless_tools-30.pre9-1-armv7h.pkg.tar.xz /mnt/mmc/root/
# cp iw-3.14-1-armv7h.pkg.tar.xz /mnt/mmc/root/

3. Compiler un kernel bootable

Commencez par installer les outils de compilation croisée ainsi que git :

Pour Arch / Manjaro :

# pacman -S git arm-none-eabi-gcc

Pour Debian, voir ici (non testé).

Utilisez git pour récupérer les sources du kernel pour Toshiba (et similaires) :

# git clone https://github.com/DerArtem/android_kernel_toshiba_betelgeuse

Ouvrez un navigateur web et rendez-vous sur cette page pour y télécharger le fichier config_patch.txt.

Entrez ensuite dans le répertoire des sources de ce kernel. Ensuite nous allons patcher le .config (qui contient la liste des choses à compiler/mettre en modules) :

# cd android_kernel_toshiba_betelgeuse
# patch -p0 .config config_patch.txt

Lancez la compilation :

# export ARCH=arm
# export CROSS_COMPILE=arm-none-eabi-
# make
# make modules

Important : Installez les modules sur le système cible :

# make modules_install INSTALL_MOD_PATH=/mnt/mmc

Nous en avons terminé avec la carte sd. Vous pouvez la démonter à l'aide de la commande suivante :

# umount /dev/sdb1

Booter la tablette avec un kernel Linux

A partir de là on peut enfin booter notre tablette sous Arch. Pour cela il va nous falloir les android-tools, qui fournissent fastboot. Installez donc android-tools :

# pacman -S android-tools

Démarrez la tablette, avec la carte sd dedans, et quand le logo Toshiba apparait appuyez 3x Power + 1x Vol Up. Le système va alors se mettre en attente de réception de données :

Starting Fastboot USB download protocol, please execute 'fastboot' command

Sur l'ordinateur, relié en USB à la tablette, entrez la commande suivante :

# fastboot -i 0x955 -c "mem=448M@0M nvmem=64M@448M vmalloc=192M video=tegrafb usbcore.old_scheme_first=1 tegrapart=recovery:122000:a00:800,linux:a0e00:1000:800,loader:300:400:800,mbr:700:200:800,system:900:20000:800,cache:20900:80000:800,misc:a0900:400:800,userdata:a1f00:80000:800 boardtype=PR root=/dev/mmcblk1p1 rw usb-storage.delay_use=0 rootdelay=3" boot arch/arm/boot/zImage

Cette commande va injecter notre kernel avec quelques instructions, notamment celle d'utiliser /dev/mmcblk1p1 (la carte sd) comme root. Note : si vous utilisez une clé USB et non une carte sd, remplacez mmcblk1p1 par sda1. Si cela ne marche pas, tentez sdb1 (non testé).

Configurer ArchARM

Si tout va bien devriez obtenir un prompt sur la tablette. Utilisez le clavier USB et ouvrez une session avec l'identifiant + mot de passe 'root'. Passez le clavier en français :

# loadkeys fr

Maintenant installez wpa_supplicant et dhcpcd via les paquets récupérés tout à l'heure :

# cd /root
# pacman -U *.xz

Et voilà. Si tout s'est bien passé, vous devriez pouvoir connecter la tablette au WiFi grâce à la documentation wpa_supplicant. Vous pouvez désormais utiliser pacman pour installer des paquets.

Nous verrons plus tard comment installer un environnement graphique.

Liens

Vus : 3118
Publié par Maniatux : 95