Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Jul 1999 15:05:20 +0200
From:      Graham Wheeler <gram@cequrux.com>
To:        wayne@crb-web.com
Cc:        FreeBSD Hackers List <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: Porting LILO to FreeBSD
Message-ID:  <3781FF10.A0AF1083@cdsec.com>
References:  <Pine.LNX.3.95.990705122055.13788A-100000@crb.crb-web.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Wayne Cuddy wrote:

> > If he wants to install the shim, it has to be resident on the drive
> > somewhere, but that's easy to sort out. It may be better to leave
> > the shim (any_d.b) on the FreeBSD partition - LILO relies on it being
> > at a known physical location on the disk. Under Windoze, if he ran disk
> > defragmenter, he could break the boot. Now that I think of it, I'm
> > probably lucky that I have never defragmented my Windoze drive or I
> > would most likely have broken my LILO.
> 
> I have, it works fine.  I believe that the defrag program is smart enough not
> to move those precious bytes from the beginning of the partition.  Come to
> think of it, if it did the system might not boot even if one wasn't using LILO.

I think you're missing part of the picture here:

Defrag is smart enough not to touch the first few sectors of the disk, 
which under DOS include the boot sector, the FATs, and the software
interrupt services in IO.SYS and MSDOS.SYS. But the any_d.b LILO shim
can be located anywhere on the disk. When you run /etc/lilo it obtains
the physical location of any_d.b and patches the lilo map. If defrag
relocates the any_d.b file, then booting DOS off a secondary drive
should stop working. LILO should still be able to boot any O/S off the
primary drive or any O/S that doesn't need a special shim off the
secondary.

I suspect in your case you weren't trying to boot DOS
off the D: drive and thus weren't using the any_d.b shim, or, if
you were, your any_d.b shim was in an ext2fs FS on a Linux partition
rather than in your DOS filesystem. In my case I had Linux running
off a DOS filesystem, and wanted to boot DOS off the D: drive, so
I had lilo.conf pointing to the any_d.b file that was in C:\LINUX\BOOT.

regards
Gram
-- 
Dr Graham Wheeler                          E-mail: gram@cequrux.com
Cequrux Technologies                       Phone:  +27(21)423-6065/6/7
Firewalls/Virtual Private Networks         Fax:    +27(21)24-3656
Data/Network Security Specialists          WWW:   
http://www.cequrux.com/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3781FF10.A0AF1083>