IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Secteur de boot et kernel


Sujet :

Assembleur

  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 46
    Points
    46
    Par défaut Secteur de boot et kernel
    Bonjour a tous,

    j'ai essayé quelques tutoriels sur la creation d'un secteur boot et d'un petit kernel (les exemple ne manque pas sur le net).

    Mon probleme c'est de faire fonctionner le noyau (kernel).
    Je m'explique, j'ai deja creer le secteur boot 512 octet, et le noyau(kernel) de 12 octet.

    J'utilise BOCHS pour mes essaie.

    Lorsque je lance bochs en mettant comme chemin de la disquette dans son fichier de configuration le fichier boot.bin, ca fonctionne bien. La disquette boot et m'affiche un message.

    Mais dans le code du secteur boot, je dois charger le kernel a partir d'un cylindre, secteur, tete situé sur une unité (ici disquette). Le probleme c'est que le kernel et le secteur boot ne sont pa dans un fichier image disquette de bochs.

    J'ai pensée a graver le secteur boot sur u cd RW su le 1er secteur et le kernel sur le 2eme secteur (comme il est de petite taille) ainsi je pourrai booter du CD et charger mon kernel (avec les interruption 13 et les fonction de lecture de disque). mais comment graver ces deux fichier dans les emplacement adequats sur le disque, je sais pas du tout.


    Alors si il y a moyen de faire un fichier unique pour le lancer sous bochs et faire mes test, je suis preneur de la solution

    Si je dois graver sur Cd et faire mes test, comment dois je m'y prendre?

    merci de me donner un coup de main

  2. #2
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 46
    Points
    46
    Par défaut
    bah décidement, j'ai pas de solution, j'ai cherché comment graver sur CDs (plus precisement un outils qui me donne la poosibilité de specifié les secteurs) mais j'ai pas trouvé(je n'esperait pa grand chose mais il faut tout essayé quand on est bloqué).

    je plante !!!!

    avec bochs c'est pareil (je sais pas comment créer une image a partir des deux fichier en specifiant la zone et les secteur d'écriture), je précise que je suis sous windows!

    une orientation au moins....

  3. #3
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 46
    Points
    46
    Par défaut
    bon j'ai finalement trouvé comment faire (enfin 90% de la solution en tout cas):
    --creer son secteur boot de 512 octet et le graver sur CD en utilisant l'option creer CD bootable qui permet de choisir un fichier binaire(avec Nero par exemple).

    --ensuite lire les données a partir de la structure du CD. Voici un lien en anglais, mais assez comprehensible
    http://www.nondot.org/sabre/os/files...leCDFormat.doc

    Merci

  4. #4
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Bonjour,

    Je suis moi même en train de suivre un tutoriel sur la création de kernel/mbr ^^'

    Voila, j'ai une solution beaucoup plus simple que sortir le graveur pour faire tes testes sous un émulateur.

    En se penchent un peut sur le fichier image, on se rend compte qu'un .img est une image binaire du contenu de la disquette, c'est donc exactement les mêmes données au même en droit que si elles était sur la disquette. partant de ce principe, il suffit simplement..... de coller les deux fichiers à la suite ^^'

    Sous linux, tu peut automatiser la tache dans un bash comme ceci :
    cat boot.o kernel.o /dev/zero | dd of=boot.img bs=512 count=2880
    (cat récupère le contenu des fichiers, bs précise la taille d'un segment, count le nombre de segment que contient le fichier (donc, t'est pas vraiment obliger de le mêtre, c'est pour que le fichier est la taille exacte d'une disquette), of est le fichier de sorti et /dev/zero si je ne me trompe pas ce sont les 0h qui vont venir combler l'espace vide de l'image)

    Sous windows, copie simplement le contenu des fichiers les un a la suite des autres dans un troisième (et éventuellement remplit avec des 0x00)
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Secteur de boot
    Par sheik5757 dans le forum Programmation d'OS
    Réponses: 6
    Dernier message: 01/09/2008, 12h00
  2. Secteur de boot.
    Par swingNJava dans le forum C
    Réponses: 3
    Dernier message: 26/11/2007, 00h24
  3. Virus dans le secteur de Boot
    Par JACQUEY dans le forum Sécurité
    Réponses: 11
    Dernier message: 08/11/2006, 08h20
  4. Utilité et contenu d'un secteur de boot
    Par Ekinoks dans le forum Programmation d'OS
    Réponses: 10
    Dernier message: 14/04/2005, 22h39
  5. Problème avec un secteur de boot en mode protégé...
    Par Nico*3-3 dans le forum Assembleur
    Réponses: 17
    Dernier message: 10/02/2005, 19h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo