[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [OSSTEST PATCH 26/36] ts-debian-hvm-install: Allow udev failure in install media
Kernel in "debian-12.1.0-amd64-netinst.iso" prevent debian installer from booting. Early on, it does `udevadm trigger --action=add`, which fails, the same way as the following runes fails: $ cat /sys/devices/virtual/input/input2/name Xen Virtual Keyboard $ echo add > /sys/devices/virtual/input/input2/uevent [ 25.884403] synth uevent: /devices/virtual/input/input2: failed to send uevent [ 25.916498] input input2: uevent: failed to send synthetic uevent: -12 sh: write error: Cannot allocate memory $ uname -a Linux (none) 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-1 (2023-07-14) x86_64 GNU/Linux This doesn't looks like a new issue, Debian Buster ISO seems to do the same thing (early boot command, and error in Linux logs), so it's probable that now `udevadm trigger --action=add` return an error when there's a failure. Bug report in the kernel and in Debian: https://bugzilla.kernel.org/show_bug.cgi?id=207695 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983357 One way to workaround the issue is to remove the vkb device, with xl's "vkb_device=0", but libvirt doesn't have support for this config option. The second option is to edit the installation media, and allow the failure. Once installed, the guest boot fine. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- Notes: There's a potential fix for the kernel: https://lore.kernel.org/xen-devel/20221209142615.33574-1-jandryuk@xxxxxxxxx/ ts-debian-hvm-install | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ts-debian-hvm-install b/ts-debian-hvm-install index 4deb443e..44eb3ab1 100755 --- a/ts-debian-hvm-install +++ b/ts-debian-hvm-install @@ -174,13 +174,14 @@ sub isolinux_cfg () { END } -sub prepare_initrd ($$$) { - my ($initrddir,$newiso,$preseed_file_path) = @_; +sub prepare_initrd ($$$$) { + my ($initrddir,$newiso,$preseed_file_path,$extra_rune) = @_; return <<"END"; rm -rf $initrddir mkdir $initrddir cd $initrddir gzip -d < $newiso$ramdisk | cpio --extract --make-directories --no-absolute-filename + $extra_rune cp $preseed_file_path preseed.cfg find . | cpio -H newc --create | gzip -9 > $newiso$ramdisk cd - @@ -268,7 +269,17 @@ sub prep () { target_putfilecontents_root_stash($ho, 10, preseed(), $preseed_file_path); - $cmds = prepare_initrd($initrddir,$newiso,$preseed_file_path); + my $extra_preseed_rune = ''; + if ($gsuite =~ m/bookworm/) { + # Xen Virtual Keyboard initialisation fails and return ENOMEM + # https://bugzilla.kernel.org/show_bug.cgi?id=207695 + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983357 + $extra_preseed_rune .= <<END; +sed -i '/udevadm trigger --action=add/s/\$/ ||:/' lib/debian-installer/start-udev +END + } + $cmds = prepare_initrd($initrddir,$newiso,$preseed_file_path, + $extra_preseed_rune); target_cmd_root($ho, $cmds, $isotimeout); target_putfilecontents_root_stash($ho, 10, grub_cfg(), -- Anthony PERARD
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |