I need to develop software in C/C++ for an embedded system. I have Debian 6 running off of a USB hard drive. I would like to be able to generate a stripped-down kernel with modules, and install them either on a CF card or a USB 'thumb' drive.

I succeeded in building a Linux 3.6 kernel and running it in Debian off of the USB hard drive, but I am having trouble figuring out how to install it on the thumb drive.

I would like a build cycle that looks like this:

1) Build module or kernel with desired software 2) Install it on thumb drive 3) Boot and test

I would like to use the same system for both development and testing, if that is feasible. I am looking for resources and tutorials that would help me understand how to do this.

1 Answer 1


If your host (development system) is not your target system, then look at Buildroot.
A 30-slide intro on features of Buildroot is here
At the end (#27) there is mention of a few similar and alternate tools to build embedded systems.

If your host (development) and target are the same system , then look at the Linux from Scratch tutorial and friends.

Your title has the broad concept of "development environment", but then you mention "writing to thumb drive". Is the issue really creating a bootable root filesystem?
You have not written an actual question.


  • Sorry for the lack of clarity. I'm not 100% sure I know what I'm looking for, but this answer gave me some addition resources which may get me what I need. The Linux From Scratch tutorial looks like it may do the trick. I have used *nix on and off for several years, but never had to get into the admin stuff or kernel-level programming, so picking up the various concepts is like sipping from a firehose. Nov 20, 2012 at 2:35

Not the answer you're looking for? Browse other questions tagged .