At 14:51 Uhr +0200 4.6.2009, Peter Bex wrote: >Since nobody is responding, one thing I would like to be able is to boot >the kernel from a FFSv2 partition. That would allow people to use the >new WAPBL logging for FFS on their root partition. This would require >some heavy ofwboot.xcf hacking, I suppose. Not really. Attached is a patch that adds lfs support, and ffsv2 would be similar. hauke
Attachment:
%ofdev.c.patch
Description: application/applefile
--- ofdev.c 2006-05-24 23:24:25.000000000 +0200 +++ /var/tmp/ofwboot.patched/ofdev.c 2008-02-26 00:04:12.000000000 +0100 @@ -45,9 +45,12 @@ #include <lib/libkern/libkern.h> +#define LIBSA_LFS 1 + #include <lib/libsa/stand.h> #include <lib/libsa/byteorder.h> #include <lib/libsa/cd9660.h> +#include <lib/libsa/lfs.h> #include <lib/libsa/nfs.h> #include <lib/libsa/ufs.h> #include <lib/libsa/ustarfs.h> @@ -67,8 +70,8 @@ lp = str; devtype[0] = 0; - *ppart = 0; - for (cp = str; *cp; lp = cp) { + *ppart = 0; +for (cp = str; *cp; lp = cp) { /* For each component of the path name... */ while (*++cp && *cp != '/') continue; @@ -161,9 +164,11 @@ static struct fs_ops file_system_hfs = FS_OPS(hfs); static struct fs_ops file_system_ustarfs = FS_OPS(ustarfs); static struct fs_ops file_system_cd9660 = FS_OPS(cd9660); +static struct fs_ops file_system_lfsv1 = FS_OPS(lfsv1); +static struct fs_ops file_system_lfsv2 = FS_OPS(lfsv2); static struct fs_ops file_system_nfs = FS_OPS(nfs); -struct fs_ops file_system[4]; +struct fs_ops file_system[6]; int nfsys; static struct of_dev ofdev = { @@ -335,7 +340,9 @@ file_system[1] = file_system_ustarfs; file_system[2] = file_system_cd9660; file_system[3] = file_system_hfs; - nfsys = 4; + file_system[4] = file_system_lfsv1; + file_system[5] = file_system_lfsv2; + nfsys = 5; return 0; } if (!strcmp(buf, "network")) {
-- "It's never straight up and down" (DEVO)