On Thu, 27 Nov 2008, Christoph Egger wrote:
Paul Goyette wrote:On Thu, 27 Nov 2008, Christoph Egger wrote:This problem is known. See PR 32816. Workaround: move or rename /stand/amd64/5.99.03 to something else, so that no modules can be found.In this case, making the modules "not found" wouldn't work, since there are no filesystems or anything else in the kernel itself; everything _is_ a module. Without the ffs module I wouldn't even get my root partition mounted. :)The amd64 kernel configs in the repository haven't been stripped down yet likewise to the i386 ones for exactly this reason. If you compile an amd64 GENERIC kernel, you still have everything builtin.
Yup - I was just experimenting to see if it would work. When it failed, I just wanted to make sure someone knew about it!
Related question: Is it "correct" that, if you have config netbsd root on wd0a type ffs that you need to include file-system FFSas well? It seems that the swapnetbsd.c built by config(1) includes a strong reference to
int ffs_mountroot(void); int (*mountroot)(void) = ffs_mountroot;which fails to link if you haven't included the filesystem in the kernel. It seems to me that this could be made into a WEAK reference, and then the kernel could load the appropriate module at boot time. This would allow you to replace only the file-system module, rather than the entire kernel, if you were debugging.