Skip to Content.
Sympa Menu

baslinux - Re: [BL] (no subject)

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: Ken Martwick <kenm AT surfbest.net>
  • To: baslinux AT lists.ibiblio.org
  • Subject: Re: [BL] (no subject)
  • Date: Fri, 05 Nov 2004 06:32:51 -0800

James Miller wrote:

On Thu, 4 Nov 2004 kenm AT surfbest.net wrote:


When a PC first boots, the BIOS provides (real-mode) interrupt service
via an array of 256 "interrupt vectors" at the bottom of addressable
memory. These do not normally concern Linux, but they do affect the
booting process if loadlin is used and have a major impact on the
compact Xvesa server. Assuming the BIOS interrupt vectors are good
(many are buggy), the problems begin when DOS boots and adds its
changes to the vectors; these won't be usable after Linux boots.
My first idea to correct the Xvesa problems was to write a "clean"
set of BIOS interrupt vectors into memory after BL3 boots. This
is still a good idea, but I haven't figured out exactly how to
do it, especially at physical address zero!
It is easier to make such a correction while still in DOS, but
DOS must still be able to allow loadlin to boot Linux, so my
idea was to only "correct" some of the altered vectors. In
fact, I wrote a quick program to change the first 32.
On the basis of tests with a 486, a Pentium, and a Pentium II,
this seems to work flawlessly and to allow booting from a
"normal" DOS environment with XMS ("himem.sys" or equal). I
do not use emm386, so I cannot say if it would work. Tests
were conducted using PTS-DOS and FreeDOS.
In practice, the messiest part of this procedure is getting a
clean set of interrupt vectors. I have found a "multiboot"
program which comes with utilities to do this with the use
of a temporary boot floppy. After that, all that is needed is
to run my "fix1f.exe" program with the vectors "vector.bin" in
the same directory. If someone can provide a site for this
(<200K) package, I believe I could email it as an attachment.


This sounds interesting. Could it be the solution to the DOS memory mgmt
programs' fouling up of Xvesa? That would be a great interim
solution--maybe somehow making up a batch file that would run it, then
boot.bat. I'd be willing to host it at my add-ons site. But I'm not
quite clear on how it all works--especially the role of the boot floppy
you mention. We're talking about one or more programs that execute within
a DOS session here, aren't we? A DOS session started from a hard drive
install of DOS? And where the baslin directory is located with its
relevant files? So where does the "temporary boot floppy" fit into this?
Is it just where some program was located that you transferred to your DOS
hard drive install? And from that hard drive install you run it, then
your fix1f.exe, before running boot.bat? Clarification would be
appreciated. And the 200K: is this fix1f.exe and another program that you
got off the boot floppy, or just one or the other?

Thanks, James
_______________________________________________
BasLinux mailing list
BasLinux AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/baslinux


I'm sorry I was confusing. The boot floppy I mentioned is only used once
to get the clean BIOS interrupt vectors for a particular PC. The 200k size includes all the programs and source code. My code is GPL and the
other programs are also open source.
Ken Martwick




Archive powered by MHonArc 2.6.24.

Top of Page