BIOS

zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014 - 16 avril 2007 à 23:22
Mareck666 Messages postés 56 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 30 avril 2013 - 28 juil. 2007 à 11:19
Je me demande s'il est possible de modifier le BIOS avec le C/C++  ?

SVP le code

merci d'avance

8 réponses

goast_tu Messages postés 212 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 28 mai 2011 2
16 avril 2007 à 23:25
ben ce qui est sure c'est que c'est possible car on peut le reflasher.
Mais pour le faire je pence que ca depend de la carte mere. Mais un
conseil perso ne le touche pas!

<hr size="2" width="100%" />Trafic web gratuit!!!
0
Cphil51 Messages postés 87 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 24 septembre 2007
17 avril 2007 à 11:27
La plupart des bios commerciaux sont écrits en ASM, bien que ca risque de changer avec l'arrivée de l'EFI.
Si tu cherche des bios écrits majoritairement en C, fais des recherches sur LinuxBios.

Surtout, ne flash pas ton bios original. Je te conseil d'être vraiment sûr de toi dans tes essais. Et si tu fais des essais, utilise un programmateur sur une flash vierge.
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
17 avril 2007 à 11:57
http://www.pcinpact.com/actu/news/34884-linuxbios-bios-open-source-gigabyte.htm

Le projet LinuxBIOS célèbre actuellement une victoire de taille avec la
disponibilité du premier BIOS open source pour carte mère de machine
standard. Ce projet, selon ses concepteurs, présente plusieurs
avantages :
<li nd="2">100 % libre : pas de licence ni de redevances</li><li nd="5">Démarre pratiquement tout de suite en mode 32 bits sécurisé</li><li nd="6">Écrit en langage C, aucune ligne d’assembleur</li>etc ....
0
Cphil51 Messages postés 87 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 24 septembre 2007
17 avril 2007 à 12:21
Il y a quand même un peut d'assembleur dans le code bien que minime (son usage est obligatoire dans ce genre de projet de toute facon).
0

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

Posez votre question
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
17 avril 2007 à 18:07
Oui, je m'en doute (j'ai pas eu la motivation de regarder le code :) ) mais j'ai mit ca car j'etais tombé dessus y a pas longtemps meme si ca n 'a pas grand chose a voir avec la question. Mais je t'avou que ca m'a surpris de savoir que c'etait possible en C.
0
Cphil51 Messages postés 87 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 24 septembre 2007
17 avril 2007 à 18:31
Ben c'est possible grace a la taille des flash actuelles, des performence des machines qu'on a maintenant et SURTOUT des compilateurs qui sont plus performants qu'auparavant.
Le plus gros problème avec les bios, c'est qu'ils ont du code variable d'une carte mère à l'autre à cause des composants de celles ci.

Pour revenire à la question initiale sur "modifier les bios existants" en C/C++, je répond que ce n'est pas possible pour les bios commerciaux (AMI, Phoenix, etc...) car leur code est en asm et leur code n'est pas disponible (problème de licence oblige).

Par contre il est interessant de se pencher sur les bios a base de noyau linux (bon courage).
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 avril 2007 à 23:51
C'est sympa d'avoir ce code mais de là à crier victoire... c'est AMD qui l'a publié.

ciao...
BruNews, MVP VC++
0
Mareck666 Messages postés 56 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 30 avril 2013
28 juil. 2007 à 11:19
Et meme si que modifié un bios commerciale était possible, il est impossible sous windows d'accédez au bios car cette animal interdit l'écriture sur les ports E/S et sur les adresses sortant de l'espace d'adressage de ton programme, ... a moin de se cassé la tête a programmé un driver rien que pour sa, ou alors tu programme un petit secteur de boot sur disquette chargé de lancé ton code en C (préalablement transformé en plain binary afin de viré les entêtes (COFF, PE, ...)

Cordialement
0
Rejoignez-nous