Fix up alarm and pvcalarm tests
[akaros.git] / GETTING_STARTED
index 55c27b3..9704d46 100644 (file)
@@ -152,10 +152,11 @@ Other userspace programs, like busybox need to be compiled with the cross
 compiler and then have their binaries copied to kern/kfs/bin (I do this
 manually).
 
-I'm running busybox 1.17.3, and the config file I use is in tools/patches.
-Copy that to your busybox directory (once you download and untar it, etc) and
-name it ".config".  This config file assumes you want x86_64-ros-gcc.  If you
-are builidng for 32 bit x86 or riscv, you will need to edit the config file.
+I'm running busybox 1.17.3, and the config file I use is in
+tools/patches/busybox.  Copy that to your busybox directory (once you download
+and untar it, etc) and name it ".config".  This config file assumes you want
+x86_64-ros-gcc.  If you are builidng for 32 bit x86 or riscv, you will need to
+edit the config file.
 
 You can get busybox from http://www.busybox.net/downloads/.  Eventually I'll
 upgrade, though it hasn't been a big deal yet.
@@ -164,9 +165,14 @@ $ cd BUSYBOXDIR/..
 $ wget http://www.busybox.net/downloads/busybox-1.17.3.tar.bz2
 $ tar -jxvf busybox-1.17.3.tar.bz2
 $ cd AKAROS-ROOT
-$ cp tools/patches/busybox-1.17.3.config BUSYBOXDIR/.config
+$ cp tools/patches/busybox/busybox-1.17.3.config BUSYBOXDIR/.config
 
-$ cd BUSYBOXDIR ; make
+$ cd BUSYBOXDIR
+
+You'll also want to apply any patches for busybox.  From the busybox directory:
+
+$ patch -p1 < AKAROS-ROOT/tools/patches/busybox/EACH_PATCH_FILE.patch
+$ make
 
 Then I copy the unstripped binary to KFS.
 
@@ -207,12 +213,18 @@ Now that you've changed KFS, don't forget to remake the kernel.
 3.5 Building and Loading a Virtual Machine Image
 ---------
 At this point, you probably have a runnable kernel with programs in KFS.  It
-should be sitting at obj/kernel/kernel.  However, you need a place to run it.
+should be sitting at obj/kernel/akaros-kernel.  When running in a VM, you can
+either run the kernel directly from qemu, or put it in a virtual machine image
+file. 
 
-I run my kernels either in KVM (Qemu) or off a bootable USB stick.
+If you don't want to bother with the image, skip this section.  I tend to run
+my images off an image file, since qemu acts more like hardware (as far as
+multiboot goes).  The downside is the boot up is slower, especially if you have
+a large kernel (>100MB).  It also takes some effort to set up the VM image.
 
-You'll need an image file that looks like a hard disk to boot qemu off of.  I
-put one similar to mine at: http://akaros.cs.berkeley.edu/files/hdd268mb.img
+If you are still reading, you'll need an image file that looks like a hard disk
+to boot qemu off of.  I put one similar to mine at:
+http://akaros.cs.berkeley.edu/files/hdd268mb.img
 
 It's around 268MB (256MiB, or whatever).  If you want to make your own, check
 out Documentation/howtos/make-bootable-grub-hdd.txt.  That's actually the
@@ -254,7 +266,10 @@ Now, make kvm.  You should be able to see the new kernel in mnt/hdd/ (do an ls
 Here is the command I use to run qemu/kvm.  It's evolved over the years, and it
 will vary based on your linux distribution.  Don't run it just yet:
 
-$ qemu-system-i386 -s -enable-kvm -cpu coreduo -smp 8 -m 1024 -nographic -monitor /dev/pts/3 -net nic,model=e1000 -net tap,ifname=tap0,script=no mnt/hdd.img
+$ qemu-system-i386 -s -enable-kvm -cpu phenom -smp 8 -m 2048 -nographic -monitor /dev/pts/3 -net nic,model=e1000 -net tap,ifname=tap0,script=no mnt/hdd.img
+
+If you skipped making a virtual machine image, replace "mnt/hdd.img" with
+"-kernel obj/kern/akaros-kernel".
 
 The -monitor is the qemu monitor, which is a CLI for qemu.  Pick a
 tab/terminal/pty in Linux that you will only use for qemu monitoring, and enter