Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Linux Business

Journal Journal: Embedded Linux Port - So Far P1

So Far P1

To be honest I did not have a clear idea of what this task would involve, but I was willing to see how far the rabbit hole went. So far I've learned that it goes deeeeepppppp :). There is alot I don't know, a looottttt.

NOTE: If the following sections seems confusing and all over the place, it's cuz that's how this started for me.

I'm not a Linux guru or anything, but I do enjoy working with it and developing in it. I love working with a command prompt. Emacs is my editor of choice (I just couldn't stand VI ...). At a previous job we used Cygwin for our development which was pretty cool, but that's not really relevant. I'm familiar with the general workings of Linux, a fair amount of the commands and basic configuration settings.

My initial goal was to put Android on Hal. So the first step was to get the source code from the Android site. After some playing around with Git and some wrong addresses ... Check. Now what? I guess compiling it would be a good start ...

After spending some more time going through the site I managed to get the source compiled ... I think. How do I get this on the device now? Is the boot loader in the source that I just compiled? How do I configure this for my particular device? Hmm I have no no idea what I'm doing!!

After some more time on the Android site I found a lot more info on the general structure of Android and how it's based on Linux 2.6.24 and how they improved this and that, but nothing to help me get going. A lot more information on how to develop cool applications for it as well but that doesn't help me. Googling leads to sites of people who have ported android to commercial devices like the Nokia smartphones and HTC ... All high level stuff, not really helping me. Just ended up getting confused and frustrated. I couldn't find a starting point to go from.

I decided at this point to take a step back. I'd bitten of more than I can chew. Android was put off to the side. I needed to learn more about Linux itself and what tools I needed to build and load Linux onto an embedded device. After some time googling for tutorials and case studies, I found a bunch of embedded device packages and solutions, but it's not what I wanted. I need a guide from the bottom up on how/where to get the tools I need and how to go about creating the O/S for my board.

The best solution ended up being buying two books. I bought "Building Embedded Linux Systems" and "Understanding the LINUX Kernel" both by O'Reilly. I've made it through most of the first book, and made a small dent in the second

Overall I think Building Embedded Linux Systems is a great book. It answered my initial questions and it provides a good start on how to port Linux. There are some errors in the book and some of their recommendations turned out to be wrong or iffy on further inspection. The second book is a hard read. It's super informative and very interesting, but my god this is the driest read I have ever had!! It's a struggle to get through it, I'm only on Chapter 3. I will finish it however!

I will go through what I have done so far in more detail in the next entry. Suffice it to say I now have some direction! There is still a ton of work, but with the two books mentioned above I have made some headway.

Linux Business

Journal Journal: Embedded Linux Port - Start

Start

This journal will be an attempt at maintaining a record of my progress towards porting Linux onto an embedded device. If anyone does actually read this, comments or suggestions on discussed topics are more than welcome.

The main reason I am writing this mostly for my own motivation. Despite my desire to do this, I am finding it quite difficult to find the motivation to stare at a computer screen weeknights/weekends after spending all day/week doing that at work. I'm hoping that if I keep track of my milestones and achievements, it will keep me focused towards my goal. I want to learn as much as possible about how an embedded O/S works from the bottom up. Linux seemed like a good choice as it is open source and there is a large support community around it.

Some quick info on my background. I have a degree in computer engineering from the University of Calgary (ranked 14th out of the 15 universities in Canada, w00t!). Anyways the engineering program was decent. Currently I am employed as an embedded developer at a local company which specializes in fleet management and vehicle gps tracking solutions.

The company makes several devices which it uses as part of it's solutions. Most of the applications run on the WinCE platform (I'm not a huge fan of MS, but the CE platform is solid). I find my work interesting, but as a junior engineer I don't quite get to work on things I really find interesting yet. As a way of learning what I want to learn I have decided to port Linux to one of our touchscreen devices. The device was designed with WinCE, but I see no problem with another O/S being supported on it. Let's call the device 'Hal'.

NOTE: I realize that it would probably be easier to start off with a starter kit of some sort, but I want to do this from bottom up. Also this port could be advantageous to my company ...)

Hal is a touch screen based the device. It has flash storage, SDRAM, a CF card slot, GPS receiver, audio, secondary processor, USB 1.1, serial and GSM modem support. Hal is based on the PXA255 CPU. I know it's kinda old, but it's a mature platform which will hopefully allow for a smother transition to Linux. Hal is a pretty reliable device, it is mostly used in rugged enterprise solutions and has a pretty good track record in the company. I have debugged this device and written communications, USB, CAN, J1939, J1587 and several misc drivers for this device.

After talking this over with my boss, he gave me his approval. I have been provided with the board for the device, JTAG tools, hardware schematics, developer guides for all hardware and relevant software which will be useful no matter the O/S. After some discussion with my boss the idea of porting the Android O/S came up and that seemed liked a good start. This was where I started a couple of months ago ... it's been slow going :P.

Slashdot Top Deals

Hotels are tired of getting ripped off. I checked into a hotel and they had towels from my house. -- Mark Guido

Working...