Board:cubietech/cubieboard: Difference between revisions

From coreboot
Jump to navigation Jump to search
Line 14: Line 14:


The BROM will only load our bootblock, if it finds a signature, and a correct checksum. These are currently added with '''mxsunxiboot'''. The source is available from [https://github.com/linux-sunxi/u-boot-sunxi/blob/sunxi/tools/mksunxiboot.c sunxi uboot]. Since this tool is not yet integrated into our build system, the build will silently fail to produce a bootable image if '''mksunxiboot''' is not in PATH.
The BROM will only load our bootblock, if it finds a signature, and a correct checksum. These are currently added with '''mxsunxiboot'''. The source is available from [https://github.com/linux-sunxi/u-boot-sunxi/blob/sunxi/tools/mksunxiboot.c sunxi uboot]. Since this tool is not yet integrated into our build system, the build will silently fail to produce a bootable image if '''mksunxiboot''' is not in PATH.
==== Payload ====
There are not many ARM payloads that can do anything useful. One possibly useful payload is [http://linux-sunxi.org/U-Boot sunxi/u***t]. Here, we are interested in the payload part, not hwinit part (SPL). Once you have succesfully built sunxi/u***t, add the resulting "u-boot" file as the coreboot payload. This is an elf file that coreboot can easily load.


== Installation ==
== Installation ==

Revision as of 10:30, 10 January 2014

Whoa! Slow down cowboy! Go review, then come back.

TODOs

  • Integrate mksunxiboot into our buildsystem
  • Figure out how to move bootblock and CBFS header to make room for BOOT0 header.
  • Figure out the whole MMC/blockdev/NAND shenanigance

Build

Build prerequisites

mksunxiboot

The BROM will only load our bootblock, if it finds a signature, and a correct checksum. These are currently added with mxsunxiboot. The source is available from sunxi uboot. Since this tool is not yet integrated into our build system, the build will silently fail to produce a bootable image if mksunxiboot is not in PATH.

Payload

There are not many ARM payloads that can do anything useful. One possibly useful payload is sunxi/u***t. Here, we are interested in the payload part, not hwinit part (SPL). Once you have succesfully built sunxi/u***t, add the resulting "u-boot" file as the coreboot payload. This is an elf file that coreboot can easily load.

Installation

Counter to the usual way of doing things, the bootable coreboot image resides in build/BOOT0. This image needs to be placed on the SD card at an offset of 8 KiB. This is a limitation on how the CPU loads the bootblock, and there's nothing we can do about it.

# dd if=build/BOOT0 of=/path/to/sdcard/blockdev bs=1024 seek=8

This is enough to get coreboot up and running.