Author Archives: Popolon

Tester un système Linux RISC-V avec qemu sur ARM et ArchLinuxARM

There is also an english tutorial with more informations here

Pour cela, on peut utiliser la distribution Busybear-linux, très limitée, mais déjà bien pour un premier test de Qemu avec RISC-V (Site officiel, le CPU à sources ouvertes et sous license libre). il a l’avantage de fournir un système pré-compilé, prêt à l’emploi ici : github.com/michaeljclark/busybear-linux/releases

Les deux fichiers indispensables sont :
* bbl.bz2 = boot
* busybear.bin.bz2 = système

Récupérer les fichiers de busybear et les décompresser :

ver=1.0
wget https://github.com/michaeljclark/busybear-linux/releases/download/v$ver/bbl.bz2
wget https://github.com/michaeljclark/busybear-linux/releases/download/v$ver/busybear.bin.bz2
bzcat bbl.bz2 >bbl
bzcat busybear.bin.bz2 >busybear.bin

Les explications que j’ai récupéré viennent du le wiki d’arch pour le périphérique réseau : //wiki.archlinux.fr/Qemu car BusyBear donne des instruction pour des anciens systèmes Debian/Ubuntu (avant le passage à Netplan).

Sur archlinux(ARM) nous avons donc besoin d’uml_utilities qui se trouve dans la grande yaourtière.

wget https://aur.archlinux.org/cgit/aur.git/snapshot/uml_utilities.tar.gz
tar xf uml_utilities.tar.gz
cd uml_utilities
makepkg -A # ignore l'architecture définie dans le PKGBUILD

