views:

205

answers:

3

Hi,

I want to learn how to develop in embedded linux. What materials should I need? I don't have the actual embedded device so I plan to use some device emulator for the PC. I want to know how to load the kernel and the filesystem in the device.

Many thanks.

+2  A: 

The device manufacturer should provide some sort of SDK, development environment, or at least some documentation for loading an OS on the device.

You'll need some sort of cross-compiler and linker to create executables for the device. A remote debugger would be nice, but may not be available.

An emulator or simulator that runs on your workstation would be very, very helpful.

You'll need whatever hardware is needed to move data and executables to and from the device. This may be Ethernet, RS-232, wi-fi, Bluetooth, USB, optical, eprom burner, or something weird.

Without more information about exactly what kind of device you are targeting, there is not much more to suggest.

Kristopher Johnson
+2  A: 

Depending on the device you plan on using, you may be able to emulate it using QUEMU.

Even without a device, you could probably get started by reading through some of the articles on http://www.linuxfordevices.com.

A good starting point may be The Embedded Linux Overview Quick Reference Guide.

jschmier
+2  A: 

You might want to check out http://www.linuxfromscratch.org/
Most standard linux distros are intended for full-blown desktops. The "linux from scratch" approach is ideal for embedded platforms, since you can create bare-bones kernels that can be fit into very small memory footprints.

It's fairly common for embedded single board computers to have at least one RS-232 serial port and at least one ethernet interface, and a boot loader stored in flash. The bootloader will often let you use the serial port to configure one of several boot options, such as boot from on-board flash, possibly from SD or USB flash, or use TFTP over ethernet, or sometimes even through the serial port itself.

JustJeff