I work for a company that is currently utilising Linux on an embedded platform, now I am a big fan of Linux, and I do really like embedded systems… so the natural progression was to go and learn about embedded Linux development. I managed to find a really good book called the Embedded Linux Primer: A Practical Real-World Approach which really is very good. So, as a kind of training exercise, I will be attempting to build my own customer miniture linux distribution (borrowing some things from other projects) for an embedded system. The board I have chosen is the BifferBoard which is available from http://www.bifferboard.com and is a very cheap x86 based system with a lot of handy features such as UART, JTAG, GPIO, Ethernet, really good board and again, really cheap, I paid around €30 for mine…
I do have a few goals that I intend to accheive in the proccess of doing this project and a few additional tools will be imported from other projects… the main requirements that I have are…
- Very small footprint.
- Custom compiled kernel that has the bare essentials to support all of the hardware on the board natively, no KLM’s allowed.
- A working shell environment, Busybox is my target at present.
- A port of UCI which is extensively used throughout OpenWRT, that really is an awesome configuration utility.
- A port of the LUCI framwork, again, used extensively throughout OpenWRT.
- LUCI is a MVC based framework written in LUA that provides superb interaction with the UCI configuration tool.
- A method of automatically ‘provisioning’ a unit with a set of configuration files
- Most likely the provisioning will be handled on a back end server somewhere (read: webserver) where the unit it’s self simply checks the server on first boot and will grab the config files if they exist.
- Support for V4L and webcams. This provides the potential to take a cheap webcam, and a cheap board, and have a cheap IP camera.
More will be added to this list as some of the items are checked off or as a need arises for them. One thing that I cant think of, and I have never been very good at it, is a name for the project. Any ideas? Please do let me know in the comments, one idea I heard was ic-linux…
Since committing to doing this I have built a small development area for myself using my Laptop and some other equipment I had that would be useful, USB hub, old router with DHCP disabled as I dont have a small switch, various tools, memory sticks etc… unfortunately I was doing some work on my room and ended up making a mess of it all so its not exactly picture worthy at the minute, but I will get some put up soon.
Anyway, thats enough rambling on for now…
