Creating a bootable qemu image from a root filesystem and bootloader

Creating a bootable qemu image from a root filesystem and bootloader

1. Create a hard disk image

qemu-img create -f qcow <imagename .img> <size>G

2. Use a live CD (better to have a lighter OS like system rescue CD to make the process faster) and the image created to boot.

qemu -cdrom /dev/cdrom -hda <imagename .img> -boot d

3. Once system is booted use a partition editing tool (like fdisk, cfdisk, parted, gparted, qtparted …) to partition the image.

cfdisk

create the necessary partitions (root and swap partitions boot, home ... if required)

4. Create a file syatem for the root partiotion

mke2fs /dev/hda1

5. Mount the partition

mkdir disk
mount /dev/hda1 disk

6. Copy the file system from the host machine to the mounted directory (use a compressed file system to make the copying faster)

scp <user>@<host>:<path to the compressed file system> disk

7. Uncompress the files

cd disk
tar -jxvf <compressed filesystem>

8. Unmount the mounted partition

cd ..
umount disk

9. power off the guest OS.

poweroff

10. To make the file syatem bootable download a grub floppy image ( grub.img)

11. Run qemu to boot into your brand new system

qemu -hda <hard disk image.img> -fda grub.img -boot a

Happy Hacking !!

Make your new system boot from the hard disk

1. Mount your grub image

mkdir floppy
mount -t ext2 -o loop grub.img floppy

2. Use previous steps 2 and 5 to boot from a liveCD and mount the partition

cd disk/boot
scp -r <user>@<host>:<path to mounted floppy image directory>/boot/grub .

3. Poweroff the guest

poweroff

4. Boot new system using floppy image previous step 11

use install to hard disk option if you used the above grub image

or go to grub command line and type

root (hd0,0)
setup (hd0)

Now you have a bootable system image. Enjoy Maadi !!

See also : howto use this tutorial to create a qemu image from AMS’s GNU snapshot

1 Response to “Creating a bootable qemu image from a root filesystem and bootloader”


  1. 1 Naghizodeh

    your information help me so , thanks.

    send back your referenced if you used some.

Leave a Reply