Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/12/2016, à 23:17

sofiene1805

[CROSS-COMPILATION] Problème écran noir de Qemu avec ARM

Bonsoir
Je suis entrain de créer un noyaux+rootfs pour une architecture arm en suivant un Tuto que j'ai trouvé sur le net.
J'ai procédé comme suit:

sudo apt-get install gcc-4.7-arm-linux-gnueabihf qemu-system qemu-user

//fichier hello.c
#include <stdio.h>
void main() {
printf("Hello World!\n");
printf("Bye!\n");
}

arm-linux-gnueabihf-gcc -static hello.c -o hello

Lorsque je tape la commande "file hello" j'ai bien que le fichier est fonctionnel sous une architecture arm et si je tape "qemu-arm ./hello" il s’exécute.
ensuite:

qemu-system-arm -M?

pour choisir ARM versatile express 2 (vexpress)
ensuite:

mkdir cross
cd cross
téléchargement de kernel linux 4.9
décompression de linux-4.9
cd linux-4.9
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
make vexpress_defconfig
make all
Téléchargement de busybox-1.25.1
décompression
cd busybox-1.25.1
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
make defconfig
make menuconfig

-Menu Principal : Busybox Settings -> Build Options->Build BusyBox as a static binary (no shared libs)
                                                                        Cross Compiler Prefix : arm-linux-gnueabihf-
- Menu Principal : Networking Utilities -> Module Inetd, enlever « Support RPC Services »

make
make install
file _install/bin/busybox
il affiche

-install/bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV)...

ensuite
cd _install (qui contient l'exectable sur "hello"ARM)
mkdir proc sys dev etc etc/init.d
ensuite

cat << EOF > etc/init.d/rcS
#!/bin/sh
mount -t proc none /proc
mount -t sysfs none /sys
/sbin/mdev -s
EOF

chmod +x etc/init.d/rcS

find . | cpio -o --format=newc > ../../rootfs.img (qui m'affiche le nombre de blocs)
cd ../..
gzip -c rootfs.img > rootfs.img.gz

Bon, ici tout marche bien mais le problème, lorsque je veux émuler avec QEMU:

qemu-system-arm -M vexpress-a9 \
-kernel linux-3.12.6/arch/arm/boot/zImage \
-m 32 \
-initrd rootfs.img.gz \
-append "root=/dev/ram rdinit=/sbin/init"

J'ai bien la fenêtre d'émulation qui se lance mais tout est noir je n'ai rien affiché sur cette dernière.
S.V.P est ce qu'il y'a une solution à mon problème.

merci

Dernière modification par sofiene1805 (Le 25/12/2016, à 23:19)

Hors ligne

#2 Le 27/12/2016, à 21:52

sofiene1805

Re : [CROSS-COMPILATION] Problème écran noir de Qemu avec ARM

S.V.P,  est ce qu'il y'a une réponse qui peut m'aider

Hors ligne