Outils pour utilisateurs

Outils du site


brouillon_lguest

lguest

:!: Inutile de continuer plus avant: je n'y arrive pas !!!

Lien:

Introduc

pre-requis

Un noyau recent. Par exemple:

$ uname -r
2.6.26-2-686

Une conf adequat:

$ grep CONFIG_LGUEST /boot/config-`uname -r`
CONFIG_LGUEST_GUEST=y
CONFIG_LGUEST=m

ainsi que :

$ grep CONFIG_VIRTIO /boot/config-`uname -r`
CONFIG_VIRTIO_BLK=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m

A verifier: il parait que c'est mieux si les modules sont en dur ('y' au lieu de 'm')

lguest , le programme

Installer les sources (a adapter selon son noyau). Dans le cas de Lenny:

# aptitude install linux-source 

et puis:

# cd /usr/src

si besoin:

# ln -s /usr/src/linux-source-2.6.26 ./linux

Pour utiliser /usr/src/linux par la suite.

et puis:

# cd /usr/src/linux/Documentation/lguest
# make
cc -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include    lguest.c  -lz -o lguest
# mv lguest /usr/local/bin/lguest-`uname -r`
# cd /usr/local/bin/
# ln -s /usr/local/bin/lguest-`uname -r` ./lguest

Afin d'avoir enfin un executable lguest

img

creation

Créer une image de debian… 4Go de disk par exemple.

# dd if=/dev/zero of=./lguest.img bs=1M count=4000

monter l'image comme un disk (avec que des zero):

# losetup /dev/loop0 ./lguest.img

Creer les partitions dedans:

# cfdisk /dev/loop0

ou avec un autre.

Aprés ça, on vérifie le résultat:

# fdisk -ul /dev/loop0

Disk /dev/loop0: 4194 MB, 4194304000 bytes
255 heads, 63 sectors/track, 509 cylinders, total 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1              63     6859754     3429846   83  Linux
/dev/loop0p2         6859755     8177084      658665   82  Linux swap / Solaris

Parfait.

On detache le 'loop'

# losetup -d /dev/loop0

On utilise kpartx pour monter la partition.

:!: Il doit y avoir plus simple !
# kpartx -l ./lguest.img
loop0p1 : 0 6859692 /dev/loop0 63
loop0p2 : 0 1317330 /dev/loop0 6859755
# kpartx -a ./lguest.img

Les “partitions” apparaissent dans /dev/mapper/…

# ls /dev/mapper/
control  loop0p1  loop0p2

Donc, on peut les manipuler, et notamment, les formater:

# mkfs.ext3 /dev/mapper/loop0p1
# mkswap /dev/mapper/loop0p2

et mounter la partition “ext3”:

# mount /dev/mapper/loop0p1 /mnt/test
# debootstrap --arch i386 --include=locales,udev,exim4,openssh-server lenny /mnt/test ftp://ftp.fr.debian.org/debian    

configuration

inittab

Editer **''/mnt/test/etc/inittab''** , afin d'avoir:

FIXME

node hvc0 ( je crois que udev créé tout seul ce node , mais bon… )

$ grep -B1 hvc0 /usr/src/linux/Documentation/devices.txt
229 char        IBM iSeries/pSeries virtual console
                  0 = /dev/hvc0                 First console port
# mknod /mnt/test/dev/hvc0 c 229 0

disk vda

$ grep -B1 vda /usr/src/linux/Documentation/devices.txt
112 block       IBM iSeries virtual disk
                  0 = /dev/iseries/vda  First virtual disk, whole disk
--
....

dans …/etc/fstab :

FIXME

a la fin

# umount /mnt/test
# kpartx -d ./lguest.img
loop deleted : /dev/loop0

virtuel

( # lguest 128 /boot/initrd.img-`uname -r` –block=./lguest.img root=/dev/vda1 )

# lguest --initrd=/boot/initrd.img-`uname -r` --block=./lguest.img 128 <vmlinux>  root=/dev/vda1

J'ai une erreur “Trap 13” !

brouillon_lguest.txt · Dernière modification : 2010/07/20 20:08 de thierry