[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [N8VEM-S100:246] Bootstrapping Lunux on the S100/68K...

Hash: SHA1

Just one more thing about the uCLinux MMU-less mode of operation is  the
problem of program re-location had to be overcome.

Since the program may be loaded at any point in physical memory without
the benefit of an MMU linear abstraction model, absolute memory
references are problematic.

This is overcome by the linker being -nommu aware and builds a
relocation table into the binary executable such that the program
loader, at load time 'fixes up' location dependencies with the
appropriate offset according to the actual load address at load time.

So you see that -nommu is a bit of a hack, and not "true" unix-like
style, but it actually works quite well, and I've actually had a kernel
with a pretty full TCP/IP, a tiny root file system using the busybox
shell, and a web server running perl, an FTP server, a telnet server,
and a pretty sophisticated custom application all booting and running
directly from 16MB of FLASH and 8MB of RAM on the X-Port Pro (68k
derived) platform.

I am certain that in 4MB of FLASH I can make a tiny kernel and tiny root
file system that will have basic TCP/IP (SLIP/PPP) for NFS, FTP and
such, a busybox shell with a few handy utilities enabled, and a RAM
disk. This is all I need to get to a command shell access the filesystem
on my development host such that I can download and run software
directly from my development system.

Once I have a setup like that, I can start getting serious about
live-testing the MMU and building an MMU enabled kernel.

Kind Regards,

Mike Sharkey

On 11-06-03 03:33 AM, mike wrote:
> It does have some
> limitations, such as no swap file, and no memory protection other than a
> thin barrier of a few protected instructions between supervisor mode and
> user mode, but user mode can 'see' kernel memory, so an unstable user
> app can bring down the kernel.

Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/