Hi, Now that beta2 is out the door I'd like to revisit the possibility of having an additional 686-bigmem netboot image suitable for use with Xen. Some previous threads on the subject are: http://lists.debian.org/debian-boot/2008/05/msg01021.html http://lists.debian.org/debian-boot/2008/04/msg01016.html (I'm sure there a few others hidden away in sub-threads...)
First patch is to kernel wedge and adds the Xen block and net devices (optional since they won't appear in the 486 images) as well as making generic_serial optional in order to allow 686-bigmem kernel udebs to be built. [kernel-wedge.patch] Second patch is to linux-kernel-di-i386-2.6 and simply adds the 686-bigmem flavour kernels. [linux-kernel-di-i386-2.6.patch] Third patch is to base-installer and causes the 686-bigmem kernel to be installed into the new system iff the installer is also running a bigmem kernel. This has been filed as #480054 and I'll send an update there too. [base-installer.patch] Final patch is the the installer itself to cause a 686-bigmem netboot image to be built. [installer.patch] I have one additional patch to finish-install/finish-install.d/90console which enables getty on hvc0 under Xen. Although it works I think can be done better. I'll send that one later. The kernel and base-installer patches are safe to apply right away and I'd really appreciate the kernel one especially being included in the next upload of those udebs. The installer.patch needs to wait until you are ready to switch to 2.6.25 for the installer generally. Cheers, Ian. -- Ian Campbell Don't try to outweird me, three-eyes. I get stranger things than you free with my breakfast cereal. -- Zaphod Beeblebrox
Index: packages/kernel/kernel-wedge/debian/changelog =================================================================== --- packages/kernel/kernel-wedge/debian/changelog (revision 53759) +++ packages/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: packages/kernel/kernel-wedge/modules/nic-modules =================================================================== --- packages/kernel/kernel-wedge/modules/nic-modules (revision 53759) +++ packages/kernel/kernel-wedge/modules/nic-modules (working copy) @@ -8,3 +8,4 @@ tulip winbond-840 eth1394 ? +xen-netfront ? Index: packages/kernel/kernel-wedge/modules/scsi-modules =================================================================== --- packages/kernel/kernel-wedge/modules/scsi-modules (revision 53759) +++ packages/kernel/kernel-wedge/modules/scsi-modules (working copy) @@ -36,3 +36,4 @@ dc395x ? aic94xx ? stex ? +xen-blkfront ? Index: packages/kernel/kernel-wedge/modules/serial-modules =================================================================== --- packages/kernel/kernel-wedge/modules/serial-modules (revision 53759) +++ packages/kernel/kernel-wedge/modules/serial-modules (working copy) @@ -1,2 +1,2 @@ -generic_serial +generic_serial ? serial_cs ?
Index: packages/kernel/linux-kernel-di-i386-2.6/debian/changelog =================================================================== --- packages/kernel/linux-kernel-di-i386-2.6/debian/changelog (revision 53759) +++ packages/kernel/linux-kernel-di-i386-2.6/debian/changelog (working copy) @@ -1,11 +1,15 @@ linux-kernel-di-i386-2.6 (1.62) UNRELEASED; urgency=low + [ Frans Pop ] * Update to 2.6.25-2. * irda-modules: irport is no longer available. * Add crypto-dm-modules; dependencies on crypto-core-modules are now defined in kernel-wedge. * Add isofs-modules and nls-core-modules. + [ Ian Campbell ] + * Build -686-bigmem udebs. + -- Frans Pop <[EMAIL PROTECTED]> Tue, 27 May 2008 16:40:12 +0200 linux-kernel-di-i386-2.6 (1.61) unstable; urgency=low Index: packages/kernel/linux-kernel-di-i386-2.6/kernel-versions =================================================================== --- packages/kernel/linux-kernel-di-i386-2.6/kernel-versions (revision 53759) +++ packages/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: packages/base-installer/kernel/README =================================================================== --- packages/base-installer/kernel/README (revision 53759) +++ 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/i386.sh =================================================================== --- packages/base-installer/kernel/i386.sh (revision 53759) +++ 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 @@ -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: 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 53759) +++ 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 53759) +++ 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 53759) +++ 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 53759) +++ 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.test =================================================================== --- packages/base-installer/kernel/tests/i386/pentium.test (revision 53759) +++ 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-d-2p.test =================================================================== --- packages/base-installer/kernel/tests/i386/pentium-d-2p.test (revision 53759) +++ 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-3.test =================================================================== --- packages/base-installer/kernel/tests/i386/pentium-3.test (revision 53759) +++ 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-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 53759) +++ 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/debian/changelog =================================================================== --- packages/base-installer/debian/changelog (revision 53759) +++ packages/base-installer/debian/changelog (working copy) @@ -1,10 +1,16 @@ base-installer (1.92) UNRELEASED; urgency=low + [ Joey Hess ] * Call base-installer.d hooks after running debootstrap, for consistency with live-installer. (So, pre_install_hooks is run after bootstrap, but before anything is installed with apt. So the name still makes a kind of sense, if you squint..) + [ 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. + -- Joey Hess <[EMAIL PROTECTED]> Wed, 18 Jun 2008 21:20:28 -0400 base-installer (1.91) unstable; urgency=low Index: packages/base-installer/library.sh =================================================================== --- packages/base-installer/library.sh (revision 53759) +++ 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
Index: installer/build/config/i386.cfg =================================================================== --- installer/build/config/i386.cfg (revision 53759) +++ 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