From fb5e1cbe31850d672a40238f1b6ca1bf24797ef9 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Fri, 28 Oct 2005 18:13:15 +0000 Subject: 2005-10-28 Jeremy Katz * scripts/mk-images: Extract kernel-xen-guest on i386 in addition to kernel. And we don't have pcmcia stuff in hwdata anymore * scripts/mk-images.i386: Just make an initrd and copy the kernel for xen-guest --- scripts/mk-images | 31 ++++++++++++------------------- scripts/mk-images.i386 | 15 +++++++++++---- 2 files changed, 23 insertions(+), 23 deletions(-) (limited to 'scripts') diff --git a/scripts/mk-images b/scripts/mk-images index abe812a8e..86cbf55e0 100755 --- a/scripts/mk-images +++ b/scripts/mk-images @@ -755,32 +755,31 @@ else fi # Find the kernel, unpack it, and verify it -vertag="BOOT" +kerneltags="kernel" if [ "$BUILDARCH" = "ppc" -o "$BUILDARCH" = "ppc64" ]; then arches="ppc64pseries ppc64 ppc64iseries ppc" elif [ "$BUILDARCH" = "i386" ]; then arches="i586" + kerneltags="kernel kernel-xen-guest" +#elif [ "$BUILDARCH" = "x86_64"]; then +# arches="x86_64" +# kerneltags="kernel kernel-xen-guest" else arches="$BUILDARCH" fi + foundakernel="" for KERNELARCH in $arches; do - for kernelvers in $vertag; do - kpackage=$(findPackage $KERNELPATH kernel-$kernelvers) - if [ ! -f "$kpackage" ]; then - echo "kernel-$kernelvers does not exist for $KERNELARCH -- using kernel package" - kpackage=$(findPackage $KERNELPATH kernel) - kernelvers="" - fi - + for kernelvers in $kerneltags; do + kpackage=$(findPackage $KERNELPATH $kernelvers) if [ "$KERNELARCH" = "i586" -a ! -f "$kpackage" ]; then echo "No i586 kernel, trying i686..." KERNELARCH="i686" - kpackage=$(findPackage $KERNELPATH kernel) + kpackage=$(findPackage $KERNELPATH $kernelvers) fi if [ ! -f "$kpackage" ]; then - echo "kernel doesn't exist for $KERNELARCH. skipping arch" + echo "kernel ($kernelvers) doesn't exist for $KERNELARCH. skipping" continue fi @@ -789,19 +788,13 @@ for KERNELARCH in $arches; do foundakernel="yes" - ppackage=$(findPackage $KERNELPATH hwdata) - if [ ! -f "$ppackage" ]; then - ppackage="" - fi + if [ "${kernelvers}" = "kernel-xen-guest" ]; then kerneltag="guest" ; fi - version=$(rpm --nodigest --nosignature --qf '%{VERSION}-%{RELEASE}' -qp $kpackage)${kernelvers} + version=$(rpm --nodigest --nosignature --qf '%{VERSION}-%{RELEASE}' -qp $kpackage)${kerneltag} arch=$(rpm --nodigest --nosignature --qf '%{ARCH}\n' -qp $kpackage) echo "unpacking $kpackage.$arch" rpm2cpio $kpackage | (cd $KERNELROOT; cpio --quiet -iumd) - if [ ! -z $ppackage ]; then - rpm2cpio $ppackage | (cd $KERNELROOT; cpio --quiet -iumd etc/pcmcia/* ./etc/pcmcia/*) - fi if [ ! -d "$KERNELROOT/lib/modules/$version" ]; then echo "$KERNELROOT/lib/modules/$version is not a valid modules directory" 2>&1 diff --git a/scripts/mk-images.i386 b/scripts/mk-images.i386 index a093f9970..3c9f389fa 100644 --- a/scripts/mk-images.i386 +++ b/scripts/mk-images.i386 @@ -65,10 +65,7 @@ be written to the device using dd. EOF makeBootImages() { - # FIXME: this is so that we can switch back and forth. if we want both - # on the CD, then more needs to be done, esp for things like isolinux.cfg - # Right now, last one wins - if [ "$KERNELARCH" = "i686" -o "$KERNELARCH" = "i586" -o "$KERNELARCH" = "athlon" ]; then + if [ "$kerneltag" != "guest" ]; then echo "Building $KERNELARCH initrd.img" makeinitrd --initrdto $TOPDESTPATH/images/pxeboot/initrd.img \ --initrdsize 7000 \ @@ -140,5 +137,15 @@ vmlinuz - the BOOT kernel used for the installer initrd.img - an initrd with support for all install methods and drivers supported for installation of $PRODUCT EOF + + else # set up the boot stuff for the xen guest kernel + echo "Building $KERNELARCH guest initrd.img" + mkdir -p $TOPDESTPATH/images/xen + makeinitrd --initrdto $TOPDESTPATH/images/xen/initrd.img \ + --initrdsize 7000 \ + --loaderbin loader \ + --modules "$INITRDMODS" + [ $? = 0 ] || exit 1 + cp $KERNELROOT/boot/vmlinuz-* $TOPDESTPATH/images/xen/vmlinuz fi } -- cgit