[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 4/6] Debian: preferred arch: Honour LinuxKernPreferredArchInfo
Nothing sets this yet. Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- Osstest/Debian.pm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm index 600f18b1..addaaad2 100644 --- a/Osstest/Debian.pm +++ b/Osstest/Debian.pm @@ -1334,6 +1334,44 @@ END preseed_hook_command($ho, 'late_command', $sfx, $cmds); }); + my $kern_arch_info = $xopts{LinuxKernPreferredArchInfo}; + # LinuxKernPreferredArchInfo contains + # Kernel_Debian the Debian arch for the kernel we would prefer + my $kern_arch = $kern_arch_info->{Kernel_Debian}; + if ($kern_arch && + $ho->{Flags}{"arch-$r{arch}"} && !$ho->{Flags}{"arch-$kern_arch"}) { + # We check the flag for $r{arch} because for various reasons + # it may not be set. For example, in standalone mode it is + # currently not normally necessary to set any arch hostflags. + # In that situation we bet that the kern arch can be used; + # this is a good bet because currently this is used for + # running amd64 kernels with i386 userland and hosts that can + # do only i386 are fairly rare, especially server hosts. + # If this causes a problem, setting the i386 host flag will + # (somewhat counterintuitively) cause this check to miss + # the amd64 host flag + logm("NOT using $kern_arch kernel (flags say not supported by host)"); + $kern_arch = undef; + } + if ($kern_arch) { + logm("Using $kern_arch kernel for $r{arch} userland"); + preseed_hook_command($ho, 'late_command', $sfx, <<END); +#!/bin/sh +set -ex +in-target sh -xec ' + # the $r{arch} kernels end up being the default so shuffle them + # where update-grub will not find them + for f in /boot/vmlinu*; do + dpkg-divert --rename --divert "/boot/~disable~\${f##*/}" "\$f" + done + dpkg --add-architecture $kern_arch + apt-get update + apt-get install -f -y linux-image-$kern_arch + update-grub +' +END + } + if ( $ho->{Flags}{'need-uboot-bootscr'} ) { my @bootargs = uboot_common_kernel_bootargs($ho); -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |