Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Nov 2000 17:39:40 -0800 (PST)
From:      Matthew Jacob <mjacob@feral.com>
To:        John Polstra <jdp@polstra.com>
Cc:        current@FreeBSD.ORG
Subject:   Re: savecore broken because kern.bootfile is set wrong
Message-ID:  <Pine.LNX.4.21.0011101734230.31159-100000@zeppo.feral.com>
In-Reply-To: <XFMail.001110172908.jdp@polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help


> 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 majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.21.0011101734230.31159-100000>