This is the mail archive of the
mailing list for the SID project.
Re: Building SID
- From: "Michael Ambrus" <ambrmi09 at gmail dot com>
- To: sid at sources dot redhat dot com
- Date: Mon, 5 Mar 2007 23:09:09 +0100
- Subject: Re: Building SID
- References: <20070302181049.GD18204@redhat.com> <20070303011808.GC18185@redhat.com> <firstname.lastname@example.org> <20070303143422.GD18185@redhat.com> <email@example.com> <20070303144102.GF18185@redhat.com> <firstname.lastname@example.org> <20070303163018.GG18185@redhat.com> <email@example.com> <20070305173328.GA8990@redhat.com>
(For popular usage though it's usually better to join a more
established similar project.)
That would depend on your personal interests I'd say. I've given it a
lot of thought (several years actually) and I came to the conclusion
that there isn't any similar project. Ive done a few deeply embedded
applications with Linux, enough to know that addressing targets
smaller than 4MB RAM + 2M Flash is just not worth the trouble . As
far as I know there isn't any kernel that can do what TinKer does -
the one that comes closest is RTEMS. But what would be the fun in
joining a humongous project? TinKer is my third kernel (I wrote the
first one in -89) but I still enjoy very much each time I bring a new
target to life.
The ELF reader in sid assumes a loadable program image, and uses the
various segment headers to populate the simulated memory. It does not
perform relocations in the object-file/linkage sense, and it also does
not include support for runtime linkage like ld.so in linux. What
kind of relocation particularly do you need?
TinKer is growing from a kernel to an OS (I never thought it would,
but it's within grasp so I figured why not). I.e. code needs to be
either loaded to virtual memory regions or relocated into a new memory
offset at load time (both techniques have existed for decades). I
spent some time today playing around with ELF and various linking
options and it turns out that I can relocate certain output formats
rather easily, especially PIC formats normally used for dynamic
libraries since given certain limitations, it can be used for
executables as well (PIE).
Reading various ELF specs is tremendously boring (especially those
written by Sun or Motorola), but I found the works of this great
author that is both fun reading and a great inspiration. If you enjoy
good reading and a few laughs: http://www.iecc.com/linker/
P.S. I still can't get -tksm to work. I've tried rebuilding without
--prefix and installing as root, patching the tclConfig.sh and
tkConfig.sh - nothing helps. I can't figure this one out... P.S.