jvh at uclink4.berkeley.edu
Fri Jan 28 18:03:55 CET 2000
> for (;;);
> Ok for that. - but can somebody tell me what I have to do to get a
> Linuxkernel loaded ? I intend to put an 16bit latch on the isabus and
> connect a flashdisk there ...
> I could write C code to load the kernel image from the first, say, 1k blocks
> of the disk. But where do I put this image and how I´m gonna start it ?
So you are in C code (a good start), and you know how to read the image
in. If you can read an uncompressed kernel into memory, put it at
0x100000 (1MB) and jump to it in c code like:
#define KERNEL_START 0x100000;
static void (*v)() = (void *)KERNEL_START; /* Function prototype */
v(); /* Jump! */
Or you can read a compressed image into something like 0x10000 (64k) and
then uncompress it to 0x100000 and jump to it. This is what I do because
the compressed images are a third the size of uncompressed ones (at least
for linux). The decompressor is just inflate.c from the linux source (a
copy is in the openbios source).
To unsubscribe: send mail to majordomo at freiburg.linux.de
with 'unsubscribe openbios' in the body of the message
More information about the openbios