x86 kernel with bios assumptions

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.

Reply to
me
Loading thread data ...

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

Reply to
Juergen Beisert

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.

Reply to
Steven J. Hathaway

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

Reply to
Michael Schnell

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.