[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#490542: marked as done (base-installer: improve kernel selection for AMD64)



Your message dated Tue, 29 Jul 2008 15:17:02 +0000
with message-id <E1KNqwg-0005iu-HK@ries.debian.org>
and subject line Bug#490542: fixed in base-installer 1.93
has caused the Debian Bug report #490542,
regarding base-installer: improve kernel selection for AMD64
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
490542: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490542
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: base-installer
Version: 1.91
Severity: important
Tags: patch

Dann complained about D-I selecting 486 by default for modern AMD64 
processors and suggested to just select 686 in all cases. This resulted 
in a discussion on IRC with some people saying "686 should be fine for 
k7" while earlier discussions had suggested that some older k7 systems 
might not work with 686.

With the k7 flavor having been dropped by the kernel team, this has become 
more urgent though.

The actual problem is that the selection code is rather coarse for AMD, 
and basically always has been if you also consider that we often used the 
fall-back kernel even when there still was a k7 flavor (most CD-based 
installs). It currently does not even distinguish between k7 and k8 
systems.

From a later discussion with some other people on IRC, it looks like SSE 
support is probably the deciding factor. According to section 2.2 in [1] 
and especially the note "Enabling SSE support" just above section 2.3, 
models 0-5 for family 6 AMD processors may not have SSE support and thus 
should continue to default to the 486 flavor.

As I have no idea if the above is correct or complete, some confirmation 
would be most welcome. If it is correct, the attached patch should 
improve kernel selection for AMD-based systems. If it is not correct, 
additional info and references would be most welcome.

[1]http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/20734.pdf
commit a581b82b1938029c0f79055658a6e4e852e377ee
Author: Frans Pop <fjp@debian.org>
Date:   Sat Jul 12 14:59:06 2008 +0200

    Improve kernel selection for AMD processors
    
    Most k7 processors should support 686 kernels and having 486 as default
    for k8 processors is really not acceptable, especially now the k7 flavor
    has been dropped by the kernel team.
    
    Select 686 for "family 15" processors (k8) and "family 6" processors (k7)
    model 6 or higher. Models 0-5 for k7 may not have SSE support and
    therefore default to 486.
    
    As k7 flavor linux-image packages no longer exist, drop support for them.

diff --git a/packages/base-installer/kernel/i386.sh b/packages/base-installer/kernel/i386.sh
index f7387d0..341bd0f 100644
--- a/packages/base-installer/kernel/i386.sh
+++ b/packages/base-installer/kernel/i386.sh
@@ -5,7 +5,15 @@ arch_get_kernel_flavour () {
 	case "$VENDOR" in
 	    " AuthenticAMD"*)
 		case "$FAMILY" in
-		    " 6"|" 15")	echo k7 ;;
+		    " 15")	echo 686 ;;	# k8
+		    " 6")			# k7
+			case "$MODEL" in
+			    " 0"|" 1"|" 2"|" 3"|" 4"|" 5")
+				# May not have SSE support
+				echo 486 ;;
+			    *)	echo 686 ;;
+			esac
+			;;
 		    *)		echo 486 ;;
 		esac
 		;;
