Auteur Sujet: Inflation de la taille du noyau Linux et de ses pilotes  (Lu 13671 fois)

0 Membres et 1 Invité sur ce sujet

chad86

  • Abonné Free fibre
  • *
  • Messages: 418
  • chatellerault (86)
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #48 le: Hier à 13:00:18 »
je crois que j'ai compris

Ubuntu et Debian n'utilisent pas tout à fait le même système de mises à jour

Debian va chercher uniquement ce dont il a besoin (y compris les pilotes propriétaires si le sources.list est bien configuré)

Ubuntu te balance toute la MAJ packagée (ce qui encombre serveurs et bande passante) puis ensuite ton système pioche ce dont il a besoin
avec en prime des MAJ bien plus fréquentes

non ?

est-ce qu'en commande (apt-get update / upgrade) ça fait pareil ?
il te prend 600Mo sur le réseau à chaque fois ?
ou c'est juste en graphique ?

vivien

  • Administrateur
  • *
  • Messages: 51 987
    • Bluesky LaFibre.info
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #49 le: Hier à 13:08:10 »
est-ce qu'en commande (apt-get update / upgrade) ça fait pareil ?
il te prend 600Mo sur le réseau à chaque fois ?
ou c'est juste en graphique ?
Même chose en ligne de commande.

Leon

  • Abonné Bbox fibre
  • Modérateur
  • *
  • Messages: 6 855
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #50 le: Hier à 19:23:44 »
Pour ton besoin Leon, tu devrais tenter Debian 13.
Effectivement, avec 1,4Go après une installation fraiche juste avec le minimum dont j'ai besoin, ça me semble bien mieux. En plus Debian et Ubuntu sont "cousins", donc je ne serais pas dépaysé. Merci.

Parce que Linux, contrairement à Windows, ne garantit aucune stabilité de son ABI. Si un pilote est laissé en dehors du noyau, il devient incompatible très vite et se casse à la prochaine màj du noyau. En étant intégré aux mêmes dépôts de code source que le noyau, ça permet de s'assurer que les màj du noyau ne vont rien casser.

Windows a fait le contraire : ABI figée, mais par conséquent contrôle qualité fragmenté dans tous les sens, et gestion de la sécurité de l'anneau 0 (ring0) du noyau qui est de facto déléguée aux équipementiers et leur code souvent calamiteux

(Dites-moi si j'ai fait une erreur de compréhension car ça fait un bail que j'ai regardé ces détails techniques)
C'est valable pour toutes les distributions Linux? Ou alors juste Ubuntu?
Sur tous les linux, on met dans le noyau tous les drivers et firmware de tous les matériels courants des 20 dernières années?
C'est franchement pas clair pour moi, pas facile à comprendre.

Leon.

chad86

  • Abonné Free fibre
  • *
  • Messages: 418
  • chatellerault (86)
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #51 le: Hier à 20:03:00 »
Citer
avec 1,4Go après une installation fraiche

Debian pèse plus que ça
là tu parles de l'installation sans interface graphique

Debian ne convient pas en graphique pour ton (très) petit disque dur

oui en gros c'est la force de Linux d'avoir tout qui marche presque partout dès le démarrage
mais ça ne prend pas de place dans le noyau

thenico

  • Expert.
  • Abonné OVH
  • *
  • Messages: 1 062
  • FTTH >500 Mb/s (13)
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #52 le: Hier à 22:38:00 »
C'est valable pour toutes les distributions Linux? Ou alors juste Ubuntu?
Sur tous les linux, on met dans le noyau tous les drivers et firmware de tous les matériels courants des 20 dernières années?
C'est franchement pas clair pour moi, pas facile à comprendre.

Cela dépends des choix de ta distribution.
La stratégie la plus commune est de fournir un INITial RamDisk qui contient suffisamment de module critique pour trouver le volume système puis charger le reste.
La définition de "suffisamment de module critique" est différente entre Fedora (qui spécialise par défaut pour la machine) et Debian.

Mais tu peut toujours booter un linux à l'ancienne sans initrd et aucun module ...

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 885
  • Chambly (60)
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #53 le: Aujourd'hui à 03:39:19 »
C'est valable pour toutes les distributions Linux? Ou alors juste Ubuntu?
Sur tous les linux, on met dans le noyau tous les drivers et firmware de tous les matériels courants des 20 dernières années?
C'est franchement pas clair pour moi, pas facile à comprendre.
Il y a plusieurs choses :
 - le kernel lui-même : il y a le code de base, et certains drivers que la distribution choisit d'intégrer directement, il peut y avoir plusieurs variantes (par exemple une version "cloud" allégée qui ne contient que ce qui est nécessaire pour les VM habituelles)
 - les modules (drivers compilés en fichiers séparés), qui sont en général regroupés en plusieurs paquets (au moins un de base, et un "extra" pour le matériel plus rarement utilisé)
 - les firmwares : il y en a de plus en plus, beaucoup de périphériques ne fonctionnent pas sans (ou de manière très limitée), les distributions commencent à découper un peu pour éviter de tout avoir
 - l'initrd : il doit contenir un certain nombre de programmes, et des modules nécessaires au boot (drivers pour le disque ou le réseau, le GPU, ...), il peut être déjà généré (donc gros), ou l'être au moment de l'installation du paquet (et là on peut parfois choisir la liste des modules intégrés, par exemple de faire une version la plus minimaliste possible sans les fonctionalités et drivers non nécessaires à une machine donnée, quitte à ce que ça pose problème en cas de changement de HW)

