This GSoC proposal is for OpenInkpot, a Debian-based e-reader OS.
I plan to port OpenInkpot to the lightweight uClibc C library in order to improve its memory usage. Here are some of the other benefits this project could provide.
- Increase number of devices on which OI could run
- Improve performance
- Decrease compile time
- Reduce firmware transfer and installation time
- Simplify porting OI to other architectures
Plan of action
Follow these instructions for porting IPLinux to a new architecture.
- Acquire target device (my own e-reader!)
- Add new architecture identifiers (uclibc and ucarmel) to dpkg.
- Build and package toolchain for new arches.
- Cross-compile existing packages to new arches with toolchain, starting with most important packages
- Build and test firmware once the necessary packages (uClibc, dpkg, and BusyBox) have been packaged
- Test packages on device with chroot
- Test complete firmware and allow autobuilders to start porting packages to new arches
Last fall, I created an example game for Pygame2, a low-level Python wrapper for SDL. The game ran, but it was worthless as an example because my clumsy graphics abstraction obscured the underlying Pygame2 graphics calls. From this failure, I learned to never lose sight of the purpose of my project. My initial announcement for the flawed example.
- I'm hard-working
- When I am assigned a task, I feel compelled to do it as well as I can. I find it difficult to walk away from an unfinished task.
- I'm self-motivated
- Events in my life have taught me to work independently and seek out my own answers. When I discover a problem I don't know how to solve, I start looking for a solution. I check any relevant manuals, search for tutorials, look for examples, and — if I still haven't found a solution — ask for help. Finding answers on my own gives me a feeling of satisfaction and accomplishment.
- I love programming
- Writing code is my favorite hobby, and I will someday make it my profession. I'm not participating in the Google Summer of Code because I really need the money or I want another bullet point for my resume; I'm participating because I want to create software and learn more about software development.
In addition my recent OI patch, I've spent some time working with Pygame2. While developing an example game with the unstable development version, I found, isolated, and reported several bugs.
GNU/Linux distributions development experience
I've used Ubuntu for about a year, learning much about Linux and Debian. I've become proficient at finding, installing, and upgrading Debian packages. I packaged my first .deb and started my own repository in order to test my fix for Ticket #834. I've compiled my share of source code, and I'm familiar with the GNU build system as both a user and a developer. I've written several bash scripts, and I'm comfortable with the major Unix commands and concepts. I've even spent some time configuring and troubleshooting the GRUB bootloader.
Unfortunately, I haven't worked on the Linux kernel yet.