@@ -40,10 +48,6 @@ arch_check_usable_kernel () {
 	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 echo "$1" | grep -Eq -- "-k7(-.*)?$"; then return 0; fi
-		return 1
-	fi
 
 	# default to usable in case of strangeness
 	warning "Unknown kernel usability: $1 / $2"
@@ -55,9 +59,7 @@ arch_get_kernel () {
 
 	# See older versions of script for more flexible code structure
 	# that allows multiple levels of fallbacks
-	if [ "$1" = k7 ]; then
-		echo "$imgbase-$KERNEL_MAJOR-k7"
-	elif [ "$1" = 686 ]; then
+	if [ "$1" = 686 ]; then
 		echo "$imgbase-$KERNEL_MAJOR-686"
 	fi
 	echo "$imgbase-$KERNEL_MAJOR-486"
diff --git a/packages/base-installer/kernel/tests/i386/amd-k7-old.cpuinfo b/packages/base-installer/kernel/tests/i386/amd-k7-old.cpuinfo
new file mode 100644
index 0000000..49126d9
--- /dev/null
+++ b/packages/base-installer/kernel/tests/i386/amd-k7-old.cpuinfo
@@ -0,0 +1,19 @@
+processor	: 0
+vendor_id	: AuthenticAMD
+cpu family	: 6
+model		: 2
+model name	: Fictual AMD Athlon system (mostly copied from cittagazze)
+stepping	: 0
+cpu MHz		: 2246.427
+cache size	: 512 KB
+fdiv_bug	: no
+hlt_bug		: no
+f00f_bug	: no
+coma_bug	: no
+fpu		: yes
+fpu_exception	: yes
+cpuid level	: 1
+wp		: yes
+flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr syscall nx mmxext 3dnowext 3dnow up ts fid vid ttp
+bogomips	: 4506.97
+
diff --git a/packages/base-installer/kernel/tests/i386/amd-k7-old.test b/packages/base-installer/kernel/tests/i386/amd-k7-old.test
new file mode 100644
index 0000000..3d20889
--- /dev/null
+++ b/packages/base-installer/kernel/tests/i386/amd-k7-old.test
@@ -0,0 +1,13 @@
+cpuinfo amd-k7-old.cpuinfo
+majors 2.6
+flavour 486
+kernel-2.6 \
+  linux-image-2.6-486
+usable \
+  linux-image-2.6-486 \
+  linux-image-2.6.25-1-486
+unusable \
+  linux-image-2.6-686 \
+  linux-image-2.6-686-bigmem \
+  linux-image-2.6.25-1-686 \
+  linux-image-2.6.25-1-686-bigmem
diff --git a/packages/base-installer/kernel/tests/i386/cittagazze.test b/packages/base-installer/kernel/tests/i386/cittagazze.test
index 15522eb..63d71ec 100644
--- a/packages/base-installer/kernel/tests/i386/cittagazze.test
+++ b/packages/base-installer/kernel/tests/i386/cittagazze.test
@@ -1,15 +1,13 @@
 cpuinfo cittagazze.cpuinfo
 majors 2.6
-flavour k7
+flavour 686
 kernel-2.6 \
-  linux-image-2.6-k7 \
+  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-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
+  linux-image-2.6.25-1-486 \
+  linux-image-2.6.25-1-686 \
+  linux-image-2.6.25-1-686-bigmem

Attachment: signature.asc
Description: This is a digitally signed message part.


--- End Message ---
--- Begin Message ---
Source: base-installer
Source-Version: 1.93

We believe that the bug you reported is fixed in the latest version of
base-installer, which is due to be installed in the Debian FTP archive:

base-installer_1.93.dsc
  to pool/main/b/base-installer/base-installer_1.93.dsc
base-installer_1.93.tar.gz
  to pool/main/b/base-installer/base-installer_1.93.tar.gz
base-installer_1.93_all.udeb
  to pool/main/b/base-installer/base-installer_1.93_all.udeb
bootstrap-base_1.93_amd64.udeb
  to pool/main/b/base-installer/bootstrap-base_1.93_amd64.udeb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 490542@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Otavio Salvador <otavio@debian.org> (supplier of updated base-installer package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 29 Jul 2008 12:08:43 -0300
Source: base-installer
Binary: base-installer bootstrap-base
Architecture: source all amd64
Version: 1.93
Distribution: unstable
Urgency: low
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Otavio Salvador <otavio@debian.org>
Description: 
 base-installer - base system installation framework (udeb)
 bootstrap-base - Install the base system (udeb)
Closes: 480054 490542
Changes: 
 base-installer (1.93) unstable; urgency=low
 .
   [ Frans Pop ]
   * Improve kernel selection for AMD64. All k8 and most k7 systems support the
     686 kernel flavor. Only older k7 systems without SSE support need 486.
     Based on documentation the divider seems to be at family 6, model 6.
     Closes: #490542.
   * Avoid locale related errors up to the point where locales gets installed
     by setting IT_LANG_OVERRIDE=C for apt-install.
 .
   [ 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. Closes: #480054.
 .
   [ Updated translations ]
   * Finnish (fi.po) by Esko Arajärvi
   * Croatian (hr.po) by Josip Rodin
   * Italian (it.po) by Milo Casagrande
   * Portuguese (Brazil) (pt_BR.po) by Felipe Augusto van de Wiel (faw)
   * Slovak (sk.po) by Ivan Masár
   * Turkish (tr.po) by Mert Dirik
Checksums-Sha1: 
 eadeb860f20384cdbf9fd46c4984454a0e4b850d 1091 base-installer_1.93.dsc
 6ed4c00c921d5928ac593687f03e97ac5ce25229 216565 base-installer_1.93.tar.gz
 53f089a21a4dc65fb7eefb7d41239d34cfa99b43 39046 base-installer_1.93_all.udeb
 bc6af58aeb512c1f3aed79f52c094d4359e6b3cb 131780 bootstrap-base_1.93_amd64.udeb
Checksums-Sha256: 
 edbda58fa2a3799007102ebf8d4708ce0c544ceb418f6f46be550dc5a6c024f3 1091 base-installer_1.93.dsc
 e87d55312570c778b28a2bb42bf4b6a177646bd545d423c3c8c65befc1d877b5 216565 base-installer_1.93.tar.gz
 c358602676594dcb9ef16218868a266b51360a36040c1bbff9c9133a4319dec3 39046 base-installer_1.93_all.udeb
 d5b785357711fa5b9f1690113e8ef09e0a92b7e51ef882bb08500a669d65b7b1 131780 bootstrap-base_1.93_amd64.udeb
Files: 
 78f945080506b4bc3f02b393e6b994b9 1091 debian-installer required base-installer_1.93.dsc
 5edfa03663db7b479c4c167a06f514ba 216565 debian-installer required base-installer_1.93.tar.gz
 c630979b2ad9b99bb446773eb4bb2d9d 39046 debian-installer required base-installer_1.93_all.udeb
 0c5903c7aa43bda6621122e2a8beede2 131780 debian-installer required bootstrap-base_1.93_amd64.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkiPMy0ACgkQLqiZQEml+FUn3gCguHbdAPwiBEvIefL9Jo3F/T37
pWcAn3GXdyQE0GPKa+2eN6veQNNO6k1q
=N8rO
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: