On Thu, 2008-05-29 at 01:04 +0200, Frans Pop wrote: > On Wednesday 28 May 2008, Ian Campbell wrote: > > On Wed, 2008-05-28 at 02:14 +0200, Frans Pop wrote: > > Now seems like a good time to remind you that I would like to add > > -686-bigmem kernel udebs to the mix to support running D-I under PAE > > Xen. > > I don't see any real objection to adding only a netboot image, except > maybe that it may proof too hard to find for users. So at the very least > a very good wiki page should be written that includes a link. Yes, my plan was to update the wiki page on installing Xen once daily builds started appearing. Perhaps a paragraph in the release notes might be appropriate as well? > If anybody else has fundamental objections, I guess this would be a good > time to voice them! > > > The fairly trivial patch below is required to add 686-bigmem udebs. > Not sure why generic_serial is missing in 686-bigmem. Could be a minor > config "error" in linux-2.6. It's because CONFIG_SX and CONFIG_RIO are not set in the 686-bigmem config to pull it in. I don't know why that is but I'll take a look. I don't think these drivers are particularly critical at install time... > It would be nice if you could build those, dump them in localudebs, and > see if you can figure out what changes are needed in the config dir to > add only netboot images for that kernel (if you've never really looked > at that it can be a nice challenge; AFAICT changes should only be needed > below the installer/build/config dir). > Feel free to ask for help if needed. Thanks, I've actually had the config dir changes ready for a while, was just waiting for the beta before submitting them. I've attached the patches which I've been using, updated and freshly tested this morning (make all_build to check nothing else broke and then booted the bigmem one). kernel-wedge.patch: generic_serial is optional and add Xen block and net devices. The block device isn't strictly a SCSI device but it seemed like the best place for it since it isn't worthy of its own udeb, any of sata, pata, ata, ide would be as good... kernel.patch: the entirely trivial linux-kernel-di-i686 patch you have below. base-installer.patch: the selection of a 686-bigmem kernel for install if the installer itself is running 686-bigmem. Has been discussed on list already. hw-detect.patch: a probably useless patch to hw-detect but seems right for completeness. installer.patch: adds the netboot-bigmem flavour to the build. watch out since this also includes the 2.6.24->2.6.25 jump. I still have one or two outstanding patches relating to Xen specifically (mainly hvc0 handling) which I will post separately when I'm happy with them. Cheers, Ian. > > Cheers, > FJP > > diff --git a/packages/kernel/kernel-wedge/modules/serial-modules b/packages/kernel/kernel-wedge/modules/serial-modules > index 44de44e..5b2036c 100644 > --- a/packages/kernel/kernel-wedge/modules/serial-modules > +++ b/packages/kernel/kernel-wedge/modules/serial-modules > @@ -1,2 +1,2 @@ > -generic_serial > +generic_serial ? > serial_cs ? > diff --git a/packages/kernel/linux-kernel-di-i386-2.6/kernel-versions b/packages/kernel/linux-kernel-di-i386-2.6/kernel-versions > index 808bf40..5b415dd 100644 > --- a/packages/kernel/linux-kernel-di-i386-2.6/kernel-versions > +++ b/packages/kernel/linux-kernel-di-i386-2.6/kernel-versions > @@ -1,2 +1,3 @@ > # arch version flavour installedname suffix build-depends > i386 2.6.25-2 486 2.6.25-2-486 - linux-image-2.6.25-2-486 > +i386 2.6.25-2 686-bigmem 2.6.25-2-686-bigmem - linux-image-2.6.25-2-686-bigmem -- Ian Campbell May not be reproduced, in whole or in part, by any means, mechanical or electronic, except for brief excerpts for the purpose of inclusion in reviews.
Index: kernel/kernel-wedge/debian/changelog
===================================================================
--- kernel/kernel-wedge/debian/changelog (revision 53508)
+++ kernel/kernel-wedge/debian/changelog (working copy)
@@ -1,5 +1,6 @@
kernel-wedge (2.45) UNRELEASED; urgency=low
+ [ Frans Pop ]
* Updates for 2.6.25.
* scsi-modules: atp870u is no longer available.
* crypto-core-modules: blkcipher has been renamed to crypto_blkcipher.
@@ -12,6 +13,10 @@
* Add an nls-core-modules udeb for the nls_base module. All nls_* modules
and several filesystem modules depend on it.
+ [ Ian Campbell ]
+ * Include Xen net and block drivers.
+ * generic_serial is optional (for 686-bigmem support).
+
-- Frans Pop <fjp@debian.org> Tue, 27 May 2008 16:31:38 +0200
kernel-wedge (2.44) unstable; urgency=low
Index: kernel/kernel-wedge/modules/nic-modules
===================================================================
--- kernel/kernel-wedge/modules/nic-modules (revision 53508)
+++ kernel/kernel-wedge/modules/nic-modules (working copy)
@@ -8,3 +8,4 @@
tulip
winbond-840
eth1394 ?
+xen-netfront ?
Index: kernel/kernel-wedge/modules/scsi-modules
===================================================================
--- kernel/kernel-wedge/modules/scsi-modules (revision 53508)
+++ kernel/kernel-wedge/modules/scsi-modules (working copy)
@@ -36,3 +36,4 @@
dc395x ?
aic94xx ?
stex ?
+xen-blkfront ?
Index: kernel/kernel-wedge/modules/serial-modules
===================================================================
--- kernel/kernel-wedge/modules/serial-modules (revision 53508)
+++ kernel/kernel-wedge/modules/serial-modules (working copy)
@@ -1,2 +1,2 @@
-generic_serial
+generic_serial ?
serial_cs ?
Index: kernel/linux-kernel-di-i386-2.6/kernel-versions =================================================================== --- kernel/linux-kernel-di-i386-2.6/kernel-versions (revision 53508) +++ kernel/linux-kernel-di-i386-2.6/kernel-versions (working copy) @@ -1,2 +1,3 @@ # arch version flavour installedname suffix build-depends i386 2.6.25-2 486 2.6.25-2-486 - linux-image-2.6.25-2-486 +i386 2.6.25-2 686-bigmem 2.6.25-2-686-bigmem - linux-image-2.6.25-2-686-bigmem
Index: base-installer/kernel/README
===================================================================
--- base-installer/kernel/README (revision 53508)
+++ 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: base-installer/kernel/tests/i386/cittagazze-bigmem.test
===================================================================
--- base-installer/kernel/tests/i386/cittagazze-bigmem.test (revision 0)
+++ 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: base-installer/kernel/tests/i386/cittagazze.test
===================================================================
--- base-installer/kernel/tests/i386/cittagazze.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/via-c7-Samuel.test
===================================================================
--- base-installer/kernel/tests/i386/via-c7-Samuel.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/via-c7-Esther.test
===================================================================
--- base-installer/kernel/tests/i386/via-c7-Esther.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/oqo1.test
===================================================================
--- base-installer/kernel/tests/i386/oqo1.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/pentium-3.test
===================================================================
--- base-installer/kernel/tests/i386/pentium-3.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/pentium-d-2p.test
===================================================================
--- base-installer/kernel/tests/i386/pentium-d-2p.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/pentium.test
===================================================================
--- base-installer/kernel/tests/i386/pentium.test (revision 53508)
+++ 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: base-installer/kernel/tests/i386/pentium-4M-bigmem.test
===================================================================
--- base-installer/kernel/tests/i386/pentium-4M-bigmem.test (revision 0)
+++ 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: base-installer/kernel/tests/i386/pentium-4M.test
===================================================================
--- base-installer/kernel/tests/i386/pentium-4M.test (revision 53508)
+++ 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: base-installer/kernel/i386.sh
===================================================================
--- base-installer/kernel/i386.sh (revision 53508)
+++ 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
@@ -53,11 +63,21 @@
arch_get_kernel () {
imgbase=linux-image
+ if [ "$1" = k7-bigmem ]; then
+ echo "$imgbase-$KERNEL_MAJOR-686-bigmem"
+ set k7
+ fi
+
if [ "$1" = k7 ]; then
echo "$imgbase-$KERNEL_MAJOR-k7"
set 486
fi
+ if [ "$1" = 686-bigmem ]; then
+ echo "$imgbase-$KERNEL_MAJOR-686-bigmem"
+ set 686
+ fi
+
if [ "$1" = 686 ]; then
echo "$imgbase-$KERNEL_MAJOR-686"
set 486
Index: base-installer/debian/changelog
===================================================================
--- base-installer/debian/changelog (revision 53508)
+++ base-installer/debian/changelog (working copy)
@@ -1,5 +1,10 @@
base-installer (1.91) unstable; 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.
+
[ Updated translations ]
* Dzongkha (dz.po) by Jurmey Rabgay(Bongop) (DIT,BHUTAN)
* Basque (eu.po) by Iñaki Larrañaga Murgoitio
Index: base-installer/library.sh
===================================================================
--- base-installer/library.sh (revision 53508)
+++ 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
Index: hw-detect/devnames-static.txt =================================================================== --- hw-detect/devnames-static.txt (revision 53508) +++ hw-detect/devnames-static.txt (working copy) @@ -133,6 +133,7 @@ wavelan_cs:Lucent WaveLAN/IEEE + compatibles 802.11 wd:ISA WD 8003/8013 or SMC Elite/16 Ethernet winbond-840:Winbond W89c840 Ethernet +xen-netfront:Xen Virtual Ethernet xirc2ps_cs:Xircom PCMCIA Ethernet xircom_cb:Xircom Cardbus Ethernet xircom_tulip_cb:Xircom CBE-100 Ethernet
Index: installer/build/config/i386.cfg =================================================================== --- installer/build/config/i386.cfg (revision 53508) +++ installer/build/config/i386.cfg (working copy) @@ -1,7 +1,8 @@ -MEDIUM_SUPPORTED = cdrom netboot netboot-gtk hd-media #floppy #monolithic +MEDIUM_SUPPORTED = cdrom netboot netboot-bigmem netboot-gtk hd-media #floppy #monolithic # The version of the kernel to use. -KERNELVERSION = 2.6.24-1-486 +BASEVERSION = 2.6.25-2 +KERNELVERSION = $(BASEVERSION)-486 KERNELMAJOR = 2.6 KERNEL_FLAVOUR = di KERNELNAME = vmlinuz Index: installer/build/config/i386/netboot-bigmem.cfg =================================================================== --- installer/build/config/i386/netboot-bigmem.cfg (revision 0) +++ installer/build/config/i386/netboot-bigmem.cfg (revision 0) @@ -0,0 +1,6 @@ +KERNELVERSION = $(BASEVERSION)-686-bigmem +TYPE=netboot +include config/i386/netboot.cfg +MANIFEST-NETBOOT_DIR = "PXE boot directory for tftp server (bigmem)" +MANIFEST-NETBOOT_TAR = "tarball of PXE boot directory (bigmem)" +MANIFEST-MINIISO = "tiny CD image that boots the netboot installer (bigmem)"
Attachment:
signature.asc
Description: This is a digitally signed message part