Re: [PATCHES] 686-bigmem/Xen enabled netboot images
On Fri, 2008-07-11 at 08:15 +0100, Ian Campbell wrote:
>
> r54206 conflicted with base-installer.patch. Updated version attached
-ENOPATCH.
I even managed to dismiss Evolutions "you've used the word attached but
there are no attachments dialog" without thinking about it..
--
Ian Campbell
"You know, of course, that the Tasmanians, who never committed adultery, are
now extinct."
-- M. Somerset Maugham
Index: packages/base-installer/kernel/README
===================================================================
--- packages/base-installer/kernel/README (revision 54213)
+++ packages/base-installer/kernel/README (working copy)
@@ -61,6 +61,8 @@
The major version of the running kernel, e.g. 2.6.
KERNEL_VERSION
The full version of the running kernel, e.g. 2.6.8.
+ KERNEL_FLAVOUR
+ The flavour of the running kernel, e.g. 486, 686-bigmem or ixp4xx.
MACHINE
The machine hardware name (as returned by uname -m).
NUMCPUS
Index: packages/base-installer/kernel/tests/i386/cittagazze-bigmem.test
===================================================================
--- packages/base-installer/kernel/tests/i386/cittagazze-bigmem.test (revision 0)
+++ packages/base-installer/kernel/tests/i386/cittagazze-bigmem.test (revision 0)
@@ -0,0 +1,17 @@
+cpuinfo cittagazze.cpuinfo
+majors 2.6
+flavour k7-bigmem
+kernel-2.6 \
+ linux-image-2.6-686-bigmem \
+ linux-image-2.6-k7 \
+ linux-image-2.6-486
+usable \
+ linux-image-2.6-486 \
+ linux-image-2.6-686 \
+ linux-image-2.6-686-bigmem \
+ linux-image-2.6-k7 \
+ linux-image-2.6.18-1-486 \
+ linux-image-2.6.18-1-686 \
+ linux-image-2.6.18-1-686-bigmem \
+ linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 686-bigmem
Index: packages/base-installer/kernel/tests/i386/cittagazze.test
===================================================================
--- packages/base-installer/kernel/tests/i386/cittagazze.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/cittagazze.test (working copy)
@@ -13,3 +13,4 @@
linux-image-2.6.18-1-686 \
linux-image-2.6.18-1-686-bigmem \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/via-c7-Samuel.test
===================================================================
--- packages/base-installer/kernel/tests/i386/via-c7-Samuel.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/via-c7-Samuel.test (working copy)
@@ -15,3 +15,4 @@
linux-image-2.6.18-1-686-bigmem \
linux-image-2.6.18-1-686 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/via-c7-Esther.test
===================================================================
--- packages/base-installer/kernel/tests/i386/via-c7-Esther.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/via-c7-Esther.test (working copy)
@@ -16,3 +16,4 @@
unusable \
linux-image-2.6-k7 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/oqo1.test
===================================================================
--- packages/base-installer/kernel/tests/i386/oqo1.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/oqo1.test (working copy)
@@ -14,3 +14,4 @@
linux-image-2.6.18-1-686-bigmem \
linux-image-2.6.18-1-686 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/pentium-3.test
===================================================================
--- packages/base-installer/kernel/tests/i386/pentium-3.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/pentium-3.test (working copy)
@@ -15,3 +15,4 @@
unusable \
linux-image-2.6-k7 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/pentium-d-2p.test
===================================================================
--- packages/base-installer/kernel/tests/i386/pentium-d-2p.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/pentium-d-2p.test (working copy)
@@ -15,3 +15,4 @@
unusable \
linux-image-2.6-k7 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/pentium.test
===================================================================
--- packages/base-installer/kernel/tests/i386/pentium.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/pentium.test (working copy)
@@ -15,3 +15,4 @@
linux-image-2.6.18-1-686-bigmem \
linux-image-2.6.18-1-686 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/tests/i386/pentium-4M-bigmem.test
===================================================================
--- packages/base-installer/kernel/tests/i386/pentium-4M-bigmem.test (revision 0)
+++ packages/base-installer/kernel/tests/i386/pentium-4M-bigmem.test (revision 0)
@@ -0,0 +1,20 @@
+cpuinfo pentium-4M.cpuinfo
+machine i686
+majors 2.6
+flavour 686-bigmem
+env SPEAKUP /nonexistent
+kernel-2.6 \
+ linux-image-2.6-686-bigmem \
+ linux-image-2.6-686 \
+ linux-image-2.6-486
+usable \
+ linux-image-2.6-486 \
+ linux-image-2.6-686 \
+ linux-image-2.6-686-bigmem \
+ linux-image-2.6.18-1-486 \
+ linux-image-2.6.18-1-686 \
+ linux-image-2.6.18-1-686-bigmem
+unusable \
+ linux-image-2.6-k7 \
+ linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 686-bigmem
Index: packages/base-installer/kernel/tests/i386/pentium-4M.test
===================================================================
--- packages/base-installer/kernel/tests/i386/pentium-4M.test (revision 54213)
+++ packages/base-installer/kernel/tests/i386/pentium-4M.test (working copy)
@@ -16,3 +16,4 @@
unusable \
linux-image-2.6-k7 \
linux-image-2.6.18-1-k7
+env KERNEL_FLAVOUR 486
Index: packages/base-installer/kernel/i386.sh
===================================================================
--- packages/base-installer/kernel/i386.sh (revision 54213)
+++ packages/base-installer/kernel/i386.sh (working copy)
@@ -2,16 +2,26 @@
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`
+
+ # Only offer bigmem is the system supports pae and the
+ # installer itself is already using a bigmem kernel.
+ if grep '^flags' "$CPUINFO" | grep -q pae ; then
+ case "$KERNEL_FLAVOUR" in
+ 686-bigmem*) BIGMEM="-bigmem" ;;
+ *) ;;
+ esac
+ fi
+
case "$VENDOR" in
" AuthenticAMD"*)
case "$FAMILY" in
- " 6"|" 15") echo k7 ;;
+ " 6"|" 15") echo k7$BIGMEM ;;
*) echo 486 ;;
esac
;;
" GenuineIntel")
case "$FAMILY" in
- " 6"|" 15") echo 686 ;;
+ " 6"|" 15") echo 686$BIGMEM ;;
*) echo 486 ;;
esac
;;
@@ -19,7 +29,7 @@
case "$FAMILY" in
" 6")
case "$MODEL" in
- " 9"|" 10") echo 686 ;;
+ " 9"|" 10") echo 686$BIGMEM ;;
*) echo 486 ;;
esac
;;
@@ -39,8 +49,8 @@
if echo "$1" | grep -Eq -- "-486(-.*)?$"; then return 0; fi
if [ "$2" = 486 ]; then return 1; fi
if echo "$1" | grep -Eq -- "-686(-.*)?$"; then return 0; fi
- if [ "$2" = 686 ]; then return 1; fi
- if [ "$2" = k7 ]; then
+ if [ "$2" = 686 ] || [ "$2" = 686-bigmem ]; then return 1; fi
+ if [ "$2" = k7 ] || [ "$2" = k7-bigmem ] ; then
if echo "$1" | grep -Eq -- "-k7(-.*)?$"; then return 0; fi
return 1
fi
@@ -55,7 +65,9 @@
# See older versions of script for more flexible code structure
# that allows multiple levels of fallbacks
- if [ "$1" = k7 ]; then
+ if [ "$1" = k7-bigmem ] || [ "$1" = 686-bigmem ]; then
+ echo "$imgbase-$KERNEL_MAJOR-686-bigmem"
+ elif [ "$1" = k7 ]; then
echo "$imgbase-$KERNEL_MAJOR-k7"
elif [ "$1" = 686 ]; then
echo "$imgbase-$KERNEL_MAJOR-686"
Index: packages/base-installer/debian/changelog
===================================================================
--- packages/base-installer/debian/changelog (revision 54213)
+++ packages/base-installer/debian/changelog (working copy)
@@ -1,3 +1,12 @@
+base-installer (1.93) UNRELEASED; urgency=low
+
+ [ Ian Campbell ]
+ * i386: If the installer is running a -bigmem kernel and the processors
+ support PAE then select a -bigmem kernel for installation. For
+ compatibility with running under Xen.
+
+ -- Ian Campbell <ijc@hellion.org.uk> Thu, 10 Jul 2008 18:34:25 +0100
+
base-installer (1.92) unstable; urgency=low
* Call base-installer.d hooks after running debootstrap, for consistency
Index: packages/base-installer/library.sh
===================================================================
--- packages/base-installer/library.sh (revision 54213)
+++ packages/base-installer/library.sh (working copy)
@@ -17,6 +17,7 @@
KERNEL_MAJOR="$(uname -r | cut -d . -f 1,2)"
KERNEL_VERSION="$(uname -r | cut -d - -f 1)"
KERNEL_ABI="$(uname -r | cut -d - -f 1,2)"
+KERNEL_FLAVOUR=$(uname -r | cut -d - -f 3-)
MACHINE="$(uname -m)"
NUMCPUS=$(cat /var/numcpus 2>/dev/null) || true
CPUINFO=/proc/cpuinfo
Reply to: