Board:cubietech/cubieboard: Difference between revisions

From coreboot
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 8: Line 8:
== Build ==
== Build ==


STOP RIGHT HERE!!!! Before anything, make sure you have the [http://review.coreboot.org/#/q/status:open+project:coreboot+branch:master+topic:cubieboard/a10,n,z latest code], or the [https://github.com/mrnuke/coreboot/commits/cubie_mmc latest development code].
STOP RIGHT HERE!!!!  
Before anything, make sure you check for any [http://review.coreboot.org/#/q/status:open+project:coreboot+branch:master+topic:cubieboard/a10,n,z unmerged gerrit patches]; however, for doing anything useful, you will need the [https://github.com/mrnuke/coreboot/commits/cubie_mmc latest development code]. This code contains the MMC driver which loads the romstage and further stages.


=== Build prerequisites ===
=== Build prerequisites ===
Line 15: Line 16:


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.
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.
NOTE: The corect file to use as the payload is "u-boot", not u-boot.bin. The "u-boot" file is the non-SPL part of uboot in elf format.


== Installation ==
== Installation ==

Latest revision as of 04:39, 12 March 2014

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

TODOs

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

Build

STOP RIGHT HERE!!!! Before anything, make sure you check for any unmerged gerrit patches; however, for doing anything useful, you will need the latest development code. This code contains the MMC driver which loads the romstage and further stages.

Build prerequisites

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.

NOTE: The corect file to use as the payload is "u-boot", not u-boot.bin. The "u-boot" file is the non-SPL part of uboot in elf format.

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.