x86 kernel with bios assumptions

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Can anyone point me to a kernel for x86 arch that doesn't make any
assumptions about a bios being present? My embedded platform has an x86
processor but no std bios so the kernel dies right away during boot on the
first int 13 call. I know the arm arch makes no bios assumptions. I've
looked for similar functionality for x86 but haven't found anything yet.
Porting a bios / bios emulation to the platform isn't a desired activity.
This is a headless / diskless system but does have I/O and other capability
- just not std bios functionality.
Thanks for pointers.

Re: x86 kernel with bios assumptions

Quoted text here. Click to load it

Every x86 kernel comes with a small 16 bit realmode part to copy the kernel
to the correct physical address (0x100000 and above), collecting some
information about the system (its the part you see: The int calls),
switches to protected mode and jumps to the final kernel. Replace this
realmode part by your own one that does the same, except the int calls. I
did it 7 years ago in the linux-2.2/2.4 age, also for a non BIOS
environment.
Maybe you could reuse some code from the mkelfimage project. They also omit
the 16 bit realmode part.

JB

Re: x86 kernel with bios assumptions
Quoted text here. Click to load it
The Linux Kernels 2.2 & 2.4 have a small boot loader.  The Kernels 2.6
have made the boot loader brain-dead and require a third-party boot
loader.  But it is possible to design your own bootloader based on
Kernel 2.4 code and splice it into the i86 architecture.  I've done this
exercise, but it is not trivial.
- Steve.

Re: x86 kernel with bios assumptions
Quoted text here. Click to load it

This is not an x86 thing, but the 2.6 Kernel can be configured to
contain a root file system that automatically is extracted from a
compresses image that sits in the compressed Kernel image.

Thus in many systems it's enough that the boot loader starts the
(compressed, self extracting) Kernel image (maybe after copying it from
somewhere into RAM). More complex boot loaders that extract the root
file system here are not necessary any more.

-Michael

Site Timeline