Maniatux's Blog

Welcome to the internet

Hardware

Update : Installer Archlinux ARM la Toshiba Folio 100

Rédigé par Xavier - - Aucun commentaire

J'installe actuellement Archlinux ARM sur ma tablette Toshiba Folio 100. Cela fait l'objet d'articles en plusieurs parties dont la partie 1 a été publiée. J'ai promis une partie 2, je bosse dessus, mais ce n'est vraiment pas simple. En effet si j'ai bien compris, pour la partie Xorg, on peut utiliser 4 pilotes au choix :

  • Le pilote vesa, c'est à dire le générique qui permet d'avoir un affichage mais pas d'accélération 2D ni 3D, pas de gestion de l'énergie non plus
  • Le pilote tegra, qui est propriétaire à nvidia et offre toutes les fonctionalités
  • Le pilote fbdev, aucune idée de son utilité
  • Le pilote opentegra, qui est un peu similaire à nouveau (pilote libre réalisé à partir de rétro ingénierie) mais destiné à tegra.

Je bloque car jusqu'ici je n'ai réussi qu'à faire fonctionner vesa alors que mon objectif est d'avoir tegra ou opentegra afin d'espérer lire des vidéos de manière à peu près correcte et avoir une gestion de l'énergie. Mais ces pilotes ne veulent pas fonctionner :

  • tegra (propriétaire nvidia) est fourni sous forme binaire pour une ancienne version de Xorg (avec l'abi 14). Or Archlinux fourni un Xorg trop récent (abi 18) qui refuse de charger le pilote. Il existe une ligne à ajouter dans le xorg.conf pour bypasser cette vérification de version, mais cela aboutit sur un segfault.
  • opentegra, qui doit être compilé ainsi que libdrm, n'a pas ce problème d'abi en revanche j'obtiens à nouveau un segfault. Une petite recherche semble indiquer qu'il faut utiliser un kernel récent, or avec cette tablette je suis bloqué sur une version 3.1.10-betelgeuse (spécifique à ce matériel). J'ai tenté de compiler un 3.17-rc avec les mêmes options, voire avec le template tegra2, mais la tablette ne boote pas.

Pour le premier point je tente actuellement un downgrade de Xorg, mais ce n'est pas simple en raison des dépendances et du temps nécessaire à la compilation. Pour le second point j'aimerai trouver un moyen de booter un kernel plus récent, mais j'ai peu d'espoir. Le manque de standardisation des plate-formes ARM et leurs blobs propriétaires sont un véritable enfer.

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

Rédigé par Xavier - - Aucun commentaire

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

J'ai sauvé un NAS Buffalo Linkstation Duo LS-WXL

Rédigé par Xavier - - Aucun commentaire

Il y a quelques temps on m'a offert un NAS Buffalo LS-WXL qui contient deux disques de 1TB. Comme j'avais envie de m'amuser, j'ai pris les deux HDD et les ai mis dans un autre PC sur lequel j'ai installé FreeNAS, puis Openmediavault. Ces deux OS sont super, mais préférant la discrétion du LS-WXL, j'ai remis les disques dedans. Et c'est là que les ennuis ont commencé. En fait ce genre de NAS a la bonne idée de stocker son firmware sur les disques de données eux-même. Donc en formatant les disques, j'ai écrasé le firmware. Donc le NAS ne voulait plus booter.

Et après avoir pas mal galéré j'ai réussi à le remettre d'aplomb. Voici en gros la procédure à suivre :

  • Télécharger le firmware updater sur le site constructeur
  • Télécharger TFTP Boot Recovery
  • Brancher le NAS en direct sur un PC, paramétrer le PC en IP fixe 192.168.11.1
  • Exécuter TFTP Boot Recovery
  • Allumer électriquement le NAS
  • Appuyer 5 secondes sur le bouton fonction
  • Editer le fichier LSUpdater.ini
  • Modifier comme suivant :
  • [Flags]
    VersionCheck = 1
    NoFormatting = 1
    
    [SpecialFlags]
    Debug = 1
  • Passer votre PC en IP automatique (DHCP), il va se mettre en 169.x c'est nécessaire
  • Exécuter LSUpdater.exe
  • Faire clic droit sur la barre de titre puis passer en debug
  • Cocher toutes les cases
  • Cliquer sur OK, valider les différents messages.
  • Le NAS va finir par rebooter. S'il est à nouveau en erreur, reprenez la procédure du début.
  • S'il boote sans erreur, utilisez Nas navigator pour le trouver et le configurer
  • Profit.

Pfiou, un NAS sauvé. Et vu que ce NAS m'a causé pas mal d'ennuis, je vais émettre quelques critiques à son encontre :

  • Il est très lent au niveau des transferts, même sur un réseau Gigabit, je soupçonne l'utilisation d'une vieille version de Samba, je déconseille ce modèle. Pour comparer, avec FreeNAS je met ~6 heures pour transférer toutes mes données. Avec ce NAS c'est 21 heures !!!
  • Il ne supporte pas NFS
  • Il stocke son firmware sur les disques on ne peut donc pas les remplacer par des disques standard ou plus gros, ou alors il faut se taper la procédure d'urgence décrite dans cet article
  • J'ai testé la procédure avec des disques de 160GB, cela ne marche pas, ce qui m'amène à penser qu'il est configuré "en dur" pour utiliser des disques de 1TB uniquement

Bref si vous en avez la possibilité, faites-vous votre propre NAS sous FreeNAS ou Openmediavault, les performances et la souplesse sont à des années-lumière des modèles propriétaires du commerce.

Liens

Chroniques : Dézombifiage d'un Toshiba

Rédigé par Xavier - - Aucun commentaire

Comme je le dis souvent, j'aime mon métier donc j'aime rendre service. J'ai accepté de nettoyer un PC portable Toshiba qui est "lent" et "affiche plein de publicités". Commençons par allumer la machine : temps de démarrage correct, mais arrivé sur le bureau je vois un message de l'antivirus AVG qui détecte plusieurs chevaux de troie. Je valide la suppression mais rien ne semble se passer. Dans la zone de notification j'ai des objets étranges, de la publicité, des faux messages d'alerte qui indiquent que "mon registre n'est pas optimisé". Je passe sur tous les logiciels Toshiba qui démarrent les uns après les autres. Ah cette manie des constructeurs de fournir des suites de logiciels inutiles et gourmands en ressources...

Je lance Firefox pour télécharger malwarebytes, je me retrouve avec des pages vérolées, même sur Google j'ai des bandeaux de publicité intempestif et flashy. La même avec Chrome. Finalement je redémarre en mode sans échec avec prise en charge réseau, et installe Malwarebytes. Un scan me trouve 250 menaces que je supprime. J'en profite pour virer AVG car il s'agit d'une version d'essai qui expire dans 2 jours, et supprime tous les fichier suspects dans le profil utilisateur (on trouve beaucoup de nuisibles dans AppData). Je fais un tour dans msconfig pour désactiver le démarrage des services suspects et des logiciels Toshiba.

Je démarre en mode normal, j'ai une erreur qui m'indique qu'un logiciel Toshiba ne trouve pas ses DLL. Etrange, je pensais avoir désactivé les logiciels Toshiba, mais nous y reviendrons. Je fais un tour dans la liste des logiciels, je supprime les toolbar, les optimiseurs de registre, ainsi que Firefox et Chrome qui sont visiblement vérolés. Je télécharge Security Essential, gratuit et suffisant.

Jetons maintenant un œil à ce message de DLL au démarrage. Pourquoi un logiciel Toshiba se lance-t-il alors que j'ai tout désactivé dans msconfig ? Je jete un oeil, mais il ne reste plus aucun logiciel Toshiba. Je vais voir dans "démarrage", il n'y a rien. Après une petite recherche sur internet, voici l'astuce : en fait le logiciel Toshiba se lance via une tâche planifiée... au passage j'ai trouvé des tâches pour d'autres logiciels suspects, j'ai tout viré.

Bilan de mon intervention : PC complètement vérolé, surchargé de logiciels Toshiba. Un nettoyage malwarebytes, l'installation d'un antivirus qui marche, la réinstallation des navigateurs vérolés et un nettoyage des éléments au démarrage a rendu la machine à nouveau utilisable. Il n'y a plus de publicité, la réactivité du système est correcte.

J'ai découvert une méthode que je ne connaissais pas et que les nuisibles emploient pour se lancer à tout prix : la tâche planifiée qui utilise la condition "au démarrage". C'est pas bête, il fallait y penser. A l'avenir je ne manquerait pas de vérifier le planificateur de tâches pour les Windows vérolés.

Classé dans : Hardware - Mots clés : aucun

Dedibox Classic + gen2 (Dell R210)

Rédigé par Xavier - - Aucun commentaire

J'ai en ce moment l'occasion d'utiliser une Dedibox Classic + gen2, soit un Dell R210 chez online.net. Bien que je ne compte pas le garder longtemps, je vais décrire mon expérience et mes impressions.

Caractéristiques

Les détails sont présentés sur cette page. Dans les grandes lignes : un Intel Xeon 4 coeurs 3,1GHz de dernière génération, 8 GB de ram, deux disques de 1TB 7k2 en RAID matériel, une carte IDRAC accessible via internet. Pour le prix c'est assez raisonable et cela permet de s'amuser avec la virtualisation.

La carte IDRAC dispose d'un accès distant fonctionnant comme un KVM sur IP. Il est donc possible de suivre le boot du serveur et même accéder aux paramètres du bios ou de la carte RAID. Très pratique pour effectuer la configuration si le système est en panne ou si le réseau est coupé (par exemple à cause d'une mauvaise manipulation sur le parefeu). La maitrise sur le matériel est totale.

