Embedded Linux Development

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…

Share this post...
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Fark
  • HackerNews
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  1. This seems a very ambitious project, really hope that you get there, it’s something that is missing for the general user, bifferboard OS easy to use that comes with the very basic essential tools and hardware support! Regards!

    • Gues7
    • December 7th, 2009

    I’m not going to lie, I wont exactly be doing this alone… I will have some help however I think I have a leg up in some places as I have written provisioning systems before, I work closely with UCI in my current role as a software validation engineer, and damnit I want my home Cinema with RGB light control over an I2C bus!

  1. No trackbacks yet.

Anti-Spam Protection by WP-SpamFree