0 votes

Comment construire Android-x86 avec les intégrations de système d'exploitation invité VirtualBox

Androidx86.org dit que pour utiliser l'accélération 3D pour ma machine virtuelle Android-x86, je dois installer les additions invité Linux. J'aimerais savoir comment faire.

J'utilise un

  • Ubuntu 20.10 (64 bits)
  • Intel Core i5 4e génération (@3,1 GHz)
  • NVIDIA GeForce GT 730
  • Oracle VM VirtualBox 6.1

0 votes

Je ne pense pas que les Additions Invité fournies avec VirtualBox puissent être installées sur Android-x86, la liste des OS supportés peut être consultée ici: virtualbox.org/manual/ch04.html#additions-linux Par conséquent, vous devriez compiler un noyau(module) personnalisé android-x86.org/documentation/customize_kernel.html À mon avis, vous devriez simplement commencer avec le paramètre de machine virtuelle VBoxVGA.

0 votes

@Robert La machine virtuelle ne fonctionne pas bien sans accélération 3D. J'aimerais savoir comment personnaliser le noyau pour inclure les intégrations des systèmes d'exploitation invités de VirtualBox. Ou obtenir une image préconstruite

2voto

Thulashitharan D Points 121

Pour utiliser l'accélération GPU pour une vm Android x86, il est plus facile d'utiliser qemu. Regardez ceci (la méthode que j'ai utilisée et cette vidéo ne sont pas tout à fait les mêmes, j'ai utilisé la dernière version).

