Dec 122017
 
Boot Linux from your hard drive.
File BOOTLIN.ZIP from The Programmer’s Corner in
Category UNIX Files
Boot Linux from your hard drive.
File Name File Size Zip Size Zip Type
BOOTLIN.COM 765 584 deflated
BOOTLIN.DOC 2882 1432 deflated

Download File BOOTLIN.ZIP Here

Contents of the BOOTLIN.DOC file



SUBJECT: BootLinux documentation

AUTHOR: Fabien COUTANT
ENSIMAG, Grenoble, France
Email:[email protected] (until 06-30-92)

COMMAND:bootlin.com
SYNTAX:[]bootlin
is the DOS path where BOOTLIN.COM is located
is the name of the Linux boot image

DESCRIPTION:
The image file, which name is provided on the command line, is
the one you "rawrite" to a disk to make it boot Linux: it must contain
the decompressed form of the bootimage-xxxx.Z; you can also copy (with
mtools I suppose) the file "Image", that is produced by making the kernel,
to a DOS partition and then use it directly as argument in the bootlin
command line.
BootLinux loads from the specified file the three components
(boot sector, setup and kernel) at their usual loading addresses, then
correctly sets the registers and jumps to the setup, which in his turn
should run Linux.
Since the kernel is loaded from the first 64K barrier (10000H or
1000H:0) and bootlin uses DOS to read the file, and because DOS will
load bootlin at the lowest address, bootlin MUST be loaded below the
first 64K of the memory. The best way to achieve that is to declare
your CONFIG.SYS as the unique line:

SHELL=c:\etc\bootlin.com c:\etc\bootimag.12

assuming that the bootlin.com and bootimag.12 files are in c:\etc.
Of course, you still want to be able to run DOS at the same time, so
the idea is to use a CONFIG.SYS "multiplexer", e.g. something that
shows you on boot a menu, in which you choose wether you want to boot
DOS or Linux. I personnally use BOOT.SYS, which consumes nearly no
memory and is very powerful; using this, a config.sys should look like:

DEVICE=C:\UTIL\BOOT.SYS
DEVICE=BOOT.1 DOS
...
here you put the usual config.sys
...

DEVICE=BOOT.2 Linux
DOS=LOW
SHELL=c:\etc\bootlin c:\etc\image

DEVICE=BOOT.END

I use the line "DOS=LOW" because I use DOS 5 and it prints a little warning
message about loading DOS high, which I don't want... this should be
suppressed for DOS n, n<5.
If the specified file is not found, or an error occur during
loading, a small error message is displayed and the computer is hung.
BootLinux checks if it is loaded enough low in memory; if it is not
the case, an error message is displayed, the computer is hung, and you
should reboot.

DETAILS:
This section describes the details of the loading procedure:
1) installs a new little 2K stack above the program, and checks
this doesn't overlap with the loading zone of the kernel (10000H).
2) tries to open the specified file
3) reads 512 bytes at 9000h:0 (the boot sector)
4) reads 4*512 bytes at 9000h:200h (the setup)
5) loads the remaining bytes of the file at 1000h:0
and closes the file
6) sets SS=DS=9000h, SP=FFECh and AX= found in the bootsector
7) jumps at 9000h:200h



 December 12, 2017  Add comments

Leave a Reply