CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2010/04/03 15:41:26

Modified files:
        distrib/loongson/ramdisk: install.md 

Log message:
Use hw.product sysctl to tell whether we are installing on a Gdium Liberty
system, or something else.
Derive the fdisk instructions in `use the whole disk for OpenBSD' from this
knowledge, and set up a 32MB ext2fs partition on Gdium, and the 1MB elsewhere
(as was already been done).
On Gdium, format this partition in fancy mode (-O 1) and 4KB blocks, so that
PMON has a chance to load files larger than 4MB (such as bsd.rd)
without failing in a pathetic way, and also copy the kernel image to the ext2fs
partition after the installation has completed.

Note that, apart from creating a larger ext2fs partition on Gdium, there should
be no need for this.

Unfortunately, since regular PMON does not have ext2fs code, Lemote wrote its
own code to access ext2 filesystems. Saying that this code is full of
shortcomings and bugs would be an understatement. What is worse is that this
code has been written by people with no knowledge (or even insight) of how
error conditions ought to be handled, and their ext2fs code will happily
abort a read upon error with no error; if one does not compare the final
read size to the file size obtained by stat(), there is no way to figure out
that the read has been aborted. Of course since regular (upstream) PMON code
is written correctly, it does not expect this, so it is easy to end up with
PMON not loading a kernel image completely, yet proceeding happily to transfer
control to this broken image.

I guess the morale behind this is that system software is too difficult to get
done correctly, to be done by hardware people.

Reply via email to