Build embedded Linux system on ARM based board

hi,

we are about to move our development to ARM + Linux. The board will be ARM9 based, and, most likely NOT be a standard one.

i think we firstly need to build a cross-compile development environment on our host computers ( that are already running slackware or redhat linux ), then next step will be build and put an embeded linux OS, as well as some basic utilities, down to the target board.

my question is, what's the popular ( widely accepted ) collection of software tools which are suit the job? i've already heard ELDK and U-Boot, but i am not sure whether it will work for a non-standard board.

thank you in advance.

- woody

Reply to
Steven Woody
Loading thread data ...

You might want to take a look at Cross Linux From Scratch.

formatting link

Hope this helps :) Bob

Reply to
Bob Smith

The easy way is to use a commercial offer (like SysGo's ELinOS, which I did take a deeper look at, as it's a German company).

Re booting the system: There are a lot of cheap OEM boards that come with Linux installed and thus among other stuff offers the appropriate boot strategy. For ARM this usually seems to be UBOOT. As I consider using an ATMEL 9200, I bought two of those (one by SSV and one by MSC).

Re SDK I found that using Eclipse is recommended everywhere. OTOH I found that getting an Eclipse cross compile and environment running seems _very_ demanding. So I do consider using a commercial offer, once I decided which way to go.

-Michael

Reply to
Michael Schnell

You can use a cheap and reliable commercial solution like KaeilOS embedded linux :

formatting link
as starting point just for speed up the initial steps.

In case you will need support o device drivers development they do that as well.

HTH

/lucas

Reply to
Lucas

Any comments on that ? Which version(s) of same are workable ?

-Michael

Reply to
Michael Schnell

Hello Michael, I have evaluated some other competitors' solutions but finally I have purchased KaeilOS bronze for 299 euros, plus an AT91RM9200 based board. I wasn't very skilled with embedded linux, and it has been a good investment. Everything was included like three prebuilt ARM toolchains and three x86 toolchains. I've been able to create a new toolchain from scratch using included sources too. I used with my Portux920T board a pre-configured BSP: u-boot-1.1.4, kernel 2.6.15, and the ramdisk filesystem.

Can you share your experiences too ? :-)

regards /lucas

Reply to
Lucas

So why not just port

formatting link
's offering?

Dave

Reply to
Dave Littell

even thought the board might already come with a runable linux, it usually not provides cross-compile enviroment for my host, is it?

and, because we by far have not decided to stick to any comercial solutions, so i still like to hear your opinions about ELDK. is there any? is it popular?

thanks.

Reply to
Steven Woody

Great !

Did you use the version based on Eclipse (which they seemingly sell as of September 2006)

Up till now I only have the software that came with my SSV and MSC demo boards (both based on AT91RM9200). Both come Linux 2.4 with UBOOT. (2.6 promised but not yet delivered). I tried to get an Eclipse cross compile/debug environment running, but was not very successful yet. I _was_ able to do a standard make project using Eclipse and d/l it to the board via FTP. I did nit try to get GDB running, as I first would like to have Eclipse running with managed make.

I talked (a lot) to SysGO about ELinOS and this seems to be a really great development platform (based on Eclipse) and they seem very competent and helpful, but more than ?3000 _is_ a lot for the start. So Kaeilos might be a a way out.

-Michael

Reply to
Michael Schnell

You might want to investigate "buildroot". "buildroot" is an open source distributed makefile system which can be easily extended. It can be downloaded from "buildroot.uclibc.org".

You start by configuring the system

$ make menuconfig

And you will get a DOS like menu system allowing you to select which gcc/binutils/uclibc version you want for your crosscompiler. Then you select what packages you want to have in your root file system. What filesystem type should your root file system use (CRAMFS,JFFS,EXT2 etc.) Finally you can specify which board you should use, and then buildroot can build the Linux kernel and the U-Boot boot monitor togehter with other useful utilities. If you have a web server, then you can put the html files in a directory which gets included in the root file system.

After the system, is configured, you just type

$ make

and buildroot will build the cross compiler system, the root file system linux and u-boot for you. It will download any needed package using passive ftp.

At the end, everything gets copied to the /tftpboot directory for download for the board.

Since this is extensible, all these features are not available for all board/chips but it is almost there for the AT91RM9200EK booting from dataflash.

I put my AT91 buildroot at ftp://at91dist:distrib@81.80.104.162/ in the third party Linux support directory. (Please note that that is my private stuff and not supported by Atmel)

I built it under OpenSuse 10.1 and there are a few rpm's lacking like "po4a" which needs to be installed before running OK.

Once you get past the first hurdles, buildroot is a good (free) tool.

In order to get you running on a non-standard board you will have to port:

  • U-Boot
  • Linux Update the buildroot target directory creating configuration and makefile scripts for Linux and U-boot.

I have not managed to build gdb using buildroot for some reason.

You already selected your ARM9 CPU then? (Can't tempt you with an AT91 :-)

--
Best Regards,
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

You might want to investigate "buildroot". "buildroot" is an open source distributed makefile system which can be easily extended. It can be downloaded from "buildroot.uclibc.org".

You start by configuring the system

$ make menuconfig

And you will get a DOS like menu system allowing you to select which gcc/binutils/uclibc version you want for your crosscompiler. Then you select what packages you want to have in your root file system. What filesystem type should your root file system use (CRAMFS,JFFS,EXT2 etc.) Finally you can specify which board you should use, and then buildroot can build the Linux kernel and the U-Boot boot monitor togehter with other useful utilities. If you have a web server, then you can put the html files in a directory which gets included in the root file system.

After the system, is configured, you just type

$ make

and buildroot will build the cross compiler system, the root file system linux and u-boot for you. It will download any needed package using passive ftp.

At the end, everything gets copied to the /tftpboot directory for download for the board.

Since this is extensible, all these features are not available for all board/chips but it is almost there for the AT91RM9200EK booting from dataflash.

I put my AT91 buildroot at ftp://at91dist:distrib@81.80.104.162/ in the third party Linux support directory. (Please note that that is my private stuff and not supported by Atmel)

I built it under OpenSuse 10.1 and there are a few rpm's lacking like "po4a" which needs to be installed before running OK.

Once you get past the first hurdles, buildroot is a good (free) tool.

In order to get you running on a non-standard board you will have to port:

  • U-Boot
  • Linux Update the buildroot target directory creating configuration and makefile scripts for Linux and U-boot.

I have not managed to build gdb using buildroot for some reason.

You already selected your ARM9 CPU then? (Can't tempt you with an AT91 :-)

--
Best Regards,
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

thanks. this step with my non-standard board is what i question about. i have to grasp this before involve into buildroot. is my understand right?

Reply to
Steven Woody

Yes, buildroot will make things easier to build the root file system. No help in getting Linux drivers and U-Boot drivers.

Porting Linux to an ARM9 is not a trivial task. Depending on volyume, you might consider using an off the shelf ARM9 with external functionality.

--
Best Regards,
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

Hi, Steven, You can refer the follwing information: EzHomeTech is a leading embedded middleware (SSP) provider to provide various software development kits to let you quickly and easily build your own embedded products. . Let you OWN an embedded middleware (SSP) and application modules . Let you BUILD your own embedded products

. Let you REDUCE time on learning hardware platform . Let you quickly OWN more turnkey solutions Software development kits for uClinux and video decoding.

  1. SSP SDK for IVS-800
  2. SSP SDK for Zyxel-iTV-1000 more information:
    formatting link

Robert

Reply to
robert kao

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.