[SYS2IR][Memoire] Astuce

Voir le sujet précédent Voir le sujet suivant Aller en bas

[SYS2IR][Memoire] Astuce

Message  galaeron le Lun 16 Avr 2012, 12:03




Sachez ce que vous faites en utilisant ceci, je ne veux pas être tenu responsable de quoi que ce soit ...
( Effacement de votre disque dur, d'une clef USB, ... )




Lors de la réalisation de certains exercices sur le chapitre mémoire il vous sera demandé (si vous ne l'avez pas encore vu) de construire votre propre loader et/ou kernel. Pour ce faire la solution proposée par M. JCJ est, une fois le code réalisé et compilé, de le placer au format RAW sur une disquette, clef USB, disque dur, carte SD, ... avant de redémarrer le PC pour tester si votre programme fonctionne.
Mais alors que j'en étais à mon deuxième reboot, il me vint une idée afin d'éviter de devoir redémarrer la machine. Alors oui, certains diront qu'un bon programmeur doit avoir son programme qui tourne dés la première compilation mais soyons réaliste, nous savons que cela se passe rarement ainsi (en tout cas pour moi = /) et par conséquent devoir éteindre et rallumer son ordinateur à chaque test est plutôt contraignant. J'ai donc réaliser un petit script me permettant d'éviter ceci en utilisant virtualbox (sudo apt-get install virtualbox) et une carte SD.
NB : Toutes remarques, améliorations, commentaires, ... sont les bienvenus.

Spoiler:
Je ne saurais encore insister sur le fait que vous DEVEZ comprendre ce code avant de l'executer ...
Prérequis :
  • Avoir avec succès compilez sont bootloader [ et kernel ]
  • Avoir le résultat de sa compilation dans un fichier nommez floppy5 (cf LaboMemoire0305)
  • Avoir installé virtualbox

Code:
#!/bin/sh
dd if=floppy5 of=/dev/sdb1 #Copie du contenu de floppy5 sur la carte SD
VBoxManage createvm --name "tempvm" --ostype Other --register #Création d'une vm nommé tempvm
VBoxManage modifyvm "tempvm" --memory 256 --acpi on --boot1 dvd --nic1 nat #Config de la vm
VBoxManage storagectl "tempvm" --name "IDE Controller" --add ide --controller PIIX4
VBoxManage internalcommands createrawvmdk -filename 1.vmdk -rawdisk /dev/sdb1 #Création d'un disque raw pour la vm + ajout
VBoxManage storageattach tempvm --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium 1.vmdk
virtualbox&
Dans le Makefile, voici un exemple de clean :
Code:
   rm -f floppy5  *~
   make -C boot clean
   make -C kern clean
   dd if=/dev/zero of=/dev/sdb1 bs=512 count=20
# Attention que vous remplissez de zero les 20 premiers blocs de votre carte SD !
   VBoxManage unregistervm "tempvm" --delete
   rm -rf 1.vmdk tempvm.vdi /root/VirtualBox\ Vms\tempvm/
References :
  • http://www.virtualbox.org/manual/
  • http://dmr.ath.cx/text/qemu-and-virtualbox.html

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

Re: [SYS2IR][Memoire] Astuce

Message  galaeron le Dim 22 Avr 2012, 17:57

Fonctionne comme il se doit et apparement M. JCJ utilise "qemu"

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum