Subject: port-i386/6823: Bootloader design ugly
To: None <firstname.lastname@example.org>
From: Martin J. Laubach <email@example.com>
Date: 01/16/1999 14:41:51
>Synopsis: Bootloader relies on coded in block numbers
>Responsible: port-i386-maintainer (NetBSD/i386 Portmaster)
>Arrival-Date: Sat Jan 16 05:50:01 1999
>Originator: Martin J. Laubach
System: NetBSD asparagus 1.3.3 NetBSD 1.3.3 (ASPARAGUS) #5: Thu Jan 14 05:28:42 CET 1999 mjl@asparagus:/home/temp/devel/kernel/sys/arch/i386/compile/ASPARAGUS i386
The new, improved 1.3 boot loader design is rather ugly. As I found
out the hard way, the second stage boot loader is contained in the
file /boot. That in itself would not be a problem, but the fact, that
installboot writes the block numbers somewhere in the first stage is.
This is certainly not the Right Thing, at most a temporary kludge.
In fact, this is almost as bad as LILO (does the same thing with the
It also loses badly when restoring a backup over your root partition,
since the second stage boot file will be reallocated and overwritten.
Having to do an installboot after a restore is not really evident.
Incorporate some part of the pre 1.3 bootloader that understood
a subset of ufs, and use that to find the correct block numbers
instead of relying on hard coded addresses.