Category Archives: ARM

Noyau Linux 4.0 (4.1 le 25 juin) sur Allwinner A20/Cubieboard2

Grâce aux travaux de développement électronique et logiciel, aux efforts de la communauté Linux-sunxi pour l’amélioration et l’intégration des pilotes dans le tronc principal des sources de Linux et au travail d’intégration des communauté ArchLinux et ArchLinuxARM, la Cubieboard2 (basée sur le SoC AllWinner A20) avec la distribution ArchlinuxARM utilise depuis cette nuit le noyau 4.0 par défaut. Auparavant, elle utilisait une branche 3.x du noyau en retard par rapport aux avancées de la branche principale.

* Linux XXX 4.0.5-2-ARCH #1 SMP Fri Jun 12 20:03:44 MDT 2015 armv7l GNU/Linux

Grâce à cela :
* Une grande partie des flash NAND peuvent être utilisée pour le système.
* La gestion de la fréquence CPU dynamique est bien gérée maintenant.
* La plupart des pilotes sont intégrées et à priori très stable.

Mise à jour du 25 juin, 11 jours après le 4.0 : Mise à jour vers noyau linux 4.1 effectuée ce soir
* Linux XXX 4.1.0-1-ARCH #1 SMP Tue Jun 23 23:24:14 MDT 2015 armv7l GNU/Linux

Archlinux ARM sur Cubieboard2

La distribution ArchlinuxARM est une distribution pour ARM dérivé de l’excellent Archilinux, elle même dérivée de je ne sais plus quoi. Elle a été conçu pour s’adapter avec une relativement bonne précision au matériel utilisé. (dans le cas d’ARM un noyau/firmware par carte et 3 versions des paquets pour ARMv5, ARMv6h (h pour hardfloat) et ARMv7h (hardfloat). Ce qui en fait, à ma connaissance, la seule distribution aussi bien adaptée. Pour une installation rapide pour un ordinateur de bureau, la démarche est un peu plus fastidieuse, à moins d’y apporter ces propres scripts, où d’utiliser, des distributions facilitant l’installation, comme Antergos sur plate-forme x86.

Entre le début de la rédaction de cet article (le 17 juin) et aujourd’hui, j’ai beaucoup progressé sur la compréhension du fonctionnement de la NAND. J’ai donc :

  • Réussi à créer une NAND qui fonctionne à partir d’Archlinux ARM, en bidouillant avec plusieurs images.
  • Découvert qu’Archlinux est réellement une distribution géniale, d’autant plus en version ARM, je publierais probablement prochainement une image SD pour l’installer automatiquement sur la NAND, avec le noyau 3.4.90, très stable et 3 Go de libre sur la NAND :). (je vais essayer de tenter un noyau 3.16 prochainement)

Continue reading

Inkscape 0.91pre (and archlinuxARM test)

Après avoir voulu testé Inkscape 0.91pre, et vu le nombre de changement, l’amélioration de la réactivité, les bugs résolus, la meilleur gestion du multithread, etc… Je me suis mis en tête de rééssayer sur la Cubieboard2 ou c’était utilisable pour les fonction de base, mais était un peu trop lent pour certaines fonctions avancées (comme l’outil calligraphique).

J’ai donc compilé sur archlinuxARM pour tester sur ma Cubieboard2, je met le paquet à disposition dans mon micro-dépôt ArchlinuxARM, n’ayant toujours pas compris le processus pour soumettre dans la yaourtière d’AUR (Arch User Repository) ou les dépôts d’ArchlinuxARM.

Donc voilà c’est super rapide, ça utilise bien les 2 processeurs Cortex-A7 (devrait vraiment tourner très vite sur un quadcore Cortex-A17 Rockchip RK3288 comme le Rikomagic MK902II LE (linux edition), voir la démo) :). Complètement utilisable, les flous sont toujours long à affichés, mais l’affichage se fait de façon relativement asynchrone.

Pour info, ma vidéo est enregistrée sur un x86_64 avec affichage distant, en utilisant X11/tcp de l’application (via switch 100 Mb), ce qui explique certains balayages et décalage de l’affichage.

Deux applications pour ArchlinuxARM

* EntangleWikipedia est une application de contrôle d’appareil photo réflexe numérique temps réel basé sur gphoto2, dont j’avait déjà parlé ici il y a 3 ans (ne fonctionne que sur boîtiers réflexes numérique ou certains pockets Canon d’il y a 10 ans).
* BochsWikipedia est un émulateur x86 (qui permet de faire tourner un système 86 dans une fenêtre sous ARM :D.

J’ai simplement recompilé les paquets depuis les fichiers PKGBUILD d’ArchLinux (x86) avec makepkg -a et installé les dépendences.

Je vais tenter de mettre d’autres applications pré-compilées ici, en attendant que que je comprenne le processus d’intégration dans ArchlinuxARM AUR.

Je l’ai ai mis dans un sous-répertoire de Cubieboard, mais ils devraient fonctionner sans problème sur n’importe quelle archi ARMv7h ou ArchlinuxARM fonctionne :

Les petits paquets sont donc là : /cubieboard/ArchlinuxARM/

Pour installer un paquet situé sur le système de fichier :

pacman -U nom_du_paquet.pkg.tar.xz

Les trois générations de SoC ARM Cortex-A (ARMv7) et quelques options d’optimizations de GCC

J’ai commencé à rédiger cet article durant l’automne 2013, des changements ont été apportés depuis, ils sont en gras dans le texte.

Quelques références :
* ARM Compiler toolchain Assembler Reference sur les documentations d’ARM
* GCC ARM Options, que l’on trouve aussi dans le man de gcc.
Continue reading