On 01/28/15 at 12:49pm, Vivek Goyal wrote:
On Wed, Jan 28, 2015 at 11:31:51PM +0800, Baoquan He wrote:
> On 01/28/15 at 09:40am, Vivek Goyal wrote:
> > On Wed, Jan 28, 2015 at 04:29:52PM +0800, Baoquan He wrote:
> > > Previously /boot is asumed as the default dir where kernel and initrd
> > > is put. However, the directory containing the running kernel image
> > > on Atomic systems differs in each installation. Usually something like:
> > >
> > >
/boot/ostree/rhel-atomic-host-b50a015b637c353dc6554c851f8a1212b60d6121a7316715e4a63e2a4113cd72
> > >
> > > This means that kdump will not find vmlinuz when installed on an
> > > Atomic host, and thus the kdump service will fail to start.
> > >
> > > In this patch, get the sub directory where kernel is put and append
> > > it to /boot.
> > >
> > > Note:
> > > If user change KDUMP_BOOTDIR to other directory, then he need to
> > > take care of all related things himself. Otherswise situation
> > > will become complicated.
> > >
> >
> > Bao,
> >
> > I don't think that we should adjust boot directory unconditionally. What
> > if I put a vmlinuz in /boot dir for testing and I want to test it? kdump
> > will not use that vmlinuz.
>
> It's the same for /boot/vmlinuz. Say now KDUMP_BOOTDIR is /boot, then
> for /boot/vmlinuz-xxx, in /proc/cmdline it should be
> "BOOT_IMAGE=/boot/vmlinuz-xxx". So with this patch it will be
"/" using
> dirname. It's OK to append "/" to /boot.
>
> I am nor sure whether I get your meaning.
Bao, say you are booted into with BOOT_IMAGE=/boot/ostree/<foo1>/<foo2>/
dir. Now for debugging I drop my own vmlinuz in /boot/ directory. In
that case kdump should load /boot/vmlinuz and not
/boot/ostree/<foo1>/<foo2>/vmlinuz.
For the case you mentioned we can fix as below:
Set default value in sysconfig as blank like below:
KDUMP_BOOTDIR=""
In kdumpctl code we can set the default value as /boot, as for atomic case
we can set the default value as /boot/ostree/...
So if user want a debug kernel under /boot they need specify /boot in sysconfig
or we will use our internal default directory name.
Thanks
Dave