Improved netinstall kernel selection

This commit is contained in:
Ruben Rodriguez 2020-07-10 13:53:20 -04:00
parent 4b860eed32
commit 90edcbba8a
3 changed files with 97 additions and 2 deletions

View file

@ -0,0 +1,31 @@
arch_get_kernel_flavour () {
echo amd64
}
arch_check_usable_kernel () {
if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-16.04"; then return 1; fi
if echo "$1" | grep -Eq -- "-(server|generic|virtual|xen|preempt|rt)(-.*)?$"; then return 0; fi
return 1
}
arch_get_kernel () {
echo "linux-generic"
echo "linux-image-generic"
echo "linux-server"
echo "linux-image-server"
echo "linux-virtual"
echo "linux-image-virtual"
echo "linux-xen"
echo "linux-image-xen"
echo "linux-preempt"
echo "linux-image-preempt"
echo "linux-rt"
echo "linux-image-rt"
}

View file

@ -0,0 +1,62 @@
arch_get_kernel_flavour () {
# Should we offer an amd64 kernel?
if grep -q '^flags.*\blm\b' "$CPUINFO"; then
echo 686-pae amd64 686 586
# Should we offer a PAE kernel?
elif grep -q '^flags.*\bpae\b' "$CPUINFO"; then
echo 686-pae 686 586
# Should we offer a 686 kernel?
elif grep -q '^flags.*\bfpu\b.*\btsc\b.*\bcx8\b.*\bcmov\b' "$CPUINFO"; then
echo 686 586
else
echo 586
fi
}
arch_check_usable_kernel () {
if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-16.04"; then return 1; fi
local NAME="$1"
set -- $2
while [ $# -ge 1 ]; do
case "$1:$NAME" in
*-dbg)
return 1
;;
*-"$1"-pae)
# Don't allow -pae suffix, as this requires an
# extra CPU feature
;;
*:*-"$1" | *:*-"$1"-*)
# Allow any other hyphenated suffix
return 0
;;
686-*:*-generic | 686-*:*-generic-*)
return 0
;;
686-*:*-virtual | 686-*:*-virtual-*)
return 0
;;
esac
shift
done
return 1
}
arch_get_kernel () {
imgbase="linux-image"
set -- $1
while [ $# -ge 1 ]; do
case $1 in
686-*)
echo "linux-generic"
echo "linux-image-generic"
echo "linux-virtual"
echo "linux-image-virtual"
break
;;
esac
shift
done
}

View file

@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2009-2010 Rubén Rodríguez <ruben@gnu.org>
# Copyright (C) 2009-2020 Rubén Rodríguez <ruben@gnu.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -17,11 +17,13 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
VERSION=1
VERSION=2
NETINST=true
. ./config
cp $DATA/* kernel/
sed s/KERNEL_PRIO=medium/KERNEL_PRIO=high/g library.sh -i
sed 's/main,restricted/main/; s/ubuntu/trisquel/' -i library.sh ./debian/bootstrap-base.postinst