Dibab

Posté par  . Édité par Davy Defaud, ZeroHeure, Benoît Sibaud et Florent Zara. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
22
19
nov.
2013
Distribution

Dibab est un outil pour se créer sa propre distribution. Il a été écrit pour construire LinuxConsole 2.0. Dibab signifie « choix » en Breton, l’outil est donc conçu pour générer tout type de distributions (poste client, serveur, x86, ARM) à partir d’une base commune.

Quelques mots sur LinuxConsole 1.0

LinuxConsole 1.0 est une distribution orientée jeux vidéo (première version en 2002), dont l’usage s’est généralisé dans le temps (depuis 2005). Je ne m’en occupe plus vraiment depuis 2010 (une distribution généraliste a besoin d’une équipe pour tenir dans le temps).

Du coup, j’ai voulu faire en sorte que LinuxConsole 2.0 soit orientée uniquement jeux vidéo, et que ce soit facile à maintenir. Dibab 2.0 a été créé en ce sens.

Technologies employées

  • dernière version du noyau ;
  • dernières versions de X.Org et Mesa ;
  • Aufs pour accès en écriture, en mode liveCD/liveUSB ;
  • fork de Wubi pour le mode « installation depuis Windows » ;
  • système d’_init_ simplifié au minimum (utilisation de busybox, pas de systemd) ;
  • bureau LXDE ;
  • stockage des données par SquashFS/LZMA ;
  • compilation croisée pour les architectures ARM ;
  • les paquets sources peuvent être des archives tar, ou des .dsc (sources Debian).

Comment ça marche ?

Pour construire votre distribution, vous n’avez pas besoin d’être root (il faut cependant avoir une chaîne de développement complète, sous Debian : bc, lynx, cmake, xfonts-utils, xsltproc, pkg-config, zlib1g-dev, gperf, bzr, unicode-data, llvm, gettext, docbook-xsl, make, mtd-utils, pciutils, texinfo, bzip2, subversion, git, gawk, bison, flex, automake, autoconf, libtool, cvs, lzma, ncurses-dev, g++, genisoimage, qemu, libmpfr-dev et libgmp3-dev).

cd $HOME
install -d src
cd src
git clone https://code.google.com/p/dibab/
cd dibab
cd 2.0

Vous pouvez alors lancer make, par défaut, la compilation se lancera pour x86 (x86_64, si c’est l’architecture de votre ordinateur). Les architectures mini2440 et raspi sont aussi possibles (mais ça fait un moment que je ne les ai pas testées).

Un fichier config.ini est généré, il suffit de modifier le numéro de noyau Linux dans ce fichier si vous voulez une autre version que celle proposée par défaut (essayez 3.12 ;)).

Si tout se passe bien, vous aurez (au bout de 8 heures, au moins…) un fichier ISO (200 Mio, compatible unetbootin), avec un environnement LXDE et la gestion du réseau via NetworkManager.

Ordre de compilation :

  • paquets sources ;
  • noyau ;
  • busybox ;
  • initramfs ;
  • ISO (ARCH x86*).

La suite du projet

Avec L’association Lan Power, nous préparons la sortie de LinuxConsole 2.0 (ajout et tests de jeux). Toutes les bibliothèques utilisées par les jeux devraient se trouver dans Dibab, ce qui fait qu’il reste juste à compiler et installer les jeux.

Au menu de la version 2.1 sont prévus :

  • persistance de données ;
  • architecture Raspi opérationnelle ;
  • gestionnaire de paquets binaires.

