Faut-il adapter un OS a chaque BIOS ?

Résolu/Fermé
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024 - 15 oct. 2020 à 12:38
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 25 oct. 2020 à 01:56
Bonjour,

Je ne vais pas réaliser un copier-coller des environnement Linux KDE ou GNOME pour cet OS, aussi des lignes de code seront nécessaires pour cet OS.

Les lignes de code pour l’OS étant réalisées faut-il les adapter aux quatre principales marque de BIOS que sont AMI AWARD PHOENIX SYSTEMSOFT ou au contraire l’écriture de l’OS ne réalise une seule fois ?

Merci de vos réponses.

Configuration: Linux / Firefox 81.0
A voir également:

5 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 15 oct. 2020 à 14:11
Bonjour,

Réponse courte : non :-)

Réponse détaillée

La marque du BIOS et l'OS sont deux considérations indépendantes : tu n'as pas à t'en préoccuper.

La seule considération BIOS qui compte au moment d'installer un système d'exploitation, c'est s'il est compatible UEFI/secure boot si tu as un tel BIOS et que tu as activé cette option. C'est le cas de toutes les distributions linux récentes (e.g. debian à partir de la version jessie), qui proposent des versions de grub suffisamment modernes pour prendre en charge EFI correctement.

Une chose importante à savoir, c'est que si tu as déjà un système installé en mode secure boot (e.g. Windows), alors Linux doit aussi être installé en mode secure boot. Voir ici pour plus de détails.

Les considérations KDE ou Gnome sont complètement indépendantes du BIOS. Il en va de même pour la plupart des paquets / logiciels que tu peux installer sous linux (si on omet les paquets liés à EFI, e.g.
grub-efi-amd64
). Au passage, tu peux installer simultanément KDE et Gnome avec une seule installation linux, ça ne pose absolument aucun problème, inutile de faire deux installations de Linux indépendantes.

Bonne chance
1
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
16 oct. 2020 à 14:46
le système communique avec le BIOS et le BIOS communique avec le hardware hors le hardware est diversifié, l’explication que je donne est la suivante :

coté hardware tous les BIOS sont adaptés aux chipset & caractéristiques de leur propre carte mère

coté système les BIOS sont tous identiques et donc il suffit d’adapter le noyau Linux choisit une seule fois pour l'ensemble des BIOS

qu'en pense tu mamiemando ?
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
17 oct. 2020 à 03:21
Bonjour

Réponse courte :

Tu confonds BIOS et noyau, deux notions qui n'ont rien à voir.
  • Le noyau (kernel) et ses modules forment la couche logiciel qui sert d'interface entre ton matériel et ton système d'exploitation (OS). Tu peux voir ça comme une sorte de super driver.
  • L'OS regroupe ce qui permet à l'utilisateur de sa machine (e.g. les applications, les commandes systèmes, etc.). Il s'appuie sur le noyau sous-jacent pour tirer parti de ton matériel, qui sert d'intermédiaire.
  • Sous windows, la distinction entre OS et kernel n'est pas clairement affichée (mais existe).


Le BIOS est une sorte d'OS simpliste, géré par la carte mère. Le BIOS permet de spécifier les options propres à la carte mère, notamment :
  • sur quel(s) disque(s) amorcer (disque dur, clé USB, lecteur DVD...),
  • dans quel ordre,
  • et avec quelle(s) option(s) (secure boot, legacy mode...).


Le BIOS laisse complètement la place au kernel et à l'OS sur lequel on choisit de démarrer, et ne sert donc pas d'intermédiaire entre ton système et ton matériel.

Compléments (que se passe-t'il entre le moment où tu allumes ton PC et le moment où linux est prêt à être utilisé)

(l'esprit reste le même avec d'autres OS, même si ce qui suit est spécifique à linux)

1) Lorsque tu allumes ton PC, la carte mère exécute la séquence de démarrage spécifiée dans le BIOS. Pour chaque lecteur, pris dans l'ordre
  • Si le disque est amorçable on passe à l'étape (2)
  • Soit il ne l'est pas, et on répète (1) avec le disque suivant dans la séquence de démarrage.
  • Si on a épuisé la liste, le BIOS dit qu'il n'a trouvé aucun disque amorçable et écrit un message d'erreur (tu es alors bon pour redémarrer ton ordinateur et revoir ta séquence de démarrage dans ton BIOS).


2) Si le disque est amorçable, on exécute le code stocké dans son en-tête. S'il n'y en a pas, on a un beau message d'erreur (disque non bootable). Cette en-tête petite, et on ne peut y stocker qu'un petit programme. Les noyaux sont bien trop gros pour y tenir et c'est pour ça qu'on a besoin d'un intermédiaire plus minimaliste, typiquement un menu de démarrage (boot loader). e.g. grub. Il permet :
  • d'amorcer un noyau (qui ne pourrait pas tenir dans l'en-tête, ce qui est le cas de tous les noyaux de systèmes tels que windows ou linux) ;
  • de donner l'opportunité à l'utilisateur de choisir quel noyau, avec quelles options et sur quel système démarrer (étape 3).


