1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
arch_get_kernel_flavour () {
VENDOR=`grep '^vendor_id' "$CPUINFO" | head -n1 | cut -d: -f2`
FAMILY=`grep '^cpu family' "$CPUINFO" | head -n1 | cut -d: -f2`
MODEL=`grep '^model[[:space:]]*:' "$CPUINFO" | head -n1 | cut -d: -f2`
case "$VENDOR" in
" AuthenticAMD"*)
case "$FAMILY" in
" 6"|" 15") echo k7 ;;
" 5") echo k6 ;;
*) echo 386 ;;
esac
;;
" GenuineIntel"|" GenuineTMx86"*)
case "$FAMILY" in
" 6"|" 15") echo 686 ;;
" 5") echo 586tsc ;;
*) echo 386 ;;
esac
;;
" CentaurHauls")
case "$FAMILY" in
" 6")
case "$MODEL" in
" 9"|" 10") echo 686 ;;
*) echo 386 ;;
esac
;;
*) echo 386 ;;
esac
;;
*) echo 386 ;;
esac
return 0
}
arch_check_usable_kernel () {
if expr "$1" : '.*-[34]86.*' >/dev/null; then return 0; fi
if [ "$2" = 386 ]; then return 1; fi
if expr "$1" : '.*-586.*' >/dev/null; then return 0; fi
if [ "$2" = 586tsc ]; then return 1; fi
if [ "$2" = 686 ]; then
if expr "$1" : '.*-686.*' >/dev/null; then return 0; fi
return 1
fi
if expr "$1" : '.*-k6.*' >/dev/null; then return 0; fi
if [ "$2" = k6 ]; then return 1; fi
if expr "$1" : '.*-k7.*' >/dev/null; then return 0; fi
# default to usable in case of strangeness
warning "Unknown kernel usability: $1 / $2"
return 0
}
arch_get_kernel_etch () {
if [ "$KERNEL_MAJOR" = 2.4 ]; then
# Kernel images are identical with Sarge
return
else
imgbase=linux-image
fi
if [ "$1" = k7 ]; then
echo "$imgbase-$KERNEL_MAJOR-k7"
set k6
fi
if [ "$1" = k6 ]; then
if [ "$KERNEL_MAJOR" = 2.4 ]; then
echo "$imgbase-$KERNEL_MAJOR-k6"
fi
set 586tsc
fi
if [ "$1" = 686 ]; then
echo "$imgbase-$KERNEL_MAJOR-686"
set 586tsc
fi
if [ "$1" = 586tsc ]; then
if [ "$KERNEL_MAJOR" = 2.4 ]; then
echo "$imgbase-$KERNEL_MAJOR-586tsc"
fi
set 386
fi
echo "$imgbase-$KERNEL_MAJOR-486"
}
arch_get_kernel_sarge () {
imgbase=kernel-image
if [ "$1" = k7 ]; then
echo "$imgbase-$KERNEL_MAJOR-k7"
set k6
fi
if [ "$1" = k6 ]; then
if [ "$KERNEL_MAJOR" = 2.4 ]; then
echo "$imgbase-$KERNEL_MAJOR-k6"
fi
set 586tsc
fi
if [ "$1" = 686 ]; then
echo "$imgbase-$KERNEL_MAJOR-686"
set 586tsc
fi
if [ "$1" = 586tsc ]; then
if [ "$KERNEL_MAJOR" = 2.4 ]; then
echo "$imgbase-$KERNEL_MAJOR-586tsc"
fi
set 386
fi
echo "$imgbase-$KERNEL_MAJOR-386"
}
arch_get_kernel () {
arch_get_kernel_etch "$1"
arch_get_kernel_sarge "$1"
}
|