URL: https://linuxfr.org/users/hsyl20/journaux/sortie-de-haskus-system-0-7 Title: Sortie de haskus-system 0.7 Authors: hsyl20 Date: 2017年06月30日T09:01:16+02:00 License: CC By-SA Tags: haskell et linux Score: 55 Bonjour, Je n’ai encore jamais parlé ici du logiciel que je développe. Comme je viens d’[annoncer](http://hsyl20.fr/home/posts/2017-06-29-announcing-haskussystem-07.html) la sortie de la version 0.7, c’est l’occasion. Ça parle de Linux et de Haskell. ## Qu’est‐ce que c’est ? ## L’idée de base consiste à prendre le noyau Linux seul (sans _libc_ ni rien) et à refaire les couches d’abstraction au‐dessus en Haskell. Ça permet de faire de la programmation système tout en bénéficiant du système de types, de la mémoire transactionnelle, des _green threads_, etc. Comme ça n’est pas forcément clair, on peut voir ça comme une sorte d’Android où Java aurait été remplacé par Haskell ou comme haskus-system/Linux (par analogie avec GNU/Linux). Je suis encore loin d’avoir les fonctionnalités d’Android et de GNU, c’est juste pour l’image. Pour l’instant, je me suis principalement attaqué aux sous‐systèmes d’entrée et à l’affichage (DRM) pour interagir avec l’utilisateur. J’ai fait le lien avec [Diagrams](http://projects.haskell.org/diagrams/), ça nous fait une sorte de Cairo en Haskell. `haskus-system` est une bibliothèque : chacun peut l’utiliser pour faire le « système » qu’il veut. Un système se présente sous la forme d’un programme d’`init` (dans un _ramdisk_, pour que ce soit simple à utiliser). ## Nouveautés de la version 0.7 ## Avant cette version, il était relativement compliqué de tester un système. Il fallait manuellement compiler Linux, créer le _ramdisk_, configurer et installer Syslinux, lancer QEMU avec les bonnes options, etc. J’ai automatisé tout ça : maintenant, il suffit de déclarer la version de Linux à utiliser et quelques autres options dans un fichier `system.yaml` et l’outil `haskus-system-build` télécharge, configure et construit tout automatiquement. Pour tester un exemple avec QEMU il suffit de faire : ```bash $ git clone https://github.com/haskus/haskus-system-examples/ $ cd haskus-system-examples $ haskus-system-build test --init Demo ``` Voir le manuel utilisateur pour savoir comment installer l’outil et pour voir la liste des logiciels à installer pour qu’il fonctionne (_stack_, _git_, _lzip_, _gcc_, _cpio_, etc.). * [annonce de la sortie de la 0.7](http://hsyl20.fr/home/posts/2017-06-29-announcing-haskussystem-07.html) ; * [manuel utilisateur](http://doc.haskus.org/manual/) ; * [sources](https://github.com/haskus/haskus-system) ; * [petite vidéo de démo](https://www.youtube.com/watch?v=Dg9KyMk2n5E). * [financement participatif pour le projet](https://www.tipeee.com/vipervm)