Use compressed kernel images for QEMU and USB
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 28 Jul 2015 14:13:32 +0000 (10:13 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 29 Jul 2015 13:04:37 +0000 (09:04 -0400)
Compressing the kernel will improve the boot time for VMs.  On more
recent versions of QEMU (2.3.0) on one of my machines, qemu took nearly
2 minutes to boot a 75MB kernel image (including KFS, etc).  Compressing
it down to 20MB decreased the time to about 10 seconds.  Well worth it,
considering the compression is fast.

I don't know if the boot time on hardware improves by using a compressed
kernel image, but it does speed up the transfer to the USB device.

All of these settings are optional.  The Makelocal.template is just a
suggestion.  I recommend you follow the suggestion.

Makelocal.template
tools/bootable-usb/make-bootable-usb.sh

index 46f3779..74635fd 100644 (file)
@@ -6,7 +6,7 @@
 export CFLAGS_USER CFLAGS_TESTS
 
 # brho's custom targets.  Customize to your system.
-#$(OBJDIR)/kern/.kvm.touch: $(KERNEL_OBJ)
+#$(OBJDIR)/kern/.kvm.touch: $(CMP_KERNEL_OBJ)
 #      @echo "  (KVM) Copying to mnt/hdd"
 #      $(Q)cp $^ mnt/hdd/kernel
 #      @sync
@@ -14,7 +14,7 @@ export CFLAGS_USER CFLAGS_TESTS
 #
 #kvm: $(OBJDIR)/kern/.kvm.touch ;
 #
-#$(OBJDIR)/kern/.usb.touch: $(KERNEL_OBJ)
+#$(OBJDIR)/kern/.usb.touch: $(CMP_KERNEL_OBJ)
 #      @echo "  (USB) Copying to /dev/sdc4"
 #      $(Q)mount /dev/sdc4
 #      $(Q)cp $^ /mnt/pornstick/akaros
index a74b8b7..0b4f5d8 100644 (file)
@@ -48,7 +48,7 @@ dd if=$ROOTDIR/mbr.bin of=${USBDRIVE}
 #   on a monitor, you'll see the boot: prompt
 
 # put something like this in your Akaros Makelocal:
-#$(OBJDIR)/kern/.usb.touch: $(KERNEL_OBJ)
+#$(OBJDIR)/kern/.usb.touch: $(CMP_KERNEL_OBJ)
 #      @echo "  (USB) Copying to /dev/sdb1"
 #      $(Q)mount /dev/sdb1
 #      $(Q)sudo cp $^ /mnt/wherever/boot/akaros