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 <[EMAIL PROTECTED]> 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)"
signature.asc
Description: This is a digitally signed message part