Systèmes d'exploitation

Les systèmes proposés sont :

  • Debian
  • Ubuntu Server ainsi que Ubuntu et ses variantes Kubuntu et Xubuntu
  • Windows 2008R2
  • CentOS
  • Proxmox
  • VMware ESXi
  • Plesk, une distribution maison avec un Webui poussé

Ayant envie d'utiliser la virtualisation avec KVM, je suis parti sur une CentOS (à priori la distribution qui l'intègre le mieux et qui suit les mises à jour). J'ai donc demandé l'installation de CentOS sur le serveur et une page permettant de définir le partitionnement m'a été proposé. Il n'y a pas grand chose : pas d'ext4 (ext3 ou xfs), pas de lvm... ce qui est quand même dommage.

Heureusement la carte IDRAC, qui se comporte comme un KVM sur IP, permet de monter une ISO et booter dessus. Explications ici. J'ai donc pu démarrer avec une ISO officielle de Centos 6.4 et l'installer à ma sauce (partitionnement ext4!!!). L'accès à la carte IDRAC est un énorme avantage sur ce point.

Virtualisation

Une fois ma CentOS installée j'ai ajouté les paquets kvm et libvirt puis ait établi une connexion via virt-manager à travers SSH depuis ma Fedora locale (oui, j'utilise les deux derniers chiffres de l'IP et le tableau périodique des éléments pour nommer les VM...).

