wheezy/fai 4.0.3: kbd + console-tools = no go [with fix]

Thomas Neumann blacky+fai at fluffbunny.de
Tue Sep 18 16:04:17 CEST 2012


Hello

I've recently run into trouble building a new fai nfsroot.
- install Debian Squeeze
- upgrade to weezy
- install fai-server

fai-make-nfsroot fails with some error. Running in verbose mode hints at a
conflict between 'kbd' and 'console-tools'. Is this a known problem? I
haven't found a bug report for this but interestingly one for a problem
that occurs later on.



I'm adding a description of what I've done/found in hope other FAI users
may find it helpful.


It seems the kbd issue can be fixed by adding 'kbd-compat' to
/etc/fai/NFSROOT. (Which overrides the default to prefer the package 'kbd'
instead of 'kbd-compat'.)

----------------------------------------------------------------------------
kbd-compat

Wrappers around console-tools for backward compatibility with `kbd'

 This package provides the following wrapper scripts, for compatibility
 with old `kbd' package, for programs which depends on the former's
 command-line interfaces:

 setfont, loadunimap, saveunimap, mapscrn, setlogcons.
----------------------------------------------------------------------------
-- http://packages.debian.org/wheezy/kbd-compat

I haven't look into whether 'dracut' must depend on 'kbd' at all. On the
one hand it's listed in 'depends' on the other hand 'console-tools' is
required in /etc/fai/NFSROOT . It seems a bit strange to me to rely on an
'old' package if one also requires the modern replacement to be present.
Maybe it's just a packaging bug?


And I'm quite sure the order in /etc/fai/NFSROOT is mixed up a bit. Let's
fix it while we're at it:

----------------------------------------------------------------------------
--- vanilla/etc/fai/NFSROOT	2012-09-18 14:41:47.366772967 +0200
+++ reorder/etc/fai/NFSROOT	2012-09-18 14:42:01.526773124 +0200
@@ -23,11 +23,11 @@
 # choose if you like live-boot or dracut inside the nfsroot
 #live-boot

+#git # git consumes a lot of disk space on the FAI CD (ISO 9660)
+
 # you should not edit the lines below
 # architecture dependend list of packages that are installed

-#git # git consumes a lot of disk space on the FAI CD (ISO 9660)
-
 PACKAGES aptitude I386
 grub read-edid
 linux-image-686
----------------------------------------------------------------------------

Now that this file is configured properly I'm running into a different
problem executing fai-make-nfsroot:

----------------------------------------------------------------------------
Setting up dracut (020-1) ...
dracut: Generating /boot/initrd.img-3.2.0-3-amd64
E: No '/dev/log' or 'logger' included for syslog logging
F: Failed to install /etc/idmapd.conf
dpkg: error processing dracut (--configure):
----------------------------------------------------------------------------

Seems to be a known problem:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682013

Applying Thomas' second patch
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682013#20> circumvents
this problem:

----------------------------------------------------------------------------
Setting up dracut (020-1) ...
dracut: Generating /boot/initrd.img-3.2.0-3-amd64
E: No '/dev/log' or 'logger' included for syslog logging
Setting up linux-image-3.2.0-3-amd64 (3.2.23-1) ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dracut 3.2.0-3-amd64
/boot/vmlinuz-3.2.0-3-amd64
[...]
fai-make-nfsroot finished properly.
Log file written to /var/log/fai/fai-make-nfsroot.log
----------------------------------------------------------------------------

Let's see if it actually works. ;)

Yes it does! I finally see a fai installation prompt again!
(I had to disable NFSv4 on the server side or else the kernel would bug
out with a kernel-panic.)

This is the (abbreviated) tftp fai client config I used:

[...]
label fai-4.0
  kernel kernels/vmlinuz-3.2.0-3-amd64
  append initrd=kernels/initrd.img-3.2.0-3-amd64
root=nfs:a.b.c.d:/srv/fai/nfsroot_4.0.3 aufs rd_NO_LVM
FAI_FLAGS=verbose,sshd,createvt FAI_ACTION=install PUPPET_SERVER=g.h.i.j

Important #1: Prohibit use of NFSv4. It doesn't work for me. Maybe it
works for you.
Important #1: Use 'rd_NO_LVM'. If I don't specify this flag, then dracut
will try to enable and start previously existing volume groups. This also
means dracut stops proceeding to pxeboot/netboot for some reason. (Tested
with Debian Wheezy / FAI 4.0.3 on VMware.)


Booting with multiple network card works to. (It could be a bit faster -
waiting 60 seconds for each network interface is a bit long, but at least
it WORKS!)

tschüß
thomas



More information about the linux-fai mailing list