Cromwell patches for UFS[12]
Rink Springer <[email protected]> Thu, 4 Aug 2005 15:10:23 +0200
| Newsgroups | gmane.linux.ports.xbox.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone,
Over the last few days, I've looked at Ed's UFS2 patch, which is GRUB's
UFS2 support ported to Cromwell.
However, this implementation is horribly buggy and incomplete. After 2
days of bug-hunting, I decided to ditch it altogether and use FreeBSD's
bootloader as a starting point. [1]
The code works like a charm now, I've used it succesfully to boot
FreeBSD of an 4GB disk and this works well. I've completely ditched the
UFS2 support imported by Ed (sorry). Note that this code is capable of
accessing both UFS1 and UFS2, so it should be usuable to boot
NetBSD/OpenBSD as well once ports are completed.
As a sidenote: The code will _first_ attempt to load /boot/xboxboot.cfg,
as linuxboot.cfg sounds a bit off when loading FreeBSD :-)
The patch can be found at
http://rink.nu/downloads/xbox-patches/cromwell-ufs.diff. I hope it will
be merged to CVS soon, as well as [CX]romwell 2.41 once it is released.
Maybe a [CX]romwell 2.40.1 with all the BSD fixes is feasable? Before
this is released, though, I'd like to do one more patch (passing of
parameters, so FreeBSD will know how big its kernel is instead of a
rough guess). What do people think of this?
[1] The GRUB/UFS2 problem is that it miscalculates destination blocks.
On my particular disk, it uses the block number of /boot/defaults/
when it thinks it has got the block of /boot/. I had a very hard time
figuring out why this is, and by the end, it was easier to use a
new implementation than attempt to fix this one.
--
Rink P.W. Springer - http://rink.nu
"God, root, what is difference?" - Pitr, Userfriendly
signature.asc
(application/pgp-signature, 187 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFC8hO/b3O60uztv/8RAse0AJ48ZpJm1pLjsrnqYMDAK742mgaTKQCdFxfZ uLKndqAeR2zJ70xTmgeImEI= =paC7 -----END PGP SIGNATURE-----