Il faut ensuite passer en root (ou avoir mis des droits sudo globaux à l’utilisateur pour installer ce paquet :

su - root
cd dossier_de_l'archive
pacman -U uml_utilities*.pkg.tar.xz

Profiter d’être en root pour préparer l’interface réseau pour qemu (remplacer alarm par l’utilisateur de votre choix :

tunctl -u alarm -t tap0
ifconfig tap0 192.168.0.1 netmask 255.255.255.0 up

Puis se deloguer de root par logout ou exit.

Dans le dossier où sont placer les deux fichiers préalablement décompressés :

qemu-system-riscv64 \
  -nographic -machine virt -kernel bbl \
  -append "root=/dev/vda ro console=ttyS0" \
  -drive file=busybear.bin,format=raw,id=hd0 \
  -device virtio-blk-device,drive=hd0 \
  -net nic -net tap,ifname=tap0,script=no

Le boot sur busybear/RiscV va alors commencer. Il se bloc pendant quelques secondes sur le logo RISC-V en ASCII-art :

qemu-system-riscv64: warning: hub port hub0port0 has no peer
qemu-system-riscv64: warning: vlan 0 with no nics
qemu-system-riscv64: warning: netdev hub0port0 has no peer
qemu-system-riscv64: warning: requested NIC (anonymous, model unspecified) was not created (not supported by this machine?)
              vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
                  vvvvvvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrr       vvvvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrr      vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrrrr    vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrrrr    vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrrrr    vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrr      vvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrr       vvvvvvvvvvvvvvvvvvvvvv
rr                vvvvvvvvvvvvvvvvvvvvvv
rr            vvvvvvvvvvvvvvvvvvvvvvvv      rr
rrrr      vvvvvvvvvvvvvvvvvvvvvvvvvv      rrrr
rrrrrr      vvvvvvvvvvvvvvvvvvvvvv      rrrrrr
rrrrrrrr      vvvvvvvvvvvvvvvvvv      rrrrrrrr
rrrrrrrrrr      vvvvvvvvvvvvvv      rrrrrrrrrr
rrrrrrrrrrrr      vvvvvvvvvv      rrrrrrrrrrrr
rrrrrrrrrrrrrr      vvvvvv      rrrrrrrrrrrrrr
rrrrrrrrrrrrrrrr      vv      rrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrr          rrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrr      rrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrr  rrrrrrrrrrrrrrrrrrrrrr

       INSTRUCTION SETS WANT TO BE FREE

On voit aux message du kernel que c’est encore un noyau assez simple :

[...]
[   10.190000] This architecture does not have kernel memory protection.
[...]

On arrive enfin au prompt où pour se connecter il faut utiliser :
* Identifiant : root
* Mot de passe : busybear.

Et voilà !

ucbvax login: root
Password:
    ____                   ____                     __    _
   / __ )__  _________  __/ __ )___  ____ ______   / /   (_)___  __  ___  __
  / __  / / / / ___/ / / / __  / _ \/ __ `/ ___/  / /   / / __ \/ / / / |/_/
 / /_/ / /_/ (__  ) /_/ / /_/ /  __/ /_/ / /     / /___/ / / / / /_/ />  <
/_____/\__,_/____/\__, /_____/\___/\__,_/_/     /_____/_/_/ /_/\__,_/_/|_|
                 /____/
root@ucbvax:~# cat /proc/cpuinfo
hart    : 0
isa     : rv64imafdcsu
mmu     : sv48

Pour configurer le réseau :

ifconfig sit0 192.168.0.10 netmask 255.255.255.0 up

On peut aussi le modifier dans /etc/hosts/interfaces pour qu'il soit pris en compte au reboot :

auto lo
iface lo inet loopback

auto sit0
iface sit0 inet static
  address 192.168.0.10
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1

!!! Attention, les cache/resolever DNS par défaut dans /etc/resolv.conf sont ceux de Google !!! Changer par un de votre réseau ou de votre fournisseur d'accès. Ceux de Google :

root@ucbvax:~# cat /etc/resolv.conf 
nameserver 8.8.8.8
nameserver 8.8.4.4

Vrai départ pour les pilotes libres pour les GPU Mali

Si les premiers pilotes amorcés en 2012 avaient étés abandonnées un peu plus d’un an plus tard, depuis l’été 2017 des nouveaux pilotes ; Lima Driver pour l’architecture Utgard (Mali-400 et 450) et Panfrost, pour architecture Midgard (Mali-Txxx) et Bitfrost, sont tous deux partis en flèche, au point d’effectuer les fonctions basiques et de bientôt pouvoir rejoindre le noyau Linux et la bibliothèque Mesa.

Luc Verhaegen (libv) avait commencé le premier pilote libre pour le processeur graphique ARM Mali-400 (architecture ugard) aux alentours de 2012, pour l’abandonner aux alentours de 2013. Les pilotes étaient restés figés depuis, à part quelques mises à jour minimes avortées. Mais depuis l’été 2017, Qiang Yu à relancé le projet et suit au plus près le noyaux Linux (aujourd’hui 4.17rc) et Mesa (aujourd’hui 18), pour une intégration rapide à ceux-ci.

D’un autre côté, Panfrost est un pilote réunissant le travail de Connor Abbott (qui avait fait un début de pilote en 2013 également pour l’architecture Midgard (Mali-T6xx et supérieur), créé un désassembleur de shaders, puis différents outils (compilateur Lima) pour l’architecture Midgard et Bitfrost (Mali-Gxx). Toujours au même moment, Alyssa Rosenzweig, qui a commencé le développement pour l’architecture Midgard avec le pilot Chai, coordonne ses travaux avec ceux de Connor Abbott dans un projet nommé Panfrost. Les progrès sont très rapide comme pour le nouveau pilote Lima. Les auteurs prévoient d’utiliser LLVMpipe pour l’émulation Logicielle des parties non encore intégrées pendant leur progression. en mai 2018, le test du cube utilisant des shaders initialement produit pour le pilote Freedreno, fonctionne parfaitement. Les shaders passent par NIR (une représentation intermédiaire des langages de shaders (comme glsl) dont le but est de faciliter la compilation dans le langage du processeur lui même), de Jason Ekstrand.

Vous pouvez suivre leur progrès :
* Sur le blog d’Alyssa Rosenzweig pour Panfrost (et les sources sur GitLab).
* Sur le compte dépôt git des sources de Qiang Yu pour Lima sur gitlab.Freedesktop.org (linux-lima (pilote noyau DRM) et mesa-lima (pilote OpenGL ES/Gallium pour Mesa))
* Compte GitHub de Connor Abbott.

Clavier vietnamien ibus (et Fcitx) sous Linux (Android (Samsung) et X11/Wayland)

Voici mes premiers essais d’utilisation du clavier vietnamien sous Linux (GNU/Linux et Android/Linux).

Il existe plusieurs méthodes de saisie, TELEX (ma préféree), VNI, VIQR+, VIQR*. Voir cette page pour les différentes méthodes et la saisie via un formulaire en ligne.

Sous Wayland :
* Le clavier vietnamien, utilise des touches en haut à droite du clavier pour les accents/tons.
* Le clavier Viqr (ibus-table probablement) utilise des combinaisons de touches pas évidentes qui ressemblent à VIQR+
* Le clavier unikey (ibus-unikey) est par contre très bien fait de mon point de vue.

La méthode sous Android (clavier Samsung), avec le clavier vietnamien utilise par défaut TELEX, cela consiste à utiliser uniquement les caractères de l’alphabet pour ajouter les accents par combinaison. la méthode de vietnamien ibus-unikey (paquet ibus-unikey) également.

Mise à jour du 10 mail. Il existe le clavier « Bàn phím Sophia » (‘Sophia Keyboard’ ou encore Sophia Vietnamese IME en anglais) qui permet également la saisie en vietnamien, j’étais persuadé de l’avoir vu sur F-droid, mais ne le vois pas/plus, je me demande si je n’ai pas mélangé quelque chose.

On peut changer la méthode pour le vietnamien sur un Samsung (une amie vietnamienne ne l’avait pas sur son modèle de téléphone) :
* Paramètres => Gestion globale => Langue et saisie => clavier virtuel => Clavier Samsung => Langues et ypes (gerer les langues de saisie si pas encore installé, sinon) : Tiếng Việt => est alors proposé, [Claviaer télex Qwerty, Clavier VNI Qwerty, Clavier Qwerty vietnamien, Clavier 3×4 (comme anciens téléphones à pavé numérique)).

Je vais expliquer plus bas la méthode TELEX, mais pour l’installer, vous pouvez sous ArchLinux, taper :

sudo pacman -S ibus-unikey

iBus sur le Wiki d’Arch (en anglais), ainsi que Fcitx. Il y a aussi en chinois et japonais (suivre les liens 中文/日本語 à gauche).

Sous Ubuntu, suivre ce tutorial (en vietnamien). Ce site explique aussi pour la version Fcitx-Unikey

Enfin, il existe également un clavier vietnamien virtuel en HTML5 sur le site gate2home.com. Et ça peut être utile, un The Free Vietnamese Dictionary Project, un dictionnaire Vietnamien, permettant la traduction en anglais et l’équivalent en caractère chinois du Vietnamien, jusqu’au milieu du XXe siècle.

Exemple d’utilisation de TELEX :

Plusieurs comportement sont similaire sous Android et Unikey. Sous Android, avec écran tactile, on a le choix entre pression longue ou double pression.

Le redoublement dé lettres dans certains cas :
* o/O doublé/long:ô/Ô
* d/D doublé/long:đ/Đ
Les combinaisons doubles suivantes sont communes à Android et unikey :
* a/e/o/u(r)=ảẻỏủ (attention,cela peut changer avec les caractères précédent si l’ordre n’existe pas, séparez par des espaces pour vos premiers essais si besoin).
* a/e/o/u(s)=áéóú
* a/e/o/u(f)=àèòù
* a/e/o/u(x)=ãẽõũ
* a/e/o/u(j)=ạẹọụ
* a/o/u(w)=ăơư (pas pour android à priori, à vérifier).

Autre combinaisons, par exemple : uwx/uxw=ữ, axw/awx=ẵ

Exemple concret :
* Je suis moi : tooi laf tooi => tôi là tôi.
* Elle mange du tamarin : Coo aar awy me => Cô ẩy ăn me
* Feuille de papier : towf giaasy => tờ giấy
* Je cache le poulet : tooi giaasu con gaf => tôi giấu con gà
* Une chaîne : moojt sowi daay => một sợi dây.

Bonus, UNICODE Han Nom Font Set, des fontes pour les caractères chinois uniquement utilisées dans la langue vietnamienne. L’utilisation des hán tự (汉字) dans le chữ Nôm est parfois radicalement différentes du chinois, beaucoup plus que dans le cas du coréen et du japonais. Quelques autres liens de fontes han pour le vietnamien ici.

Popolon

2017/10/02

Les casseurs et terroristes, sévissent à Barcelone. Au service de la royauté, de Mariano Rajoy, et de la commission européenne (non-élus) qui gouvernent unilatéralement, depuis le refus d’accepter le résultat des urnes pour le référendum sur le traité de constitution européenne.

Ils frappent les populations non-violentes, cassent écoles et bâtiments publics, détruisent urnes et bulletins de votes, encore un beau signe de la part de la grande Europe, Rajoy, Franco, Macron, Pétain, Salazar, quelles sont les différences ? Tous au service des banquiers.

Un article qui décrit l’enchaînement de ces dernières semaines et mois : Dret a decidir La Catalogne sur le chemin de l’indépendance ? de Fernand Cazallis.

Deux vidéos montrant les terroristes et casseurs en action :
* POLICE VIOLENCE IN CATALONIA | CARGAS POLICIALES VIOLENTAS EN EL 1-0
* POLICE VIOLENCE IN CATALONIA (Part 2) | CARGAS POLICIALES VIOLENTAS EN EL 1-0 (Parte 2)

Et pendant ce temps là, sous Macron, quand des parents d’élèves se battent pour protéger leurs enfants d’une usine de produits chimique voisine, c’est à peu près la même chose : A Montreuil, des parents d’élèves délogés sans ménagement par des CRS sur Le Monde.

Un équipement médical ultraportable à base de Rockchip RK3288

C’est une carte ARM Rockchip RK3288 (comme dans mon Chromebook), embarqué dans une tablette avec des connecteurs pour différents équipements médicaux. Tension, échographie, etc. Ça change des énormes équipements pour ce genre d’application, qui nécessitaient jusqu’à présent d’aller dans des hôpitaux ou des centres d’analyse avec beaucoup de moyen.

J’imagine (mais je ne suis pas du tout dans le métier) que les médecins/infirmiers pourront aller dans des coins reculés ou à domicile pour ce genre d’analyse, et surtout que ça facilitera le travail des urgentistes et pompiers. Analyse plus poussée sur le lieu de l’accident, diagnostic plus rapide, permet d’éviter des gestes amenant des complications. Ce produit est conforme avec la réglementation médicale.

Trouvé sur l’excellent CNX-software :
SanStar WS-3A Medical Board Runs Android 5.1 on Rockchip RK3288 SoC.
* Page officielle du SanStar WS-3A Medical Motherboard