Re: Installing dracut on the install client

2019-02-04 Diskussionsfäden Robert Markula


Am 29.01.19 um 15:11 schrieb Thomas Lange:
> Solved!
>
> > Btw, the last entry right before the kernel panic is:
> > 
> > /init: error while loading shared libraries
> > 
>
> This line in your disk_config causes the error:
>
> vgmain-vartmp/var/tmp1GiBext4 defaults,noexec,nosuid,nodev
>
>
> dracut is using /var/tmp when creating the initrd. Since you've
> mounted it with noexec, the call of ldd to resolve the dependencies on
> executables will fail, because ldd says this is not a dynamic
> executable and so a lot of shared .so libraries are missing in the
> initrd. If you mount it without noexec it works. Another solution could
> be to change the tmpdir that dracut uses.
>
Confirmed!

Thomas, I can't say how much I appreciate your effort. It's all logical
now, but before it felt like the search for the needle in the haystack.

The solution is a hook in hooks/instsoft.DRACUT:


#!/bin/bash

error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code

mkdir $target/etc/dracut.conf.d

# FIXME: Remove the 'crc32c' kernel module as it is not available
# on Ubuntu 18.04 and leads to an error message preventing
# successful creation of the initramfs.
if ifclass UBUNTU; then
    fcopy -v /etc/dracut.conf.d/10-debian.conf
fi

# Instruct dracut to use a different directory for extracting temporary
# files, if /target/var/tmp is mounted noexec.
echo "tmpdir=/var/cache" > $target/etc/dracut.conf.d/10-tempdir.conf

exit $error


Thank you very much!


Robert


Re: Installing dracut on the install client

2019-01-29 Diskussionsfäden Thomas Lange
> On Mon, 28 Jan 2019 11:27:47 +0100, Robert Markula  
> said:

> 
> /init: error while loading shared libraries
> 

I can now reproduce this on real hardware and in a VM using your
disk_config file. In the VM I see

error while loading shared library: libsystemd-shared-232.so cannot open

I will dig deeper into this now.

-- 
regards Thomas


Re: Installing dracut on the install client

2019-01-28 Diskussionsfäden Thomas Lange
> On Mon, 28 Jan 2019 11:27:47 +0100, Robert Markula  
> said:

> Btw, the last entry right before the kernel panic is:

> 
> /init: error while loading shared libraries
> 

> Do you use something else dracut-related in your config?
No.

You have to debug the boot process. Add rd.debug and you will see
a lot of debug info. Hopefully you will see which libraries cannot be
loaded.

-- 
regards Thomas


Re: Installing dracut on the install client

2019-01-28 Diskussionsfäden Robert Markula
Am 28.01.19 um 09:28 schrieb Thomas Lange:
> > Am 23.01.19 um 08:07 schrieb Thomas Lange:
> >> > anyone succeeded in installing dracut on a Debian stretch client 
> using FAI?
> >> I'm installing all my machines using dracut. I have this line in my
> >> package_config file:
> >> 
> >> dracut initramfs-tools-
>
> > It seems that LVM is the culprit. Using dracut, as soon as the root
> > filesystem resides on LVM, the system panics. However, using the exact
> > same config, but with initramfs-tools instead of dracut, everything
> > works as it should.
> You need rd.auto as additional kernel cmdline parameter if you use LVM
> for the root filesystem. See man dracut.cmdline for more info.
>

Thanks for that one, missed it so far. But even with 'rd.auto' missing
it should just drop to the dracut shell, not induce a kernel panic. And
indeed, adding this to the kernel command line still does not resolve
that error. So there must be missing something else.

Interestingly enough, even adding 'rd.break=cmdline' ends in a kernel
panic before dropping to a shell.

Btw, the last entry right before the kernel panic is:


/init: error while loading shared libraries


Do you use something else dracut-related in your config?


Re: Installing dracut on the install client

2019-01-28 Diskussionsfäden Thomas Lange
> On Sun, 27 Jan 2019 23:34:19 +0100, Robert Markula  
> said:

> Am 23.01.19 um 08:07 schrieb Thomas Lange:
>> > anyone succeeded in installing dracut on a Debian stretch client using 
FAI?
>> I'm installing all my machines using dracut. I have this line in my
>> package_config file:
>> 
>> dracut initramfs-tools-

> It seems that LVM is the culprit. Using dracut, as soon as the root
> filesystem resides on LVM, the system panics. However, using the exact
> same config, but with initramfs-tools instead of dracut, everything
> works as it should.
You need rd.auto as additional kernel cmdline parameter if you use LVM
for the root filesystem. See man dracut.cmdline for more info.

-- 
regards Thomas


Re: Installing dracut on the install client

2019-01-22 Diskussionsfäden Thomas Lange
> On Tue, 22 Jan 2019 23:10:06 +0100, Robert Markula  
> said:

> anyone succeeded in installing dracut on a Debian stretch client using 
FAI?
I'm installing all my machines using dracut. I have this line in my
package_config file:

dracut initramfs-tools-

-- 
regards Thomas