GSoC 2015 Introduction – Nicky Sielicki

Hey coreboot community!

My name is Nicky Sielicki. I’m one of our Google Summer of Code 2015 participants. I’m a sophomore, err– I guess now I’m a junior, at the University of Wisconsin. You can read personal details about me at nicky.io, or maybe get to know me– I’m n1cky on freenode! Come say hello.

I’ve been hanging around the coreboot community for about 6 months or so after learning about coreboot from a 2008 GoogleTechTalks video about coreboot and why it’s awesome. I purchased a chromebook in hopes of playing around with coreboot and learning something. Over my winter break, I spent a lot of time reading, flashing unsuccessfully, and understanding more about coreboot.

Six months later, I use coreboot every day on my laptop (a Thinkpad, not the chromebook, which has remained as a project) and I’m in a position to contribute something of value to the community. I think that really says something about how helpful, welcoming, and encouraging the coreboot community is.

To have the ability to spend hundreds of hours working on free software this summer is great, but every GSoC participant can say that. I feel especially lucky that I have the opportunity to work full time on free software as important as coreboot.

Free software is preferable to non-free software for all the obvious reasons, i.e: the user can run the code however they want, they can examine the code, they can change the code, and they can redistribute the code. But philosophies aside, not all free software can say that it is more performant and usable than non-free alternatives, and not all software, free or not, is useful for everyone.

Coreboot is, though. Coreboot is probably faster than your BIOS, probably less buggy, and definitely more extensible. Whether you are a free software advocate who likes to study every detail of your computer, a company faced with the daunting task of writing boot firmware, or you are chronic facebooker who has never heard of a BYE OHS, you stand to benefit from a free, fast, stable, and extensible boot.

The point being, very few projects have that reach and breadth, and that makes coreboot a project that is easy to get excited about.

So what am I excited to contribute?

I have a bunch of things on my agenda. For the first few weeks of summer, I’m going to implement subsystem logging. Right now we have global debug levels, which means you have to look through a lot of irrelevant information before you see what you want. Compartmentalizing things can help that and make cleaner logs.

The second part of summer is more exciting. I’m going to build a target linux live CD for coreboot information collecting and testing. I plan on extending on Ubuntu’s Firmware Test Suite in such a way that it’s easy for anyone to add a new test, and I plan to make it easy to build an iso. Think of this as an extension of the board_status script. The hope is that we can get more data from a more consistent environment. Currently, you have to boot the board into whatever distro you have handy, clone the coreboot repository, and find your way into util/board_status/ to return data back to the community. My hope is that if it’s as simple as booting a flashdrive and going through an interactive prompt, more end users will return their data back, this, in turn, helps both developers know what boards are misbehaving and helps potential users know what issues they may or may not have with their board.

So obviously the utility of this depends on the data being easily accessible to anyone curious. The third part of summer is dedicated to presenting this data. The live CD will need a server to talk to, and the server will need to present the data. As I work through the summer, expect more details on precisely what that means and what it will look like.

Some other things I hope to work on this summer are cleaning up and contributing to the wiki, adding doxygen headers to everything, and getting upstream coreboot working on swanky. These are more or less stretch goals, but I think they can all happen!

I’ll be writing weekly with more details on everything, thanks for reading. I think this summer is going to be great!