Monday, January 5, 2009

Linux bootable disk image using EXTLINUX, debootstrap

Steps to create a bootable disk image using EXTLINUX, debootstrap, Linux kernel and run using QEMU
  • Create disk image
$ dd if=/dev/zero of=rootfs.img bs=1M count=2560
  • Create ext2 filesystem
$ mke2fs -j rootfs.img
$ tune2fs -c 0 -i 0 rootfs.img
  • Mount disk image
$ sudo mount rootfs.img rootfs -o loop -t ext2
  • Run debootstrap
$ sudo debootstrap --arch i386 intrepid rootfs
  • Copy Linux kernel and initial ramdisk to boot directory
$ cp vmlinuz rootfs/boot
$ cp initrd.img rootfs/boot
  • Install EXTLINUX bootloader
$ extlinux --install rootfs/boot
$ vi rootfs/boot/extlinux.conf
default linux
timeout 10
prompt 1

label linux
kernel /boot/vmlinuz
append initrd=/boot/initrd.img root=/dev/sda clocksource=kvm-clock
  • Unmount disk image
$ sudo umount rootfs
  • Run in QEMU
$ qemu -hda rootfs.img -m 1024

No comments:

Post a Comment