Netboot Mailing List (by thread)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Possible to include ARP support in Netboot with 16KB and etc.



Hello,

Mike Hammer <mike-hammer@usa.net> wrote:
> Is it possible to include the ARP support into minimal kernel?

Yes, if you have the possibility to recompile the kernel (with AS86, BCC
and LD86). You can change every feature by editing the file
netboot/bootrom/make.config. The comments should make it clear what
to edit.

> In using mknbi-linux or mknbi-dos, can the bootable image have
> its size >1.44MB?

You can only use floppy sizes because of braindead MS-DOS. I don't
have the necessary values for 2.88MB disks so they are not included. If
you know exactly how a 2.88MB disk looks like (cluster size, number of
clusters, number of entries in root directory etc.) you can safely add
these values to the list at the beginning of netboot/mknbi-dos/openrd.c.
However, the selection of different ramdisk sizes still needs some
more thought. I will care for it when I have some spare time left.

> Finally, Netboot seems to have a feature where i can combine .EXE
> and/or .COM.  I think this is a VERY NICE FEATURE.  Can i combine
> more than one .EXE and/or .COM?

Sure, you can include as many programs as will fit into the maximum
63kB memory space (including bootrom, packet driver etc.). Well, the
maximum number is something like 8 or so, but you will probably never
exceed this limit.

> Is there some restriction in what i can do in these programs, such as
> doing screen access via BIOS INT10H console i/o service?

You should be careful with using DOS functions, as the bootrom DOS
simulator doesn't implement all functions available under the real
DOS. Basically it supports only those functions which are commonly
used by the packet drivers. Regarding BIOS interrupts, they are not
changed by the bootrom itself (except for the bootstrap vectors), but
additional programs like the ANSI driver change interrupts. But in
general, you can safely use all BIOS interrupts.
Please note when using the rudimentary memory management offered by DOS,
that the maximum available space is 64kB, which includes the bootrom
stack, bootrom data, packet driver code and data. Therefore, if you use
DOS function 48h (allocate memory) don't expect to have more than 20 or
30 kB available - depending on the size of the packet driver. Also each
DOS program gets all remaining memory space as it is done in real DOS,
so you have to free all unused space in order to allow following programs
to load at all. Please take a look at the source code for the ANSI
driver about how to best write a program for the bootrom DOS simulator.
It's basically the same as you would write a TSR program for standard
DOS.
Additionally, the bootrom uses interrupt number 78h to tell all loaded
programs when the bootrom services are terminated. The interrupt gets
called without any arguments, and can be used for example to restore
the original state of redirected interrupts or to reset any hardware
(like network cards) to a state which makes it usable again by the
loaded operating system. 78h gets called immediately before the bootrom
restores the interrupt table and jumps to the loaded operating system.

> The document states combined bootrom kernel and .EXE/.COM must be
> <64KB.  Will the compression of kernel and .EXE/.COM still permit
> me to use 32KB PROM?

This depends on how well your complete bootrom is compressable. Usually,
code can not be compressed as much as text can. The restriction is that
the _uncompressed_ code can't be larger than 64kB because of limitations
in the decompression routine. Besides, there is no real sense in using
more than 64kB because the DOS simulator memory space is very limited
anyway due to the netboot specification. After the bootrom has been
decompressed and started, the memory layout looks like:

Segment addresses
  0000 - 0FFF		Interrupt table, bootrom data, stack, DOS memory
  1000 - 97FF		Memory to load operating system into
  9800 - 9FFF		Bootrom code

Hope, this helps.

gero.

-- 
The average man, who does not know what to do with his life, wants another one
which will last forever.			- Anatole France
--
Gero Kuhlmann, Hannover     0511/6497525 (Voice)        gero@gkminix.han.de



For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.