3) Si le noyau choisi ne prend pas en charge le matériel vital, il plantera lamentablement (kernel panic). Sinon, Le kernel va ensuite s'empresser de lancer le programme
init
, qui va en cascade lancer le système d'exploitation.

4)
init
démarre les services adéquats (conformément à
/etc/inittab, /etc/init.d, /etc/rc*.d
sous linux), typiquement ton serveur ssh, le mode graphique, etc.

5) Une le système fois démarré, l'utilisateur peut lancer les applications de son choix. Toutes s'appuient sur l'OS sous-jacent. L'OS est en charge de présenter à l'utilisateur une arborescence qui lui permettra d'interagir avec ses fichiers (e.g.
/home
), ses applications (
/bin
,
/sbin
,
/usr
), et avec le noyau (
/proc
et
/dev
).

En espérant que ces explications étaient raisonnablement claires et compréhensibles, j'espère que cela aura répondu à ta question.

Bonne chance
0
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
24 oct. 2020 à 06:10
Je te remercie pour toutes ces précisions mamiemando et suis d'accord avec toi. Via l'intermédiaire de son noyau l'OS communique directement avec le matériel et le BIOS ne sert qu'au démarrage.

C'est ce que je pensais sans en être sur, je travail avec VisualBasic et SQL et mes connaissances en hardware sont moins poussées qu'un spécialiste du hardware. Mais un de mes collègue qui travail avec PHP HTML CSS ne cessait de prétendre le contraire, visiblement il y connais encore moins que moi?
0
flo88 Messages postés 25873 Date d'inscription dimanche 15 mai 2005 Statut Contributeur Dernière intervention 24 avril 2024 4 397
24 oct. 2020 à 10:51
le BIOS ne sert qu'au démarrage    


C'est réducteur, le bios est actif en continu, c'est lui qui fait fonctionner l'ordinateur, par analogie (grossière) avec une voiture, le démarreur c'est le secteur 230v, le moteur c'est le bios, qui contrôle tous les paramètres de fonctionnement du véhicule avec l'aide du calculateur de bord. L'OS c'est le conducteur du véhicule.....
On coupe le bios on plante le pc
On coupe le moteur, on stop la voiture.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
25 oct. 2020 à 01:56
Bonjour

@Flo88: Tu as raison de soulever cette précision.

D'après la page wikipedia, l'OS (ou plutôt son kernel) peut s'appuyer sur un certains nombre de points d'entrée exposés par le BIOS, notamment pour permettre au système de gérer la carte mère en s'affranchissant de considérations matérielles. C'est d'ailleurs pourquoi on te recommande parfois de "mettre à jour ton BIOS", c'est que ça a un rôle une fois le système d'exploitation démarré.

Maintenant, si tu lis la page à ce sujet sur quora, tu verras que le kernel peut complètement ignorer le BIOS :

The BIOS is a library of functions that is used to boot the system, and to perform basic read and write access to the hardware on the motherboard, for example the RAM chips. Once the system is booted, the BIOS sits inactive, waiting for the operating system to call any of its functions. The operating system, in turn, may choose to ignore the BIOS, and access the hardware directly. There are pros and cons to this. BIOS code is convenient because in theory it handles all the messy requirements of reading and writing to particular hardware. On the other hand, BIOS code is notoriously buggy, and sometimes an operating system may have no choice but to bypass it

Au final, en tant qu'utilisateur, ce n'est pas ultra fondamental de savoir si le kernel s'appuie ou non sur le BIOS. Tant que ça marche, c'est un détail d'implémentation. Par contre pour la compréhension de comment ça marche, les deux notions les plus importantes sont :

1) Le BIOS est ce qui est lancé au démarrage de l'ordinateur et permet d'amorcer sur un disque, qui permettra d'amorcer un boot loader, comme grub, qui à son tour permettra de lancer windows ou linux)
2) Le kernel gère le matériel (potentiellement via le BIOS pour la carte mère), et permet à l'OS de s'affranchir de bon nombre de considérations spécifiques au matériel. L'OS propose quant à lui les briques logicielles pour lancer les commandes et applications qui à l'utilisateur d'utiliser son ordinateur.

Bonne chance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
24 oct. 2020 à 11:33
Je suis d'accord avec toi flo88 on retire la puce ROM du BIOS et l'ordinateur ne fonctionne plus, peu de gens savent cela, pour eux le BIOS se réduit au démarrage de la machine.

Je pensais que l'OS communiquait directement avec le hardware mais un collègue m'affirmait le contraire (l'OS communique qu'avec le BIOS qui communique avec le hardware) je voulais obtenir une confirmation ou non confirmation.
0