Re: Steve's crashing 1.3 machine, cured?

Jamie Lokier (jamie@rebellion.co.uk)
Wed, 17 Apr 96 23:25 BST


> a. can load modules at boot time, f.e. I modularized even root
> filesystem, even root device driver and FPU emulator.
> I use "universal kernel" that has ext2, scsi, ide and floppy modules,
> that boots on all my boxes and frees memory if they are not needed.

This is very good. A few months ago I was considering how to release a
commercial app (a game) on CD-ROM that used Linux, but could be run
transparently from MS-DOS. This requires some kind of universal kernel,
but a kernel that includes everything is rather large. Now that we have
kerneld and especially initrd, this is looking more feasible. I was
considering writing something like Alexey's kernel linker for much the
same effects.

BTW, with initrd I presume it's possible to load the root filesystem as
a module. If so, maybe even the new nfsroot is redundant now, because
it could all be done using user-space programs. Talking of nfsroot,
Alexey's module system would presumably allow the memory for the nfsroot
code to be swapped out or unloaded after it has done its job.

As a special luxury, how about locating hardware probes in another
segment (using compiler and linker directives) so they can be unloaded
after use?

b. can swap modules, when they are not used but cannot be unloaded
(f.e. msdos filesystem is mounted but not used)
All filesystems, binary formats, SYSV IPC
and FPU emulator are made swappable.

I like this too.

c. FPU emulator is loaded automatically, it would be a problem
for standard modules.

Nice, but there might be some way to special-case this using standard
modules. Perhaps have a special built-in mini-emulator that supports
enough (if any) (non-arithmetic) instructions to get as far as
insmod'ing the real emulator from initrd.

d. does not require ksyms.c

Does this mean that the run-time kernel image includes all of its
symbols at run-time?

-- Jamie Lokier