[coreboot] GSoC-2014 Project for Coreboot

David Hendricks dhendrix at google.com
Fri Mar 14 00:29:06 CET 2014

On Tue, Mar 11, 2014 at 7:55 AM, Naman Govil <namangov at gmail.com> wrote:

> Hi!


> I am Naman, a junior year college undergrad with interest in Open Source
> Hardware-Software Development.
> I have been actively participating in coreboot community (mainly through
> the irc) for more than a month now, and have had lots of discussions with
> community mentors, while setting up coreboot on QEMU. I have had success
> working with basic payloads like the SeaBIOS and FILO. After having a basic
> understanding about coreboot, I was fascinated to work and learn more. I
> searched and found a project that I would like to do and began to draft my
> proposal for it. I am planning to pursue the project "Infrastructure for
> Accessing Block Devices on ARM SoCs" as a part of GSoC-2014. I have had
> encouraging support from Marc and other community mentors for this.
> Currently, I am in the process of drafting my proposal, and wanted some
> assistance on the same.
> I have been able define the goal for the project: a generic interface for
> accessing block devices on ARM SoCs so that coreboot could launch its
> stages from the block devices (an MMC for example). After discussions with
> Alex (mrnuke), I learnt about the existing support for coreboot on
> cubieboard, and hence will use this to test the interface.

Seems interesting, but I am a little bit worried that the project is too
narrow. We updated CBFS about a year ago to allow CBFS content to come from
any media. This was required for the earlier ARM-based platforms which use
SPI ROM since the content was not memory mapped as it is on x86 platforms.
It should be reasonably easy to follow that model using MMC as a backing

IIRC Alexandru ran into issues with adapting the A10's MMC driver from
u-boot to coreboot and making it fit into the bootblock, which was
constrained by the amount of SRAM available on the A10. I am worried that
you will end up fighting implementation-specific problems on the platform
you choose instead of doing more interesting infrastructure work.

I needed some assistance on methods for developing the block device
> interface. One possibility is to work on the customizing uboot to our
> needs. (i.e do something like this: http://linux-sunxi.org/U-Boot#SD_Card)
> and create a simple API which would act as a MMC driver. I wanted to know
> how could I improve upon this. Or if there are other ways to accomplish
> this?
> I also wanted to ask whether I need to widen the goal of the project? And
> include some other functionalities? If yes, can I have some suggestions for
> the same? Some possibilities could be to have the API such that it can
> work in any stage (including bootblock), etc.

Good question. It's been a while since I've looked at this stuff in detail.
I'll look at it further and try to add some ideas here.

> Hope to get a feedback on this. :)
> Regards,
> Naman Govil
> --
> coreboot mailing list: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot

David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20140313/5dab2a05/attachment.html>

More information about the coreboot mailing list