Sunday 11 March 2012

Release 0.1: Raspberry Pi Kernel Utility

Today I am going to be putting out the first release for a Raspberry Pi project that I have been working on and will continue to for the next little while. If you don't know what this is then have a look at raspberrypi.org. My goal is to release improved versions of the package in the weeks to come. The project is to take a tool that creates a header file which is then merged with the Raspberry Pi's kernel file so that it can be loaded into memory.

My project wiki page can be found Here.

The tool consist of an executable python script that requires two special files for kernel and bootloader. My task is to take these 3 files and create an executable RPM package which can be downloaded and installed. The script produces a file called "first32k.bin" which would be used and merged with "kernel.img". For this release the main focus was to have successfully build a RPM from this.

Using tools that I'd learned from my SBR600 class, I was able to create this RPM by creating a spec file for it and using rpmbuild. Having previously written a post on this blog on my experience and the steps to write one, helped me greatly to get this this done. One of the challenges was that this would be executable and needs to have certain files created in specific directories, include patches and have no build architectures.

This is the RPM Build Tree after rpmbuild completed

The link to release 0.1 RPM is : raspi-tools-0.1-1.fc16.noarch.rpm

Also, the spec file can be viewed here : raspi-tools.spec

The source zip file : 
raspi-tools.tar.gz

The rpmbuild tool had successfully created a SRPM and RPM for me however I am sure there are many problems that I will have to iron out as by no means that the project is done. Some of the stuff that I want do for release 0.2 is:
  • test the rpm with rmplint for common errors, also with  mock and koji
  • modify the package and spec file to follow Fedora Projects packaging guidelines Packaging:Guidelines - FedoraProject
  • connect with community to have package looked at and maybe even reviewed