View Full Version : Build embedded Linux system on ARM based board
Steven Woody
15-11-2006, 06:25 PM
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
Bob Smith
15-11-2006, 11:02 PM
Steven Woody wrote:
> 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.
You might want to take a look at Cross Linux From Scratch.
http://cross-lfs.org/view/clfs-2.0/arm/
Hope this helps :)
Bob
Michael Schnell
16-11-2006, 12:57 AM
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
Lucas
16-11-2006, 03:14 AM
> 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.
>
You can use a cheap and reliable commercial solution like
KaeilOS embedded linux : http://www.kaeilos.com
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
Michael Schnell
16-11-2006, 03:46 AM
> You can use a cheap and reliable commercial solution like
> KaeilOS embedded linux : http://www.kaeilos.com
> as starting point just for speed up the initial steps.
Any comments on that ? Which version(s) of same are workable ?
-Michael
Lucas
16-11-2006, 04:19 AM
>> You can use a cheap and reliable commercial solution like
>> KaeilOS embedded linux : http://www.kaeilos.com
>> as starting point just for speed up the initial steps.
>
> Any comments on that ? Which version(s) of same are workable ?
>
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
Dave Littell
16-11-2006, 04:29 AM
Steven Woody wrote:
> 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.
>
So why not just port www.mvista.com's offering?
Dave
Steven Woody
16-11-2006, 05:07 AM
Lucas wrote:
> > 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.
> >
>
> You can use a cheap and reliable commercial solution like
> KaeilOS embedded linux : http://www.kaeilos.com
> 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.
>
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.
Michael Schnell
16-11-2006, 06:02 AM
> 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.
Great !
Did you use the version based on Eclipse (which they seemingly sell as
of September 2006)
> Can you share your experiences too ?
> :-)
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
Ulf Samuelsson
16-11-2006, 11:12 AM
Steven Woody wrote:
> 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.
>
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 :-)
> 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
--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Ulf Samuelsson
16-11-2006, 11:12 AM
Steven Woody wrote:
> 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.
>
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 :-)
> 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
--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Steven Woody
16-11-2006, 04:28 PM
Ulf Samuelsson wrote:
> Steven Woody wrote:
> > 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.
> >
>
> 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.
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?
>
> 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 :-)
>
>
>
Ulf Samuelsson
17-11-2006, 01:10 PM
Steven Woody wrote:
>>> 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.
>>>
>>
>> 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.
>
> 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?
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
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
robert kao
12-12-2006, 09:48 PM
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: www.ezhometech.com
Robert
vBulletin® v3.8.3, Copyright ©2000-2010, Jelsoft Enterprises Ltd.