> Savecore isn't working in -current, dying in my case with "read:
> invalid argument". (This is on an Alpha -- I don't have an i386
> -current machine to test it on at the moment.) I traced it down to
> the fact that getbootfile() is returning "kernel" -- not the full
> pathname as the man page promises. This seems to be because the
> "kern.bootfile" sysctl variable isn't getting set correctly:
>
> alpha# sysctl kern.bootfile
> kern.bootfile: kernel
>
> Because I had an old "/kernel" file and savecore runs in "/", it was
> finding the wrong kernel.
>
> This seems to be some sort of coordination problem between the loader
> and the kernel and, maybe, the Alpha SRM. Can anybody shed some light
Not SRM. SRM cares not.
> on it?
>
> Also, in "src/sys/boot/common/boot.c" we still have this:
>
> static const char *default_bootfiles = "kernel.ko";
>
> which isn't right any more.
Absolutely wrong, yes.
Look at kern_mib.c:
char kernelname[MAXPATHLEN] = "/kernel"; /* XXX bloat */
SYSCTL_STRING(_kern, KERN_BOOTFILE, bootfile, CTLFLAG_RW,
kernelname, sizeof kernelname, "Name of kernel file booted");
This is also wrong now.
It's somewhat problematic in that the actual kernel name is kernel, still, but
the path that it is found in depends on where the loader actually found it-
that's contingent on module_path.
I don't know whether the loader is supposed to modify kernelname in the loaded
kernel to have the actual path or not.
-matt
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message