Subject: Re: ARM Linux
To: None <port-arm32@NetBSD.ORG>
From: Robert Black <r.black@ic.ac.uk>
List: port-arm32
Date: 11/12/1996 14:37:24
On Nov 11, 11:10am, Peter Berg wrote:
> Subject: Re: ARM Linux
>
> > Looking around Acorn World I noticed that Russ King now has ARM Linux up
> > and running on a Risc PC. He has implemented StrongARM support and is
> > planning to support the ARM6 and ARM7 also. He has compiled X11R6 with 1,
> > 4 and 8bpp X servers.
> >
> > He has shared libraries but only in a.out format, i.e. no
> > position-independent code and no ELF.
>
> Can someone explain me why this isn't possible under RiscBSD ?

It is possible. It is all a question of time programmer time. We felt it was
better to put the effort into other areas rather than programming something
which will be thrown away when PIC is ready.

> > I was wondering what the possibilities for mutual development between
> > RiscBSD and ARM Linux teams were ? Things that spring to mind are the gcc
> > compiler and the X server/libraries, which might contain a lot of code
> > common to both RiscBSD and ARM Linux. If the console interfaces were
> > identical it might even be possible to develop a single X server for both
> > systems, though I've no idea whether this is realistic.
>
> A common X server might be possible for *any* ARM based UNIX boxes, but a
> abstract videodevice must be developed with a unique programming interface on
> all of these systems. This meens the videodevice will be the hardware
> depending code that must be written for every machine with diffrent hardware.
> On Atari and Amiga systems this was done and now you can use the same X
server
> (binary!) on both machines.

It would probably be possible to do this, but presumably ARMLinux uses a Linux
style console which is designed around PC hardware and not particularly
appropriate to the vidc20.

> > Another possibility might be a single format for executables, compiled
> > with a common version of gcc. This would have obvious advantages when
> > compiling and maintaining ports.
>
> I guess this would cause some drastic changes to the gcc code and will not be
> easy to realize. I'm not shure why they in Linux have invented the ELF
format,
> but I think they had problems with the a.out. But now nearly everything in
> Linux is ELF now and I know no BSD system which can handle ELF binaries.

ELF is the standard SVR4 executable format (probably invented by USL). Linux
used it because it was an existing standard for shared libraries. Most NetBSD
ports support both a.out and ELF and there are numerous religious wars about
which is best.

> In general, it would be possible to make both systems a little bit more
> compatible, but therefore you must write some linux compat libs for BSD and
> some BSD compat libs for Linux. They must provide the functions the of the
> other system which are not available on the one wich is used *AND* they will
> be linked at runtime. This means you must have shared libs on both systems !
> The next problem is that linux is SystemV compatible and RiscBSD is BSD; so
> you have completly (!) diffrent directory structures.

You don't actually need shared libs AFAIK. The compat interface would probably
be at the SWI call level. NetBSD already has support for this sort of hackery.
I don't know whether Linux does. Linux isn't significantly closer to SystemV
than NetBSD is but it has such a large following that it pretty well defines
its own third standard.

> I think Linux for the RiscPC comes one and a half year to late and noone will
> drop his RiscBSD away for a system with less software available.

It is probably significant as far as ART are concerned though because Linux is
currently fashionable so lots of people have heard of it. It also makes a
certain amount of sense to use if you are running PC Linux anyway and use a
recepie-book approach to system administration.

Cheers

Rob

--