• # Ça ne nous rajeunit pas

    PostĂ© par . ÉvaluĂ© Ă  7.

    Les vieilles versions du noyau pouvaient booter sans bootloader, il y avait un utilitaire (rdev) qui permettait d'écrire dans l'image du noyau les paramÚtres de boot.

    Par contre, fallait pas se planter......

    • [^] # Re: Ça ne nous rajeunit pas

      PostĂ© par . ÉvaluĂ© Ă  5. DerniĂšre modification le 09 juillet 2024 Ă  16:23.

      Le bootloader (tel que grub) n'avait de raison d'ĂȘtre que sur des machines x86, en raison de la limitation du sercteur de boot Ă  512 octets, et surtout pour pouvoir installer plusieurs OS sur le mĂȘme disque. ( je me rappelle encore du fameux LILO sur les premier Linux que j'avais intallĂ© ). Si le BIOS avait permis d'aller chercher un programme de plus de 512 octets sur le disque dur des machines x86, nous n'aurions pas eu besoin de gestionnaire de dĂ©marrage ( il me semble que les machines sun, IBM/AIX - ou apple PowerPC - qui utilisent l'Open Firmware, n'ont pas besoin de cette Ă©tape intermĂ©diaire : ils vont lire directement le noyau sur la partition si ma mĂ©moire est bonne).

      Aujourd'hui avec l'UEFI, mĂȘme pour du multi-boot on peut se passer de Grub (ou tout autre logiciel Ă©quivalent). Et il me semble qu'il n'y a pas de grub sur les distributions Linux Ă  base de CPU ARM (ex : Raspberry pi).

      Tiens ... d'ailleurs cette histoire de bootloader, et de secteur de démarrage de 512 octets me fait penser à une série de journaux que je dois écrire depuis maintenant bien longtemps ( idée que j'ai eue durant le premier confinement COVID, que je n'ai pas pu concrétiser à l'époque par manque de motivation, mais celle-ci m'est revenue ces derniers temps).

      • [^] # Re: Ça ne nous rajeunit pas

        PostĂ© par . ÉvaluĂ© Ă  2.

        Et il me semble qu'il n'y a pas de grub sur les distributions Linux Ă  base de CPU ARM (ex : Raspberry pi)

        Il doit y a avoir un petit u-boot sur les Raspberry pi non ?

        • [^] # Re: Ça ne nous rajeunit pas

          PostĂ© par . ÉvaluĂ© Ă  2.

          u-boot fait partie du firmware du raspberry pi : je le vois au mĂȘme niveau que le BIOS ou l'UEFI. Si on veut parler de boot loader pour RPi, je verrais un truc du style Noobs/Pinn, ou Berryboot

          • [^] # Re: Ça ne nous rajeunit pas

            PostĂ© par . ÉvaluĂ© Ă  2.

            Merci pour cette réponse. Pourtant U-Boot, c'est bien un bootloader. En ligne de commande, on peut choisir sur quelle partition démarrer. Fonctionnellement, il peut faire du dual boot comme indiqué dans le lien.

            • [^] # Re: Ça ne nous rajeunit pas

              PostĂ© par . ÉvaluĂ© Ă  2.

              Effectivement, je mĂ©lange un peu tout ... La page wikipedia sur uboot indique que celui-ci peut remplacer BIOS et UEFI, j'avais aussi par ailleurs lu des articles ou justement uboot joue le rĂŽle de l'UEFI dans certaines cartes ARM (ça doit ĂȘtre ici d'ailleurs ). Enfin, aprĂšs avoir lu ce document (en diagonale je l'avoue), j'ai confondu uboot et firmware pour le Raspberry pi. Or il semble qu'en fait le firmware de dĂ©marrage du RPi n'est pas uboot, mais que rien n'empĂȘche de l'installer sur un raspberry pi (ce que je ne savais pas) ou il prendra le rĂŽle de Grub (voir par exemple https://elinux.org/RPi_U-Boot).

      • [^] # Re: Ça ne nous rajeunit pas

        PostĂ© par (site web personnel) . ÉvaluĂ© Ă  2.

        Étonnant d'ailleurs qu'il n'y ait pas un bootloader dans la galaxie systemd.

        Adhérer à l'April, ça vous tente ?

      • [^] # Re: Ça ne nous rajeunit pas

        PostĂ© par . ÉvaluĂ© Ă  1.

        Je parlais d'une époque à laquelle linux n'avait pas été porté sur d'autres architectures que le i386.

        On pouvait dĂ©marrer em mettant le noyau sur disquette, et en lui indiquant avec rdev oĂč il trouverait sa racine.

        On avait en général une disquette de rescue, en cas de fausse manip avec LILO.

      • [^] # Re: Ça ne nous rajeunit pas

        PostĂ© par . ÉvaluĂ© Ă  1.

        il me semble qu'il n'y a pas de grub sur les distributions Linux Ă  base de CPU ARM

        https://forum.armbian.com/tags/uefi-arm64/

        désolé, c'est un peu court, mais je suis au boulot.

        "Si tous les cons volaient, il ferait nuit" F. Dard

  • # sans bootloader -- ou plutĂŽt linux comme bootloader.

    PostĂ© par (Mastodon) . ÉvaluĂ© Ă  4. DerniĂšre modification le 09 juillet 2024 Ă  18:40.

    Le titre du lien laisse à penser que la présentation porte sur le démarrage de linux sans bootloader. En l'occurence c'est en partie vrai, mais pas nouveau car UEFI a toujours permis de booter un noyau linux directement. Mais les distros ne mettent presque jamais ça en place, d'une part pour avoir une UX égale qu'on utilise un matériel avec ou sans UEFI, mais aussi pour les autres fonctionnalités: avoir un menu permettant d'éligir le noyau que l'on veut démarrer, booter un autre OS, accéder au firmware depuis le menu, etc. La partie intéressante de la présentation, c'est nmbl, qui permet d'utiliser linux comme bootloader afin de remplacer grub. Grosso merdo les ingés de redhat se sont rendu compte que:

    • grub doit implĂ©menter plein de trucs dĂ©jĂ  supportĂ© par linux comme le support de divers systĂšmes de fichiers diffĂ©rents, tout ce code est un peu redondant.
    • grub a eu pas mal de failles de sĂ©curitĂ©
    • du coups pourquoi ne pas faire grub avec linux. Ça fait moins de code Ă  maintenir et corriger, une faille de sĂ©curitĂ© de linux sera corrigĂ©e dans linux et dans le bootloader nmbl utilisant linux, etc.

    Et c'est ce qu'on voit dans la dĂ©mo Ă  la fin, nmbl a deux mode: un oĂč le noyau de la distro est bootĂ© automatiquement, mais sur lequel on peut changer des paramĂštres, un autre oĂč on peut accĂ©der Ă  un menu interactif et choisir son noyau/OS.

    Accessoirement les commentaires sur hacker news m'ont permis de dĂ©couvrit que nmbl n'est pas le premier projet dans ce sens Ă  utiliser linux comme bootloader puisqu'il existait dĂ©jĂ  zfsbootmenu qui est un bootloader construit Ă  base d'un noyau linux et du driver ZFS pour fournir les mĂȘmes fonctionnalitĂ©s que le booloader de FreeBSD et permettre de booter un systĂšme linux avec root sur ZFS en utilisant les derniĂšres fonctionnalitĂ©s proposĂ©es par openzfs, le support ZFS de Grub Ă©tant basĂ© sur du vieux code ZFS hĂ©ritĂ© de la version d'Oracle. Il permet par exemple de booter sur diffĂ©rentes distros/kernels installĂ©s sur le mĂȘme pool ZFS, de dĂ©marer depuis un snapshot en particulier, y compris si celui-ci est sur un dataset chiffrĂ© en proposant l'invite de passphrase directement au niveau du bootloader. Il est mĂȘme possible depuis le bootloader ZFSmenu de faire un snapshot ou cloner un dataset avant de booter depuis-celui-ci.

    • [^] # Re: sans bootloader -- ou plutĂŽt linux comme bootloader.

      PostĂ© par (Mastodon) . ÉvaluĂ© Ă  4.

      Évidemment dans le cas de zfsbootmenu on peut se poser la mĂȘme question que pour ubuntu sur la lĂ©galitĂ© vis Ă  vis de l'incompatibilitĂ© GPL/CDDL pour livrer des binaires linux avec un support ZFS...

    • [^] # Re: sans bootloader -- ou plutĂŽt linux comme bootloader.

      PostĂ© par (site web personnel) . ÉvaluĂ© Ă  5.

      grub doit implémenter plein de trucs déjà supporté par linux comme le support de divers systÚmes de fichiers différents, tout ce code est un peu redondant.

      En plus d'ĂȘtre redondant, il manque parfois de fonctionnalitĂ©. Par exemple, j'ai pu voir il y a 15 ans que le support par Grub du fs de mon macbook Ă©tait incomplet (donc j'ai eu la joie de faire un patch pour installer Fedora sur le dit portable tout neuf).

      J'imagine que c'est pareil quand tu veux supporter des nouveaux systémes de fichiers, il faut attendre le support dans grub et refaire le travail de 0 (vu que grub est en GPL 3+, et le kernel en GPL 2 uniquement, et je pense que c'est pas automatiquement compatible). Et de toute façon, tu va devoir refaire le code car grub n'a pas besoin d'écrire, juste de lire, donc tu peux simplifier tout (ce qui est mieux d'un point de vue de l'optimisation, mais moins bien d'un point de vue de devoir refaire le code ).

      • [^] # Re: sans bootloader -- ou plutĂŽt linux comme bootloader.

        PostĂ© par (site web personnel) . ÉvaluĂ© Ă  2. DerniĂšre modification le 10 juillet 2024 Ă  13:19.

        ce qui est mieux d'un point de vue de l'optimisation

        Ce n'est mĂȘme pas clair que ça fonctionne en pratique : j'imagine que les FS du noyaux sont optimisĂ©s Ă  mort, alors qu'il n'y a peut-ĂȘtre pas autant de pression pour le faire dans Grub.

        Sur un sujet connexe, j'ai un disque totalement chiffré avec Btrfs, avec Grub c'est un peu la misÚre, il prend autour d'une minute à déchiffrer et parfois l'OS demande le mot de passe une deuxiÚme fois selon comment tu navigues dans les menus dans grub. Alors que systemd-boot est capable de déchiffrer immédiatement et c'est mieux intégré.

        vu que grub est en GPL 3+, et le kernel en GPL 2 uniquement, et je pense que c'est pas automatiquement compatible

        Ça peut fonctionner si le code du FS est sous licence permissive ou sous GPLv2+ (ce qui reste possible, mais je ne sais pas quelles sont les rùgles exactes).

        • [^] # Re: sans bootloader -- ou plutĂŽt linux comme bootloader.

          PostĂ© par (site web personnel) . ÉvaluĂ© Ă  3.

          Ce n'est mĂȘme pas clair que ça fonctionne en pratique : j'imagine que les FS du noyaux sont optimisĂ©s Ă  mort, alors qu'il n'y a peut-ĂȘtre pas autant de pression pour le faire dans Grub.

          J'aurais du prĂ©ciser, je pensais Ă  la taille du code (et donc du binaire). Si tu as que besoin de lire, tu peux retirer pas mal de choses donc le binaire va ĂȘtre plus petit. Ce n'est sans doute plus pertinent avec avec GPT et l'UEFI, mais au bon vieux temps du MBR, l'important Ă©tait autre.

          Ça peut fonctionner si le code du FS est sous licence permissive ou sous GPLv2+ (ce qui reste possible, mais je ne sais pas quelles sont les rùgles exactes).

          Ou si tu chopes du code venant d'un BSD par exemple. Maintenant, le souci de BSD, c'est que ça va pas pas supporter rapidement les nouveaux fs de Linux, donc ç'est pas non plus génial.

  • # c'est Ă  la mode

    PostĂ© par . ÉvaluĂ© Ă  2.

    article : One File Linux

    C'est bien l'EFI prend enfin ses marques par rapport au vénérable BIOS.

Suivre le flux des commentaires

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