[ELDK] Kernel selection determined by toolchain?
Wolfgang Denk
wd at denx.de
Sun Feb 1 11:43:53 CET 2009
Dear Jerry,
In message <8c09713c0901311951t16e18f8ak7867e0d2f4f43f6d at mail.gmail.com> you wrote:
>
> > Out or curiousity: what exactly is your reason for using uClibc?
>
> No special reason, i just know it is relative smaller than glibc and is
> more fit for small embedded system,Actually, i do all the these by myself
> just for study.
How many really small embedded systems do we have today? Is there
really anybody out there struggeling to fit his code in 8 MB of RAM?
-> size libuClibc-0.9.27.so
text data bss dec hex filename
300498 5772 18092 324362 4f30a libuClibc-0.9.27.so
-> size libc.so.6
text data bss dec hex filename
1076362 16560 9916 1102838 10d3f6 libc.so.6
(1102838 - 324362) / 1024 = 760 kB
So you save less than 0.75 MB in your system - and buy a lot of
restrictions, incompatibilities and frustration.
I have to admit that I am not exactly a fan of uClibc, and I don't
recommend using it for most serious commercial projects.
> So i got the procedure as following:
> 1)Compiling kernel itself with any toolchain.
> 2)Rebuilding the toolchain with the kernel(made by step 1) header files.
...assuming you really ant to rebuild the toolchain. With ELDK this
is normally not necessary - on contrary, one of ideas behind ELDK was
to provide a ready-to-use toolchain which you can just use without
having to rebuild everything from scratch.
> 3)Using the toolchain(made by step 2) to compile application which will work
> on the kernel.
... and most likely other kernel version, at least as long as you
stick within the same major release series (i. e. don;t try using a
2.6 generated toolchain with a 2.4 kernel or vice versa - it may
work, or may not).
> I am still reading <<Linux device drivers>> and the <<Understanding the
> Linux Kernel>> and found myself can not finish them in a short time.
This is normal. There is a lot of information to digest, and I don't
know of a quick way to "download" a few years of experience...
> But when i am trying to port linux on my board(arm 9), always concused by
> some basic question like "How does my display driver get its device
> address?"What should i do and what kind of Docs should i read if i want to
> custom kernel for my board further than "make menuconfig".
Apply common sense. Use search engines and mailing list archives -
maybe other people have been asking similar questions before. Read
the source code. Learn to use tools like grep and git to search for
information in the Linux kernel sources. Search the Documentation
directory - it has a lot of information which seems to be ignored by
many people.
> I still have no job on embedded development. They just employ some kind of
> people who has experience in this field¡£I act like a fly with no direction,
> trying its effort to fly but can not getting in the right direction.
> Could you give me some suggestion on how to go futher,how to develop myself?
The only efficient way of learning these thing that I know is by
doing. Try to find a project, maybe just a hobby project for yourself,
and do some work in that area. Get experience.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
God made machine language; all the rest is the work of man.
More information about the eldk
mailing list