Kernel Boot Usb

Résolu/Fermé
brino789 Messages postés 20 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 6 février 2016 - 5 nov. 2014 à 18:58
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 16 nov. 2014 à 13:28
Bonjour comme tous passionné je voulu crée un petit noyau pour un Os
j'ai donc crée un bootloader et un noyau en Asm qui renvoi sur un noyau en C

pour le moment le noyau démarre sur un disquette floppy 1.44Mo virtuel
et je peux exécuter les commande comme redémarrer ou affiché l'heure

Question :

Comment Faire Pour Placer mon bootloader sur le Mbr D'une Clef Usb ?
est comment je peut faire pour démarrer mon noyau à partir d'une clef USb, mon bootloader et noyau sont en 16Bits ( la Gdt n'a Pas Etait Chargé ) donc La clef Peut être lu par le bios
A voir également:

2 réponses

MiniApp Messages postés 654 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 22 février 2019 49
5 nov. 2014 à 19:17
Bonjour

Le boot sur clé USB dépend si le BIOS le prend (pratiquement tous aujourd'hui).
Après pour le 16B pas de problème je pense.
Ensuite normalement tu peux graver ton image disque (Je met ceci en supposant que ta disquette virtuel est crée à partir d'une image disque) et ne pas avoir de problème. Pour graver l'image disque sur une clé USB je ne connais pas de logiciel qui accepte de graver les clé USB au même titre que les CD, c'est très dommage (et énervant :-( ).
0
brino789 Messages postés 20 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 6 février 2016
5 nov. 2014 à 20:05
bonjour et merci de ta réponse mon bios prend en charge mon usb

pour le boot j'ai tester un img qui contient le boot et le kernel > boot.img
que j'ai tester avec syslinux ou grub4dos mais Echec
puis j'ai tester de démarrer directement depuis grub4dos ou syslinux le boot.img qui lui doit rediriger vers le kernel.bin mais echec aussi j'ai tester de placer le bootloader au premier secteur de mon usb mais erreur lors du boot

Ps: j'aimerai faire comme le "Kernel.sys" de freedos qui démarre avec grub4dos
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
6 nov. 2014 à 11:41
Bonjour
Il y a déjà pas mal d'erreur dès le dépars.
la conception du noyau du système d'exploitation peut ce faire avec un langage de programmation compilé tel que le langage C ayant pour seule contrainte impérative le moyen d'insérer le langage assembleur dans le code.

À ta question comment peut-on charger le noyau sur un secteur de la clef USB.
Il faut comprendre avant tout que les BIOS doit faire sont travail c'est-à-dire qu'il doit initialiser tout les périphérique (présent) c'est à dire tous les composants d'architecture de l'ordinateur y compris USB et savoir si le mode USB est activé ou pas ce n'est qu'à la suite de ça que le BIOS va charger le secteur à une adresse bien précise pour lui passer la main en plus claire qu'il faut récupérer les informations afin de connaître sur quel périphérique interne ou externe doit-on charger l'ensemble des données en mémoire.
Là encore, j'insiste sur le fait que l'on doit connaître l'architecture matérielle pour pouvoir faire c'est différentes manipulations surtout celle des interrupteurs sur l'architectures cible exemple RISC/INTEL qui sont pas pareil (bref).
Ce n'est que bien plus après que tu peux basculer ton noyau soit en mode protéger ou en monde réel le mieux est le mode protéger pour pouvoir faire du multi-utilisateur multitâche sans oublier un acteur majeur le GDT et vue que tu en parle je présume que ton noyau est en mode protéger donc il faut initialiser ton GDT car c'est lui qui à la charge en gros de te prémunir de tout soucis d'adressage en cas de changement de mode du noyau c'est un peu comme un gestionnaire de reconstitution de contexte et ce n'est que bien plus tard avec quelque ligne de code que l'on peut soit afficher un message ou afficher de l'heure , couleur dessin et j'en passe.

Pour faire simple , il faut prendre en compte tous les aspects initiaux avant de pouvoir voir un "Hello"

à bientôt
0
brino789 Messages postés 20 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 6 février 2016
6 nov. 2014 à 19:44
Bonjour et merci de votre réponse avant de continué j'aimerais dire que je cherche a faire un petit os dans le but justement de comprendre comment fonctionne un ordinateur et son système .

Pour le bootloader il travail en 16bits puis initialise les segments en 0x07C00 et récupérent de l'unite de boot puis il charge le noyau

c'est un bootloader très simple le souci c'est que je travail avec le language C depuis 2 ans et l'asm depuis peut ( mais cela et un bonne exercice ) je connais les base en asm " Mov , Jmp, call etc " donc je cherche des cours sur le sujet , si tu a un bootloader bien expliquer ou un site qui peut m'aider je suis la Merci

Ps: je cherche juste a pouvoir lancer mon noyau en C depuis une clef usb donc si je peut utiliser grub4dos ou syslinux etc sa serai très bien Merci
0
MiniApp Messages postés 654 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 22 février 2019 49
15 nov. 2014 à 10:43
Il y a un site que je trouve extrêmement bien et qui explique en détails (en plus il a fait son noyau en C) c'est a.michelizza.fr en plus il le fait pas à pas en commençant par le boot loader pour aller à la gestion des tâches et il donne le code qu'il explique.
0
brino789 Messages postés 20 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 6 février 2016
15 nov. 2014 à 11:43
Bonjour et merci pour votre réponse j'ai pu résoudre mon problème avec grub Merci encore
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
16 nov. 2014 à 13:28
Bonjour
Désolé pour le retard de mon intervention, et je suis bien curieux de savoir comment tu programme en langage C et l'assembleur ton noyau ?

C'est bien de s'intéresser à la conception d'un système d'exploitation mais, cela demande plus que des notions élémentaires et de plus deux ans de pratique de langage C n'est pas suffisant pour envisager la conception d'un noyau en langage C ou assembleur, même avec des tutoriel il faut comprendre que cela demande une certaine maîtrise de la compilation des mécanismes internes de l'architecture d'un ordinateur , processeur, d'un langage de programmation , un certain niveau de maîtrise de l'assembleur et j'en passe, suivre un tutoriel pour apprendre certaines astuces c'est bien mais, l'utiliser comme base de départ pour un futur OS non car les tutoriel apprend pour un cas bien défini mais, après tout, libre à tout un chacun de faire ce qu'il veut
à bientôt
0