Print this page
README: tell people how to execute the built files
*** 122,132 ****
Following this, you can build the kernel as far as we have it for ARM
cd uts; dmake install
! You now have a lovely unix and boot_archive pair in bcm2835/unix (raspberry
! pi) and qvpb/unix (qemu versatilepb). These should be booted with a kernel
! command line mimicing that of the boot_archive (regardless of the path of the
! unix you actually provide). For example: kernel /platform/bcm2835/kernel/unix
! -Bconsole=text
--- 122,177 ----
Following this, you can build the kernel as far as we have it for ARM
cd uts; dmake install
! You now have a lovely unix and boot_archive pair in bcm2835/unix (Raspberry
! Pi) and qvpb/unix (qemu versatilepb).
+ Step 4) Boot
+
+ Now that you have the gate built, you can try to boot the kernel. This is
+ where things diverge between qemu and the Raspberry Pi.
+
+ Booting qemu is very easy:
+
+ qemu-system-arm \
+ -kernel $PROTO/platform/qvpb/kernel/loader \
+ -initrd $PROTO/platform/qvpb/kernel/initrd \
+ -machine versatilepb \
+ -cpu arm1176 \
+ -m 512 \
+ -no-reboot \
+ -nographic \
+ -append 'kernel /platform/qvpb/kernel/unix -Bconsole=uart'
+
+ The loader and kernel messages should appear in the same terminal.
+
+ Booting on real hardware is a bit more involved.
+
+ a) Create a FAT16 or FAT32 partition on the SD card. You'll want it to be
+ at least 40 MB.
+
+ b) Create a config.txt on the partition:
+
+ gpu_mem=64
+ kernel=loader
+ initramfs initrd 0x00800000
+
+ c) Create a cmdline.txt on the partition:
+
+ kernel /platform/bcm2835/kernel/unix -Bconsole=uart
+
+ d) Place Raspberry Pi firmware onto the partition. You can download
+ latest firmware from
+ https://github.com/raspberrypi/firmware/tree/master/boot. The firmware
+ from January 24th, 2015 is known to work.
+
+ 0e52c8cdbfd21631746d6fcdc8f2750af39f4287 bootcode.bin
+ aba25d795eaddafd5c8ece3de18873b9928eb6f7 fixup_cd.dat
+ 38e55d60f896738eec30d0ca4f62b68e48e99184 fixup.dat
+ 4867e6eab84bb4138e812993112b6a05b7930b89 fixup_x.dat
+ fa993851acba366d9e37d59a1d9e9de84b19173f start_cd.elf
+ 356060e0f44742d8835294a211b812efcac29f66 start.elf
+ b7f01f90d995a36c9d765fd1f4d95a5fcdfd7e41 start_x.elf
+
+ e) Copy $PROTO/platform/bcm2835/kernel/{loader,initrd} onto the partition.