[lkml]   [2003]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: emm386 hangs when booting from linux
> Booting DOS from Linux is not as easy as booting Linux from
> DOS. DOS relies much more on the BIOS, and the state of the
> computer as it is setup by the BIOS. What needs to be right
> for DOS to work is the contents of the BIOS data areas of
> RAM, and the interrupt vector table, and state of some of
> the hardware.

as far as I know, linux does not touch the BIOS data areas,
and "machine_real_start" sets the IDT to 0,3ff again (the
contents of the real-mode IDT are not modified by linux).
the only piece of hardware neccessary to reset was the interrupt
controller, in particular, the IRQ mapping.

> It is surprising it worked that well. You can't even boot
> DOS from DOS, DOS will have changed interrupt vectors which
> would cause a second DOS to fail. If Linux is booted from
> LOADLIN there will already be messed enough with the

interesting that you mention loadlin. when I run loadlin in a
DOS which I booted from linux, (boot linux->boot dos->boot linux),
the 2nd linux boot (by loadlin) will hang with the following message:

C:\LOADLIN> loadlin

Your current DOS/CPU configuration is:
load buffer size: 0x[*HANGING*]

This looks promising. I think I gonna download loadlin source now :-)

On the other hand, when instead of loadling MBR and executing it, I
do a far jmp to 0xf000:0xfff0 from "machine_real_start", normal
boot-procedure is exected without haning anywhere. So I think that the
bios-setup is doing some kind of initialisation/modification to whatver(!?)
which the "machine_real_start" function does not.

herbert rosmanith

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:33    [W:0.060 / U:1.676 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site