Par rapport à un Windows, la philosophie est différente.
Même si c'est moins le cas aujourd'hui, Windows n'aime pas les changements de matériel : si on prend un disque et qu'on le met sur un autre PC, il n'est pas sûr qu'on puisse booter sans avoir à réinstaller (et dans tous les cas le premier boot sera long, et il faudra potentiellement rebooter ensuite avant de tout avoir de fonctionnel).
Linux au contraire a très peu de paramètres statiques liés au matériel, et a par défaut la majorité des drivers déjà installés, donc il est beaucoup plus simple de booter sur un autre PC (parfois c'est totalement transparent).
C'est notamment ça qui permet un Linux bootable depuis un DVD / une clé USB en étant très proche de la version installée, alors que les équivalents Windows sont pleins de contournements et loin d'être complets.

Rien n'interdirait de faire un Linux qui télécharge les drivers et firmwares de manière individuelle et à la demande, mais ce serait un énorme travail pour la distribution.
Il faudrait que les modules soient téléchargeables en tant que fichiers individuels, mais quand même mis à jour, avec un système pour suivre les dépendances et les modalias (d'une version à l'autre, le module à utiliser pour un contrôleur donné peut changer, ou se mettre à dépendre d'un module supplémentaire).
Et tout devrait être conservé sur les serveurs : si un utilisateur n'a pas mis à jour son kernel depuis 3 mois et branche un nouveau périphérique USB, il faudrait qu'il puisse télécharger le module (l'ABI n'étant pas stable, ça doit être celui qui correspond à la version et configuration du kernel qu'il a, ou presque).

chad86

  • Abonné Free fibre
  • *
  • Messages: 418
  • chatellerault (86)
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #54 le: Aujourd'hui à 04:12:00 »
Citer
si on prend un disque et qu'on le met sur un autre PC

oui c'est fascinant quand on voit ça la première fois !
tu casses ton PC mais tu récupères le disque dur pour le mettre dans un autre qui n'a rien à voir

=> ça marche !

sur Windows il faut réinstaller

Leon

  • Abonné Bbox fibre
  • Modérateur
  • *
  • Messages: 6 855
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #55 le: Aujourd'hui à 06:19:07 »
Cela dépends des choix de ta distribution.
La stratégie la plus commune est de fournir un INITial RamDisk qui contient suffisamment de module critique pour trouver le volume système puis charger le reste.
La définition de "suffisamment de module critique" est différente entre Fedora (qui spécialise par défaut pour la machine) et Debian.
On parlait de drivers et firmware dans la discussion. Est-ce que ce sont des cas particuliers de "modules" dont tu parles?
Si oui, ça voudrait dire que Fedora n'installe que les firmware et drivers nécessaires pour chaque machine, alors que Ubuntu installe TOUT?

Par rapport à un Windows, la philosophie est différente.
Même si c'est moins le cas aujourd'hui, Windows n'aime pas les changements de matériel : si on prend un disque et qu'on le met sur un autre PC, il n'est pas sûr qu'on puisse booter sans avoir à réinstaller (et dans tous les cas le premier boot sera long, et il faudra potentiellement rebooter ensuite avant de tout avoir de fonctionnel).
Depuis les tous premiers Windows 10, la transplantation de disque dur / installation entre machines hétérogènes, ça fonctionne bien, de ce que j'ai constaté. Avant ça n'était pas le cas.

Rien n'interdirait de faire un Linux qui télécharge les drivers et firmwares de manière individuelle et à la demande, mais ce serait un énorme travail pour la distribution.
Il faudrait que les modules soient téléchargeables en tant que fichiers individuels, mais quand même mis à jour, avec un système pour suivre les dépendances et les modalias (d'une version à l'autre, le module à utiliser pour un contrôleur donné peut changer, ou se mettre à dépendre d'un module supplémentaire).
Travail énorme que Microsoft fait déjà?
Et il faut sans doute distinguer le fait de télécharger tout ou partie les drivers/firmwares et le fait d'installer tout ou partie de ces drivers/firmwares.


Parce que Linux, contrairement à Windows, ne garantit aucune stabilité de son ABI. Si un pilote est laissé en dehors du noyau, il devient incompatible très vite et se casse à la prochaine màj du noyau. En étant intégré aux mêmes dépôts de code source que le noyau, ça permet de s'assurer que les màj du noyau ne vont rien casser.
Et tout devrait être conservé sur les serveurs : si un utilisateur n'a pas mis à jour son kernel depuis 3 mois et branche un nouveau périphérique USB, il faudrait qu'il puisse télécharger le module (l'ABI n'étant pas stable, ça doit être celui qui correspond à la version et configuration du kernel qu'il a, ou presque).
On en revient à l'ABI Kernel linux instable entre les mises à jour. Est-ce qu'il faut comprendre que c'est le coeur du problème autour de Linux et des drivers? Qui oblige à embarquer les drivers avec le kernel? Si c'est confirmé, c'est quand même une sacrée contrainte, difficile à comprendre quand on vient d'un monde Windows.

Leon.
« Modifié: Aujourd'hui à 06:55:36 par Leon »

vivien

  • Administrateur
  • *
  • Messages: 51 987
    • Bluesky LaFibre.info
Inflation de la taille du noyau Linux et de ses pilotes
« Réponse #56 le: Aujourd'hui à 09:29:56 »
Depuis les tous premiers Windows 10, la transplantation de disque dur / installation entre machines hétérogènes, ça fonctionne bien, de ce que j'ai constaté. Avant ça n'était pas le cas.
J'ai de temps en temps des tests à faire sur Windows sur de vieux PC et j'ai donc tenté d'avoir un SSD externe sur lequel j'ai mis un dual boot Windows 10 + Ubuntu.

J'ai été très déçu, car la plupart du temps, Windows n'arrive pas se lancer et plante pendant son démarrage (ce n'est pas le cas de Linux).