Print this page
README: tell people how to execute the built files

Split Close
Expand all
Collapse all
          --- old/./README.xbuild
          +++ new/./README.xbuild
↓ open down ↓ 116 lines elided ↑ open up ↑
 117  117  
 118  118  
 119  119  Once you have that you can get going. Start off with a resounding:
 120  120  
 121  121  dmake setup
 122  122  
 123  123  Following this, you can build the kernel as far as we have it for ARM
 124  124  
 125  125  cd uts; dmake install
 126  126  
 127      -You now have a lovely unix and boot_archive pair in bcm2835/unix (raspberry
 128      -pi) and qvpb/unix (qemu versatilepb).  These should be booted with a kernel
 129      -command line mimicing that of the boot_archive (regardless of the path of the
 130      -unix you actually provide).  For example: kernel /platform/bcm2835/kernel/unix
 131      --Bconsole=text
      127 +You now have a lovely unix and boot_archive pair in bcm2835/unix (Raspberry
      128 +Pi) and qvpb/unix (qemu versatilepb).
 132  129  
      130 +Step 4) Boot
      131 +
      132 +Now that you have the gate built, you can try to boot the kernel.  This is
      133 +where things diverge between qemu and the Raspberry Pi.
      134 +
      135 +Booting qemu is very easy:
      136 +
      137 +qemu-system-arm \
      138 +        -kernel $PROTO/platform/qvpb/kernel/loader \
      139 +        -initrd $PROTO/platform/qvpb/kernel/initrd \
      140 +        -machine versatilepb \
      141 +        -cpu arm1176 \
      142 +        -m 512 \
      143 +        -no-reboot \
      144 +        -nographic \
      145 +        -append 'kernel /platform/qvpb/kernel/unix -Bconsole=uart'
      146 +
      147 +The loader and kernel messages should appear in the same terminal.
      148 +
      149 +Booting on real hardware is a bit more involved.
      150 +
      151 +  a) Create a FAT16 or FAT32 partition on the SD card.  You'll want it to be
      152 +     at least 40 MB.
      153 +
      154 +  b) Create a config.txt on the partition:
      155 +
      156 +        gpu_mem=64
      157 +        kernel=loader
      158 +        initramfs initrd 0x00800000
      159 +
      160 +  c) Create a cmdline.txt on the partition:
      161 +
      162 +        kernel /platform/bcm2835/kernel/unix -Bconsole=uart
      163 +
      164 +  d) Place Raspberry Pi firmware onto the partition.  You can download
      165 +     latest firmware from
      166 +     https://github.com/raspberrypi/firmware/tree/master/boot. The firmware
      167 +     from January 24th, 2015 is known to work.
      168 +
      169 +        0e52c8cdbfd21631746d6fcdc8f2750af39f4287  bootcode.bin
      170 +        aba25d795eaddafd5c8ece3de18873b9928eb6f7  fixup_cd.dat
      171 +        38e55d60f896738eec30d0ca4f62b68e48e99184  fixup.dat
      172 +        4867e6eab84bb4138e812993112b6a05b7930b89  fixup_x.dat
      173 +        fa993851acba366d9e37d59a1d9e9de84b19173f  start_cd.elf
      174 +        356060e0f44742d8835294a211b812efcac29f66  start.elf
      175 +        b7f01f90d995a36c9d765fd1f4d95a5fcdfd7e41  start_x.elf
      176 +
      177 +  e) Copy $PROTO/platform/bcm2835/kernel/{loader,initrd} onto the partition.
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX