[U-Boot-Users] booting elf image?
Wolfgang Denk
wd at denx.de
Tue Aug 1 17:06:42 CEST 2006
[Please keep the list on cc:]
In message <8bf247760608010750n4da0cde9u376a2b521ed05187 at mail.gmail.com> you wrote:
>
> That is the reason i have built executable which is statically linked.
>
> isnt this enough?.
No, of course not.
As I wrote in my first reply, you need at least a basic understanding
of the operating system, of the system services provided by an OS, of
the libraries that are based on these services, and of the run-time
environments for C programs.
In your code you use the printf() function - guess what it does? It
will boil down to using some system calls - like write(). This is a
service provided by your OS. Also it relies on concepts like standard
I/O streams (namely, stdout), which in turn relies on the standard
file descriptors 0, 1, and 2 being set up by your OS. The whole
concept of a "process" and it's environment (virtual address space,
open file descriptors, etc.) is highly OS dependent.
Do you think another OS (say, Windoze) would provide exactly teh same
(binary compatible!) system call interface? Or process environment?
And do you really think a simple boot loader like U-Boot would
provide such services?
Well, let me tell you: it ain't so.
Your a.out program will only run in a Linux environment (or in one
which is compatible - for example, it is possible to run Linux
binaries under FreeBSD).
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Nothing ever becomes real until it is experienced. - John Keats
More information about the U-Boot
mailing list