«

»

Mar 01

Qemu autonome

Qemu autonome.

Distribution de travail : Ubuntu 16.04 64bits

1/ Répertoire de travail

util01@station02:~$ mkdir QEMU
util01@station02:~$ cd QEMU
util01@station02:~/QEMU$ 

2/ Compilation de Qemu à partir des dépôts Ubuntu :

– Téléchargement du code source :

util01@station02:~/QEMU$ sudo apt-get source qemu-user-static

– Installation des dépendances :

util01@station02:~/QEMU$ sudo apt-get build-dep qemu-user-static

– Décompression du code source :

util01@station02:~/QEMU$ sudo dpkg-source -x qemu_2.5+dfsg-5ubuntu10.9.dsc 
util01@station02:~/QEMU$ cd qemu-2.5+dfsg/

– Compilation :

util01@station02:~/QEMU/qemu-2.5+dfsg$ sudo dpkg-buildpackage -rfakeroot -b

– Vérification :

util01@station02:~/QEMU/qemu-2.5+dfsg$ ls -l ../*.deb
-rw-r--r-- 1 root root  137154 févr. 28 00:36 ../qemu_2.5+dfsg-5ubuntu10.9_amd64.deb
-rw-r--r-- 1 root root   83680 févr. 28 00:36 ../qemu-block-extra_2.5+dfsg-5ubuntu10.9_amd64.deb
...
-rw-r--r-- 1 root root 7798614 févr. 28 00:40 ../qemu-user-static_2.5+dfsg-5ubuntu10.9_amd64.deb
-rw-r--r-- 1 root root  631870 févr. 28 00:41 ../qemu-utils_2.5+dfsg-5ubuntu10.9_amd64.deb

3/ Récupération des binaires :

– Décompression du fichier .deb :

util01@station02:~/QEMU/qemu-2.5+dfsg$ cd ..
util01@station02:~/QEMU$ ar vx qemu-system-x86_2.5+dfsg-5ubuntu10.9_amd64.deb
util01@station02:~/QEMU$ tar xvfz data.tar.xz 
util01@station02:~/QEMU$ unxz data.tar.xz
util01@station02:~/QEMU$ tar xvf data.tar 
util01@station02:~/QEMU$ cd usr/bin/
util01@station02:~/QEMU/usr/bin$ 

– Vérification des dépendances de bibliothèque :

util01@station02:~/QEMU/usr/bin$ ldd ./qemu-system-x86_64 
	linux-vdso.so.1 =>  (0x00007fffac033000)
	libepoxy.so.0 => /usr/lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007f6f25c48000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f6f2590e000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6f256f3000)
...
	libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f6f1b3fb000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6f1b1e0000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f6f1afcb000)
	libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f6f1adc2000)
	libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f6f1ab96000)

4/ Répertoire de Qemu autonome :

util01@station02:~/QEMU/usr/bin$ cd ../..
util01@station02:~/QEMU$ mkdir nekros
util01@station02:~/QEMU$ cd nekros/
util01@station02:~/QEMU/nekros$ mkdir lib
util01@station02:~/QEMU/nekros$ mkdir bin

5/ Copie des binaires :

util01@station02:~/QEMU/nekros$ cp ../usr/bin/* bin/

6/ Copie des bibliothèques partagés :

– Téléchargement de l’utilitaire de copie de bibliothèque :

util01@station02:~/QEMU/nekros$ wget http://github.com/hemanth/futhark/raw/1e74bbf9af4df4baf7f916582370609663319644/cpld.bash
util01@station02:~/QEMU/nekros$ chmod 755 cpld.bash 

– Copie des bibliothèques :

util01@station02:~/QEMU/nekros$ ./cpld.bash bin/qemu-system-x86_64 lib/
Collecting the shared library dependencies for bin/qemu-system-x86_64...
Copying the dependencies to lib/
Copying /usr/lib/x86_64-linux-gnu/libepoxy.so.0 to lib/
Copying /usr/lib/x86_64-linux-gnu/libX11.so.6 to lib/
Copying /lib/x86_64-linux-gnu/libz.so.1 to lib/
Copying /lib/x86_64-linux-gnu/libaio.so.1 to lib/
...
Copying /lib/x86_64-linux-gnu/libresolv.so.2 to lib/
Copying /lib/x86_64-linux-gnu/libgpg-error.so.0 to lib/
Copying /usr/lib/x86_64-linux-gnu/libogg.so.0 to lib/
Copying /usr/lib/x86_64-linux-gnu/libvorbis.so.0 to lib/
Done!

7/ Test :

util01@station02:~/QEMU/nekros$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:~/QEMU/nekros/lib/ ~/QEMU/nekros/bin/qemu-system-x86_64  -k fr -sdl -localtime \
                    -drive file=/media/$currentuser/nekros/vhda/vhda.qcow2,format=qcow2,index=0,media=disk \
                    -drive file=/media/$currentuser/nekros/vhdb/vhdb.qcow2,format=qcow2,index=1,media=disk \
                    -L /media/$currentuser/nekros/qemu/pc-bios \
                    -enable-kvm -k fr -m 1024 -smp 2 

8/ Lien :

https://github.com/Nekrofage/PortableQemu