Aller plus loin

  • # Oui mais... pourquoi imposer un environnement de bureau

    Posté par  . Évalué à 3.

    C'est intéressant comme idée. Quelque part entre Tiny Core Linux, Slitaz et Gentoo. J'apprécie la possibilité de choisir un noyeau très récent. Mais je regrette que des choix soient "imposés" comme l'utilisation de X.org ou de LXDE. De ce côté Tiny Core Linux me semble beaucoup plus souple.
    Mais c'est lié à l'objectif initial du projet probablement, qui était Linux console.

    Ce qui m'amuse c'est que mon "Windows 8" est devenu lui véritablement un "Windows Console", c'est à dire qu'il ne me sert plus strictement qu'à jouer, alors que ma partition Linux est celle avec laquelle je travaille réellement. C'est à dire - désolé - l'inverse de l'objectif de ce projet. C'est assez drôle.

    • [^] # Re: Oui mais... pourquoi imposer un environnement de bureau

      Posté par  . Évalué à 3.

      Le problème de choisir tel ou tel environnement, c'est qu'il faut se taper l'inclusion de chaque programme dans le menu (ce n'est pas toujours prévu)

    • [^] # Re: Oui mais... pourquoi imposer un environnement de bureau

      Posté par  . Évalué à 2.

      En architecture x86, tu peux difficilement te passer de Xorg pour proposer une large gamme de jeux.

      LXE n'est pas imposé. Tu peux très bien remplacer les fichiers sources de LXDE par ceux de XFCE par exemple (fichier 2.0/packages/list-x86)

      Par contre, je trouve que LXDE est l'interface la plus soignée sur un bureau "léger". Dibab devrait aussi servir à "Recycler" des ordinateurs anciens, c'est pour cela que je suis parti sur un bureau léger.

      • [^] # Re: Oui mais... pourquoi imposer un environnement de bureau

        Posté par  . Évalué à 2.

        Oui, je comprends.

        Mais personnellement je serai parti sur une optique différente : Si on veut jouer c'est que l'on possède à priori une carte graphique. Dès lors autant oublier les environnements de bureau de l'ère du CPU-roi comme Gnome, XFce, KDE et LXDE et partir directement sur du compiz-fusion+Emerald ou Enlightenment. Il y a à peu près tout ce qu'il faut pour un poids et une complexité bien inférieure. Et puis surtout ça exploite la carte graphique et laisse du CPU libre pour les jeux.

        Avec Tiny Core Linux une base noyeau+busybox+compiz-fusion fait ~60Mo (bon ok là je triche, je ne garde que le driver de ma CG, je pense qu'avec tous les drivers on doit arriver à 90~100 Mo).

        • [^] # Re: Oui mais... pourquoi imposer un environnement de bureau

          Posté par  . Évalué à 1.

          Si Dibab fait 200Mo, ce n'est pas seulement à cause de Xorg et LXDE, ce sont les nombreuses librairies multimédia dont dépendent les différents jeux qui prennent le plus de place.
          J'ai choisi d'inclure un maximum de librairies, pour ne pas à avoir à gérer les dépendances pour les différents jeux.

          Quel utilitaire de paramétrage pour réseau sans fil me conseillerais-tu avec compiz-fusion ?

  • # Remarques

    Posté par  (site web personnel) . Évalué à 3.

    Comme dit plus haut, un peu dommage de restreindre à LXDE. Étrange aussi d'écarter systemd.

    Concernant LinuxConsole 2, peut-on en savoir plus?
    L'idée est-elle de faire un liveCD ou bien une vraie distribution faite pour être installée et se servir de son PC pour jouer?
    Quels sont les axes étudiés? (packaging des jeux, menu utilisable à la manette, accent sur le support des matériels graphiques… ?)

    • [^] # Re: Remarques

      Posté par  . Évalué à 3.

      Le choix de LXDE et lié à sa légèreté, mais Yann Le Doaré pourra nous en dire plus. L'idée ou les idéées, sont de faire non pas un mais des live CD/DVD et aussi clés USB mais encore installable sous Windows Via un fork de Wubi comme c'est expliqué. Pour l'instant, ce n'est pas prévu de l'installer sur son PC, mais Yann nous en dira peut-être plus.
      Les axes étudiés : pleins. Il y a plein de variantes en projet, dont l'une d'elle pourrait être un support de communication pour des jeux en court de développement. Nous mettons également l'accent sur le support des matériels graphiques (pour l'instant ça se passe bien).

    • [^] # Re: Remarques

      Posté par  . Évalué à 1.

      Toutes les idées sont bonnes à prendre.

      Il serait intéressant d'avoir une version entièrement utilisable à la manette, qui serait basée sur XBMC

      • [^] # Re: Remarques

        Posté par  (site web personnel) . Évalué à 2.

        Je me rends pas du tout compte de ce qui est possible avec XBMC, on peut lancer des applications avec?

        Mais effectivement c'est un peu l'idée coté interface, menu plein écran avec mozaique d'icône, et surtout jeux classés par catégories.
        Une distribution gamer aurait aussi intérêt à proposer mumble et ce genre d'outils qui sont utilisés en périphérie des jeux.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.