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 <[EMAIL PROTECTED]> 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