[coreboot] GSOC: thoughts on projects

austinro at msu.edu austinro at msu.edu
Tue Apr 6 20:56:43 CEST 2010

Hi.  My name's Rob Austin, I'm a computer engineering major at  
Michigan State University.  I got on IRC for a bit a week or so ago  
and chatted with a few people about some of the proposed ideas.  I've  
had some time to think and read more about what I could do for  
coreboot, and I'd like to get a little more feedback.

- First, the "tianocore" idea.  What do you see as the end result of  
getting tianocore working well as a payload?  I've been reading about  
it and it sounds interesting, but I need to say something more on the  
application as to "why" this is a worthwhile project.  What can we  
boot with EFI that we can't boot with a traditional bios, besides  
maybe OSX?

- Second, just how difficult would the port to the Marvell chipset be?  
  I'm familiar with the ARM architecture and assembly, more so than  
x86, and realistically in my future I'll probably be working more with  
embedded devices than PCs, so this might be the more valuable  
experience to put on a resume.

Also, I was planning on applying both to coreboot and beagleboard (my  
fallback), doing largely the same thing.  For beagleboard's GSOC  
project page, they have "Improve bootloader support"  
listed as an idea.  If someone could port coreboot to one ARM device,  
it would probably be considerably easier to then port it to other ARM  

I want to be up front about my ignorance here:  I don't know much  
about BIOSes.  There seems to be a hole in my computer engineering  
curriculum.  With all the required classes, I've started understanding  
computers from the bottom (transistor physics and digital logic), and  
built up from that (combinational logic, VLSI design, computer  
architecture) --the hardware--, and at the same time I've been  
learning about them from the top down --high level languages, then  
assembler and operating systems, the software side.  Ideally they  
would meet in the middle and teach about the bios, but they don't.   
I've asked.  I don't feel that my education would be complete without  
this knowledge.  I don't like the idea that there's hardware,  
software, and some magical binary blob in the middle that connects  
them.  I want to understand it, and I want it to be open.  You can't  
trust a blob.

So that's why I want to work at the  
bios/hardware-initialization/bootloader level.  There are only two  
projects for GSOC that focus on the hardware-software interface, and  
I'd be happy to work on either one.  There are other reasons: I want  
to become a good programmer, and reading and writing code every day  
for a whole summer will do that;  I want to do something meaningful  
that people will actually use, to give back to the open-source  
community after benefitting from it for so many years.

So having said all that, I would appreciate any feedback as far as  
what the devs think is more doable/would be more useful.  I'm  
interested in both projects, but if following one path will lead to a  
summer of banging my head against the wall and failure, I'd rather  
choose the other.  Writing "I spent 3 months participating in GSOC and  
accomplished nothing" doesn't look so hot.


Rob Austin

More information about the coreboot mailing list