Exclusivité Linux - N'hésitez pas à nous faire part de vos questions.

  • Installez les dépendances de construction suivantes (pas besoin de construire pour arch linux lire ci-dessous) en utilisant sudo apt install -y build-essential libepoxy-dev libdrm-dev libgbm-dev libx11-dev libvirglrenderer-dev libpulse-dev libsdl2-dev libgtk-3-dev libsdl1.2-dev ninja-build

  • cd dans le répertoire où vous voulez télécharger et construire qemu(si vous utilisez arch linux vous n'avez pas besoin de construire qemu.utilisez juste le paquet dans dépôt officiel .aussi il n'est pas nécessaire d'ajouter votre utilisateur au groupe kvm.ça marche tout simplement).

  • Téléchargez les dernières sources de qemu en utilisant git clone [https://git.qemu.org/git/qemu.git](https://git.qemu.org/git/qemu.git)

  • exécuter cd qemu

  • exécuter ./configure --enable-sdl --enable-opengl --enable-virglrenderer --enable-system --enable-modules --audio-drv-list=pa --target-list=x86_64-softmmu --enable-kvm --enable-gtk

  • exécuter make

  • exécuter sudo adduser yourusername kvm

  • exécuter sudo chmod 666 /dev/kvm

  • exécuter sudo touch /lib/udev/rules.d/99-kvm.rules

  • ajouter une ligne KERNEL=="kvm", GROUP="kvm", MODE="0666" à 99-kvm.règles

  • vous pouvez le faire en sudo gedit /lib/udev/rules.d/99-kvm.rules et coller la ligne puis sauvegarder.

  • exécuter sudo apt install qemu-utils

  • Accédez au répertoire dans lequel vous souhaitez créer le disque dur virtuel.

  • qemu-img create -f qcow2 Android.img 10G

  • 10G fait référence à la taille du disque dur, en l'occurrence 10 gigaoctets.

  • Télécharger androidx89 .(la dernière version du noyau a mieux fonctionné pour moi ou était-ce juste un placebo ?)

  • cd dans le répertoire où vous avez cloné git qemu

  • cd dans le répertoire qemu/build/x86_64-softmmu/ ie cd qemu/build/x86_64-softmmu/

  • exécuter

    qemu-system-x86_64 -boot d \ -enable-kvm \ -smp 2 \ -cdrom "/path/to/android/iso" \ -name linuz \ -device virtio-vga,virgl=on,xres=1280,yres=720 \ -cpu host \ -device AC97 \ -m 2048 \ -display sdl,gl=on \ -drive file=/path/to/android/Android.img,if=virtio \ -object rng-random,id=rng0,filename=/dev/urandom \ -device virtio-rng-pci,rng=rng0 \ -device virtio-keyboard \ -boot menu=off \ -device virtio-tablet \ -machine type=q35 \ -serial mon:stdio \ -net nic -net user,hostfwd=tcp::4444-:5555

  • smp fait référence au nombre de cœurs de processeurs attribués à la machine virtuelle. -m fait référence à la mémoire vive allouée, dans ce cas 2048 mégaoctets. -display gtk,gl=on aussi mais l'affichage gtk ne fonctionne pas les pilotes propriétaires nvidia pour une raison quelconque.

  • Utilisez les touches fléchées pour naviguer et la touche Entrée pour sélectionner.faites comme suit

  • Sélectionnez l'installation enter image description here

  • Sélectionnez créer/modifier une partition enter image description here

  • n'utilisez pas le gpt enter image description here

  • Sélectionnez un nouveau
    enter image description here

  • sélectionner le primaire enter image description here

  • appuyez sur la touche Entrée enter image description here

  • sélectionnez écrire et tapez oui .puis sélectionnez quitter enter image description here

  • sélectionnez la partition que nous venons de créer enter image description here

  • sélectionnez ext4 enter image description here

  • sélectionner oui pour formater enter image description here

  • sélectionnez oui pour installer grub enter image description here

  • sélectionnez oui pour rendre /system en lecture écriture (recommandé) enter image description here

  • Une fois que toutes les opérations sont terminées, vous pouvez démarrer dans Android.

  • Pour démarrer directement sur le disque dur, utilisez

    qemu-system-x86_64 -boot c \ -enable-kvm \ -smp 2 \ -name linuz \ -device virtio-vga,virgl=on,xres=1280,yres=720 \ -cpu host \ -device AC97 \ -m 2048 \ -display sdl,gl=on \ -drive file=/path/to/android/Android.img,if=virtio \ -object rng-random,id=rng0,filename=/dev/urandom \ -device virtio-rng-pci,rng=rng0 \ -device virtio-keyboard \ -boot menu=off \ -device virtio-tablet \ -machine type=q35 \ -serial mon:stdio \ -net nic -net user,hostfwd=tcp::4444-:5555

  • pour utiliser adb utiliser adb connect localhost:4444

  • si le traducteur de bras ne s'installe pas automatiquement, faites ce

instructions pour installer manuellement le pont natif

  • Télécharger ce fichier( http://dl.Android-x86.org/houdini.php?v=9_y ) dans votre vm.9 se réfère à la version d'Android si vous avez une version antérieure, changez-la en conséquence.ou vous pouvez la vérifier ici

  • changer le nom du fichier en fonction de la version d'Android dans mon cas houdini9_y.sfs.déplacer ce fichier dans system/etc/ cela peut être fait en utilisant le terminal ou le navigateur Root.

en utilisant le type de terminal mv /sdcard/Download/houdini9_y.sfs /system/etc si vous n'êtes pas à l'aise avec cette méthode, utilisez une application du navigateur Root.

  • Maintenant, dans l'émulateur de terminal, tapez su (si vous obtenez une invite demandant à la météo de donner l'accès au super utilisateur, dites oui pour toujours)
  • puis tapez system/bin/enable_nativebridge
  • Il se peut que vous obteniez des erreurs mais vous pouvez les ignorer (j'ai eu deux erreurs mais les traducteurs des armes ont fonctionné).
  • Allez dans les paramètres androidx86-options activer le pont natif

Configuration de la mise en réseau des robinets
Pour une meilleure intégration des hôtes, j'utilise un réseau de robinets.

sudo ip link add name br0 type bridge
sudo ip addr flush enp3s0
sudo ip link set enp3s0 master br0
sudo ip tuntap add mode tap name tap0 user yourusername
sudo ip link set tap0 master br0
sudo ip link set enp3s0 up
sudo ip link set tap0 up
sudo ip link set br0 up
sudo dhclient -v br0

remplacer enp3so avec votre interface réseau. Utilisez la commande suivante pour lancer l'émulateur

qemu-system-x86_64 -boot c \
    -enable-kvm \
    -smp 2 \
    -name linuz \
    -device virtio-vga,virgl=on,xres=1280,yres=720 \
    -cpu host \
    -device AC97 \
    -m 2048 \
    -display sdl,gl=on \
    -drive file=/path/to/imgfile,if=virtio \
    -object rng-random,id=rng0,filename=/dev/urandom \
    -device virtio-rng-pci,rng=rng0 \
    -device virtio-keyboard \
    -boot menu=off \
    -device virtio-tablet \
    -machine type=q35 \
    -serial mon:stdio \
    -netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no \
    -device virtio-net-pci,netdev=mynet0,mac=51:55:00:a1:11:32

0 votes

Beau tutoriel, mais après la compilation et la configuration, j'obtiens toujours cette erreur : qemu-system-x86_64: -device virtio-vga,virgl=on,xres=1280,yres=720: Propriété 'virtio-vga.virgl' non trouvé Je suis sur Debian 11. Lorsque j'omets le paramètre virgl, ça fonctionne, cependant je ne suis pas sûr si c'est avec l'accélération 3D. Merci

0 votes

@masscream Essayez virtio-vga-gl, xres=1280, yres=720

0 votes

Many thanks! J'ai dû remplacer -device virtio-vga, virgl=on, xres=1280, yres=720 \\ par -device virtio-vga-gl, xres=1280, yres=720 \\ et cela fonctionne parfaitement, des performances impressionnantes sur Ubuntu 22.04 LTS / i5-6600 et AMD RX550. (Définissez 4 cœurs et 6 Go de RAM pour Android).

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X