J'utilise pour le moment uniquement des VM debian, avec les pilotes virtio pour le réseau et le stockage. J'ai remplacé les images RAW par du QCOW2, afin d'occuper moins d'espace disque et faciliter les prochaines sauvegardes. Virt-manager n'est pas pleinement au point et plante si on le contrarie. Mieux vaut aller jusqu'au bout des assistants de création de VM, puis la stopper et modifier la configuration à froid. Aller trop vite peut provoquer un plantage, ou une situation pire dans laquelle la VM est éteinte mais considérée comme en marche, donc totalement bloquée (la solution consiste à redémarrer le serveur...). Très mauvais point pour virt-manager.

Les performances des VM sont très correctes, l'hyperviseur est correctement dimmensionné pour cela (Xeon + cache de la carte RAID). On peut empiler les VM sans souci et le CPU reste toujours à des niveaux très bas.

Réseau

Pour ne pas avoir à gérer du NAT et des redirection de port, j'ai pris une IP failover afin de l'utiliser sur la VM. J'ai configuré la carte réseau de cette VM en macvtap sur l'interface du serveur hôte (em1). Il faut faire attention à préalablement déclarer l'adresse MAC de la carte réseau de la VM dans l'interface de gestion des IP failover sur l'espace client. Car du trafic réseau généré par une adresse MAC inconnue provoque la déconnexion du serveur. Ceci est probablement une mesure de sécurité, mais il faut faire attention.

Concernant l'IPv6, il est surprenant de constater que cela n'est pas encore mis en place. Bien que le "catalogue" cite un préfixe /48, l'interface client affirme que cette fonctionalité "arrive prochainement". Donc, contrairement à ce qui est annoncé, il n'y a pas d'IPv6. Le catalogue est donc purement et simplement mensonger, si vous avez loué une Dedibox pour l'IPv6 il va falloir patienter...

Mes impressions

Mis à part l'IPv6 qui est annoncé mais non disponible, je suis plutot satisfait de cette Dedibox. Le prix est raisonnable par rapport à la configuration fournie, et l'accès à la carte IDRAC offre une souplesse incroyable sur la configuration du serveur et le choix des systèmes d'exploitation. Pour le moment je ne peux que recommander cette Dedibox Classic.

(Note : article non sponsorisé).