J'ai trouvé ici ou là des bouts de documentation mais il m'a manqué assez souvent un petit bout. Le réseau qui ne marche pas à cause d'un problème de pare-feu, le script ifup n'est pas installé...
J'ai donc décidé d'écrire bêtement ma procédure et je vous la partage. Ca date de début juillet mais pas grand chose n'est à modifier...
Je suis sous GNU/Linux Debian Sarge. A part les quelques commandes sur les paquetages Debian, le reste doit-être quasiment identique sous une autre distribution.
----------------------------
--- Installation de qemu ---
----------------------------
On extrait les fichiers dans le dossier qemu-snapshot-2005年07月07日_23
cd qemu-snapshot-2005年07月07日_23
tar xvzf ../kqemu-0.6.2-1.tar.gz
Récuperation des en-tête du noyau (2.4) ou des sources du noyau (2.6). On met le lien à jour vers linux et on change les droits pour qu'un utilisateur lambda puisse modifier les sources !
sux
aptitude install kernel-headers-2.4.27-2-686
cd /usr/src
rm -f linux
ln -s kernel-headers-2.4.27-2-686 linux
chmod -R ugo+rwX kernel-headers-2.4.27-2-686
chmod -R ugo+rwX kernel-headers-2.4.27-2
On installe les paquets qui manque généralement et on vire le paquet qemu qui gêne.
On retourne en utilisateur lambda dans son dossier qemu
cd qemu-snapshot-2005年07月07日_23
./configure
On doit avoir la ligne SDL et kqemu à 'yes'.
make
On retourne sous le compte root pour faire l'installation et bidouiller un fichier système qui manque ensuite (si on veut le réseau) et on installe de nouveau les sources propres
[^] # Pour les debianeux
Posté par Sytoka Modon (site web personnel) . En réponse au journal Qemu 0.7.2. Évalué à 8.
J'ai donc décidé d'écrire bêtement ma procédure et je vous la partage. Ca date de début juillet mais pas grand chose n'est à modifier...
Je suis sous GNU/Linux Debian Sarge. A part les quelques commandes sur les paquetages Debian, le reste doit-être quasiment identique sous une autre distribution.
----------------------------
--- Installation de qemu ---
----------------------------
Récuperation de la dernière snapshot de qemu sur
http://www.dad-answers.com/qemu/
Par exemple, le fichier
qemu-snapshot-2005年07月07日_23.tar.bz2
Ce qui peux se faire avec l'uniligne
wget http://www.dad-answers.com/qemu/qemu-snapshot-2005年07月07日_23.tar.bz2
On extrait les fichiers de l'archive
tar xvjf qemu-snapshot-2005年07月07日_23.tar.bz2
Récuperation de kqemu sur
http://fabrice.bellard.free.fr/qemu/download.html
par exemple le fichier
kqemu-0.6.2-1.tar.gz
Ce qui peux se faire avec l'uniligne
wget http://fabrice.bellard.free.fr/qemu/kqemu-0.6.2-1.tar.gz
On extrait les fichiers dans le dossier qemu-snapshot-2005年07月07日_23
cd qemu-snapshot-2005年07月07日_23
tar xvzf ../kqemu-0.6.2-1.tar.gz
Récuperation des en-tête du noyau (2.4) ou des sources du noyau (2.6). On met le lien à jour vers linux et on change les droits pour qu'un utilisateur lambda puisse modifier les sources !
sux
aptitude install kernel-headers-2.4.27-2-686
cd /usr/src
rm -f linux
ln -s kernel-headers-2.4.27-2-686 linux
chmod -R ugo+rwX kernel-headers-2.4.27-2-686
chmod -R ugo+rwX kernel-headers-2.4.27-2
On installe les paquets qui manque généralement et on vire le paquet qemu qui gêne.
sux
aptitude install libsdl1.2-dev uml-utilities texi2html sudo
aptitude purge qemu
On retourne en utilisateur lambda dans son dossier qemu
cd qemu-snapshot-2005年07月07日_23
./configure
On doit avoir la ligne SDL et kqemu à 'yes'.
make
On retourne sous le compte root pour faire l'installation et bidouiller un fichier système qui manque ensuite (si on veut le réseau) et on installe de nouveau les sources propres
sux
make install
echo '#!/bin/sh' > /etc/qemu-ifup
echo 'sudo -p "Password for 0ドル:" /sbin/ifconfig 1ドル 172.20.0.1' >> /etc/qemu-ifup
chmod a+rx /etc/qemu-ifup
aptitude reinstall kernel-headers-2.4.27-2-686 kernel-headers-2.4.27-2
On fait de même avec sudo. Lancer en root la commande
sux
grep -q '%users ALL = NOPASSWD: /sbin/ifconfig tun0 172.20.0.1' /etc/sudoers || echo '%users ALL = NOPASSWD: /sbin/ifconfig tun0 172.20.0.1' >> /etc/sudoers
/etc/init.d/sudo start
Activer le port forwarding dans le noyau. Mettre les bonnes règles pour faire du NAT.
sux
grep -q 'net/ipv4/ip_forward=1' /etc/sysctl.conf || echo 'net/ipv4/ip_forward=1' >> /etc/sysctl.conf
sysctl -p
/sbin/iptables -A INPUT -i tun0 -j ACCEPT
/sbin/iptables -A OUTPUT -o tun0 -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -j ACCEPT
/sbin/iptables -A FORWARD -o tun0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -s 172.20.0.0/24 -i tun0 -o eth0 -p tcp -j ACCEPT
On peux sauver les règles iptables pour un prochain reboot
sux
/etc/init.d/iptable save active
On charge les modules noyaux
sux
modprobe kqemu
modprobe tun
Ou pour garder apres un reboot (noyau 2.4)
sux
grep -q 'kqemu' /etc/modules || echo 'kqemu' >> /etc/modules
grep -q 'tun' /etc/modules || echo 'tun' >> /etc/modules
Si cela marche pas, il peux manquer le périphérique kqemu. Normalement, l'installation doit avoir tout fait.
sux
mknod /dev/kqemu c 250 0
chmod 666 /dev/kqemu