Partage
  • Partager sur Facebook
  • Partager sur Twitter

Linux Embarqué - QEMU

11 mars 2021 à 14:25:49

Bonjour à tous , je suis le tutoriel : https://openclassrooms.com/fr/courses/5281406-creez-un-linux-embarque-pour-la-domotique/5464301-prenez-en-main-votre-environnement-buildroot

Mon but est d'émuler une carte Raspberry Pi avec QEMU et buildroot.

A la fin du tutoriel :

J'arrive à compiler mon Kernel, au bout d'une heure mais au moment de lancer l'émulateur J'ai cette erreur :

qemu-system-aarch64 -M virt \
                    -cpu cortex-a57 \
                    -nographic \
                    -smp 1 \
                    -kernel output/images/Image \
                    -append "root=/dev/vda console=ttyAMA0" \
                    -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 \
                    -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 \
                    -device virtio-blk-device,drive=hd0

rom: requested regions overlap (rom bootloader. free=0x00000000409b7a00, addr=0x0000000040000000)
qemu-system-aarch64: rom check and register reset failed

Que puis-je faire pour résoudre le problème?

Merci d'avance.

Kasimashi

-
Edité par Kasimashi 11 mars 2021 à 14:26:33

  • Partager sur Facebook
  • Partager sur Twitter
13 mars 2021 à 22:59:58

ça ressemble à une exception processeur....De là à résoudre ton problème j'en suis incapable honnêtement.
  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2021 à 0:55:17

Michel

Bonsoir Kasimashi

J'ai suivi le même cours, j'ai rencontré pas mal de problèmes, et je suis moi-même bloqué à la quatrième partie.

Je travaille avec un macintosh, j'ai fabriqué une machine virtuelle avec l'image : debian-10-9-0-amd64-netinst.iso

J'utilise VMware Fusion, mais je pense que l'on peux utiliser autre chose. Je construis la machine en conservant tout ce qui est proposé par défaut, je lui donne juste un espace disque suffisant (60 GO).

Je suppose que tu as rentré toutes les commandes du cours, les parties ne sont pas indépendantes. Si je comprends bien, tu as fait un make. 

Dans ce cours j'ai rencontré des erreurs, telle kernel-qemu-4.9.59-stretch qui est remplacé par kernel-qemu-4.14.79-stretch, je m'en suis aperçu en parcourant les fichiers, j'ai dû corriger quand j'ai lancé le test.

Pourrais-tu me dire si tu as résolu le problème puisqu'il est ancien de deux mois, sinon, me décrire ton environnement de travail.

-
Edité par michelcapelle 8 mai 2021 à 0:57:21

  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2021 à 14:06:19

Plop.

J'aimerais savoir l'intérêt d'émuler une carte raspberry parce que vous ne pourrez pas faire grand chose (du genre connecter des périphérique GPIO). En plus émuler du aarch64 en qemu je préfère vous dire tout de suite c'est extrêmement lent.

Par contre si votre souhait est de faire de la compilation pour votre raspberry sur votre machine personnelle c'est tout à fait possible avec clang ou avec un chroot + qemu-user-static et ça c'est bien plus performant !

  • Partager sur Facebook
  • Partager sur Twitter

git is great because Linus did it, mercurial is better because he didn't.

8 mai 2021 à 21:17:52

Bonjour,

Ça, je peux répondre, tout est expliqué sur ce cours "créez un Linux embarqué pour la domotique".

Effectivement, l'émulation n'a rien d'obligatoire, on peut travailler directement sur la carte SD du raspberry. 

Mais quand on veut mettre au point un très gros programme, la raspberry sera plus lente, à chaque erreur, il faudra attendre plus longtemps pour savoir si la correction que l'on vient d'apporter est correcte.

Je vais indiquer ce qu'est l'émulation pour ceux qui viendraient consulter le forum.

La virtualisation permet de créer une machine virtuelle ayant la même architecture que la machine hôte, soit x86 pour les micro-ordinateurs (pc Mac microvax).la machine hôte travaille par exemple sous macOS, et la machine virtuelle sous Linux.

L'émulation au contraire, permet de créer une machine avec une architecture différente, par exemple une raspberry dispose d'une architecture ARM, la raspberry est un nano ordinateur.

Il y a aussi un autre dispositif très utile, le serveur ssh sur la raspberry. Ce serveur permet de lancer des commandes depuis le terminal de son ordinateur comme si on y était, il suffit qu'il soit connecté à la même box que la raspberry.

Une raspberry, c'est tout petit, ça peut-être utile de ranger le clavier et la souris qui ne servent plus à rien puisque l'on travaille depuis son Mac ou son visualiser le clavier. 

  • Partager sur Facebook
  • Partager sur Twitter