|
@@ -0,0 +1,37 @@
|
|
|
|
+# Sample for i386 to create a 6MB disk-image
|
|
|
|
+
|
|
|
|
+# create an image file
|
|
|
|
+dd if=/dev/zero bs=512 count=$((6*1024*1024/512)) of=img
|
|
|
|
+# create a partition (optional)
|
|
|
|
+echo -e "n\np\n1\n\nw\n" | \
|
|
|
|
+ ~/src/busybox/busybox fdisk -C 16065 -H 255 -S 63 ./img
|
|
|
|
+# as root, associate the image with a look-device:
|
|
|
|
+# The offset of 512 comes from the the layout of the image. See
|
|
|
|
+# ~/src/busybox/busybox fdisk -C 16065 -H 255 -S 63 -l ./img for the start
|
|
|
|
+# block and multiply this with the block size (==512).
|
|
|
|
+~/src/busybox/busybox losetup -o 512 /dev/loop/0 /path/to/the/img
|
|
|
|
+# create some filesystem on it, for example ext2
|
|
|
|
+mkfs.ext2 -m0 -Lslash /dev/loop/0
|
|
|
|
+# mount it and copy your stuff to it
|
|
|
|
+~/src/busybox/busybox mount -oloop,rw /dev/loop/0 /media/l0
|
|
|
|
+~/src/busybox/busybox mkdir -p /media/l0/boot/grub
|
|
|
|
+~/src/busybox/busybox cp -a project_build_i386/root/boot/grub/stage? /media/l0/boot/grub/
|
|
|
|
+~/src/busybox/busybox cp -a project_build_i386/root/boot/bzImage /media/l0/boot/
|
|
|
|
+~/src/busybox/busybox cat > /media/l0/boot/grub/menu.lst <<EOF
|
|
|
|
+title=GNU/Linux
|
|
|
|
+root (hd0,0)
|
|
|
|
+kernel /boot/bzImage
|
|
|
|
+EOF
|
|
|
|
+# finally unmount the dist and disassociate the loopdev
|
|
|
|
+~/src/busybox/busybox umount /media/l0
|
|
|
|
+~/src/busybox/busybox losetup -d /dev/loop/0
|
|
|
|
+# now install grub from the chroot
|
|
|
|
+~/src/busybox/busybox losetup /dev/loop/0 /path/to/the/img
|
|
|
|
+project_build_i386/root/usr/sbin/grub --device-map=/dev/null
|
|
|
|
+device (hd0) img
|
|
|
|
+geometry (hd0) 16065 255 63
|
|
|
|
+root (hd0,0)
|
|
|
|
+setup (hd0)
|
|
|
|
+quit
|
|
|
|
+# finally boot the thing
|
|
|
|
+/opt/qemu-trunk_ggi-2.2.2/bin/qemu -snapshot -hda img -boot c
|