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"
http://elinux.org/BeagleBoard/GSoC/Ideas#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
devices.
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.
Thanks.
Rob Austin
--
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot