diff -up anaconda-11.4.0.83/bootdisk/sparc/silo.conf.spot anaconda-11.4.0.83/bootdisk/sparc/silo.conf
--- anaconda-11.4.0.83/bootdisk/sparc/silo.conf.spot 2008-10-01 21:32:11.000000000 -0400
+++ anaconda-11.4.0.83/bootdisk/sparc/silo.conf 2008-10-05 12:09:12.000000000 -0400
@@ -2,31 +2,31 @@ partition=1
default=linux
read-write
timeout=100
-message=/etc/boot.msg
-image="cat /etc/boot.msg"
+message=/boot/boot.msg
+image="cat /boot/boot.msg"
label=1
single-key
-image="cat /etc/options.msg"
+image="cat /boot/options.msg"
label=2
single-key
-image="cat /etc/general.msg"
+image="cat /boot/general.msg"
label=3
single-key
-image="cat /etc/param.msg"
+image="cat /boot/param.msg"
label=4
single-key
-image="cat /etc/rescue.msg"
+image="cat /boot/rescue.msg"
label=5
single-key
-image[sun4u]=/boot/vmlinux
+image[sun4u]=/boot/vmlinuz
label=linux
alias=install
initrd=/boot/initrd.img
-image[sun4u]=/boot/vmlinux
+image[sun4u]=/boot/vmlinuz
label=text
append=text
initrd=/boot/initrd.img
-image[sun4u]=/boot/vmlinux
+image[sun4u]=/boot/vmlinuz
label=ks
append=ks
initrd=/boot/initrd.img
diff -up anaconda-11.4.0.83/scripts/mk-images.sparc.spot anaconda-11.4.0.83/scripts/mk-images.sparc
--- anaconda-11.4.0.83/scripts/mk-images.sparc.spot 2008-10-01 21:32:11.000000000 -0400
+++ anaconda-11.4.0.83/scripts/mk-images.sparc 2008-10-05 12:08:50.000000000 -0400
@@ -44,6 +44,8 @@ maketftp() {
exit 1
done
+ echo "Making a $KERNELARCH tftp image: $TFTPIMAGE"
+
elftoaout $TFTPKERNEL -o $TFTPIMAGE
if [ "$KERNELARCH" = "sparc" ]; then
piggyback $TFTPIMAGE $TFTPSYSMAP $TFTPINITRD
@@ -52,51 +54,41 @@ maketftp() {
fi
}
-prepareBootImage() {
- echo "sparc: prepareBootImage() is called"
+prepareBootTree() {
+ echo "sparc: prepareBootTree() is called"
+ (cd $BOOTDISKDIR; find . -maxdepth 1 ! -type d | cpio --quiet -p $MBD_BOOTTREE)
+
+ cp $MBD_FSIMAGE $MBD_BOOTTREE/initrd.img
+ cp $KERNELROOT/boot/vmlinuz-* $MBD_BOOTTREE/vmlinuz
+ cp $KERNELROOT/boot/System.map-* $MBD_BOOTTREE/System.map
- dd if=/dev/zero of=$MBD_TMPIMAGE bs=1k count=$BOOTDISKSIZE 2>/dev/null
- echo y | /sbin/mke2fs -b 1024 -r 0 -O none $MBD_TMPIMAGE > /dev/null 2>/dev/null
- LODEV=`findloopdevice $MBD_TMPIMAGE`
- mount $LODEV -t ext2 $MBD_BOOTTREE
- cp $BOOTDISKDIR/fd.b $MBD_BOOTTREE
- cp $BOOTDISKDIR/second.b $MBD_BOOTTREE
- cp $BOOTDISKDIR/*.msg $stagedir
- mkdir -p $MBD_BOOTTREE/etc
- cp $BOOTDISKDIR/silo.conf $MBD_BOOTTREE/etc
- zcat $KERNELROOT/boot/vmlinuz-* | gzip -9 > $MBD_BOOTTREE/vmlinux.gz
- umount $LODEV
- losetup -d $LODEV
- mount -o loop -t ext2 $MBD_TMPIMAGE $MBD_BOOTTREE
- $SILO -r $MBD_BOOTTREE -i /fd.b -b /second.b -C /etc/silo.conf -F
}
makeBootImages() {
echo "Building boot images for kernel $kernelvers.$KERNELARCH"
- mkdir -p $TOPDESTPATH/boot
- cp $BOOTDISKDIR/isofs.b $TOPDESTPATH/boot
- cp $BOOTDISKDIR/second.b $TOPDESTPATH/boot
- cp $BOOTDISKDIR/etc/silo.conf $TOPDESTPATH/boot
-
- mkdir -p $TOPDESTPATH/etc
- cp $BOOTDISKDIR/*.msg $TOPDESTPATH/etc
-
- mkdir -p $TOPDESTPATH/kernels
- cp $KERNELROOT/boot/vmlinuz-* $TOPDESTPATH/kernels/vmlinux
- cp $KERNELROOT/boot/System.map-* $TOPDESTPATH/boot/System.map
-
- echo "List of init modules: $INITRDMODS $SPARCMODS"
-
- makeinitrd --initrdto $TOPDESTPATH/boot/initrd.img \
+ echo "Building initrd.img"
+ makeinitrd --initrdto $TOPDESTPATH/images/initrd.img \
--initrdsize 8192 \
--loaderbin loader \
--modules "$INITRDMODS $SPARCMODS"
-
- maketftp --kernel $TOPDESTPATH/boot/vmlinux \
- --imagename $TOPDESTPATH/images/tftp.img \
- --initrdfrom $TOPDESTPATH/boot/initrd.img \
- --systemmap $TOPDESTPATH/boot/System.map
+ [ $? = 0 ] || exit 1
+ if [ -f $IMGPATH/usr/lib/anaconda-runtime/boot/second.b ]; then
+ echo "Building boot dir for silo"
+ MBD_BOOTTREE=$TOPDESTPATH/boot
+ MBD_FSIMAGE=$TOPDESTPATH/images/initrd.img
+ mkdir $MBD_BOOTTREE
+ cp $IMGPATH/usr/lib/anaconda-runtime/boot/*.b $MBD_BOOTTREE/
+
+ prepareBootTree
+
+ maketftp --kernel $MBD_BOOTTREE/vmlinuz \
+ --imagename $TOPDESTPATH/images/tftp.img \
+ --systemmap $MBD_BOOTTREE/System.map
+ else
+ echo "I can't find SILO in $IMGPATH/usr/lib/anaconda-runtime/boot ?!?"
+ exit 1
+ fi
}
@@ -110,6 +102,8 @@ doPostImages() {
-r -V "PBOOT" -A "$PRODUCT $VERSION" \
-x Fedora \
-x repodata \
- -sparc-label "$PRODUCT $VERSION Boot Disc" -o $TOPDESTPATH/images/$BOOTISO $TOPDESTPATH
+ -sparc-label "$PRODUCT $VERSION Boot Disc" \
+ -o $TOPDESTPATH/images/$BOOTISO -graft-points \
+ boot=$TOPDESTPATH/boot images/stage2.img=$TOPDESTPATH/images/stage2.img
fi
}
diff -up anaconda-11.4.0.83/scripts/mk-images.spot anaconda-11.4.0.83/scripts/mk-images
--- anaconda-11.4.0.83/scripts/mk-images.spot 2008-10-01 21:32:11.000000000 -0400
+++ anaconda-11.4.0.83/scripts/mk-images 2008-10-05 12:08:50.000000000 -0400
@@ -128,7 +128,7 @@ INITRDMODS="$USBMODS $FIREWIREMODS $IDEM
KERNELDIR="/boot"
fi
- if [ "$BUILDARCH" = "sparc64" ]; then
+ if [ "$BUILDARCH" = "sparc64" -o "$BUILDARCH" = "sparcv9" ]; then
BASEARCH=sparc
else
BASEARCH=$BUILDARCH
@@ -136,7 +136,7 @@ INITRDMODS="$USBMODS $FIREWIREMODS $IDEM
# explicit block size setting for some arches (FIXME: we compose
# ppc64-ish trees as ppc, so we have to set the "wrong" block size)
- if [ "$BUILDARCH" = "sparc64" ]; then
+ if [ "$BUILDARCH" = "sparc64" -o "$BUILDARCH" = "sparcv9" ]; then
CRAMBS="--blocksize 8192"
elif [ "$BUILDARCH" = "sparc" ]; then
CRAMBS="--blocksize 4096"
@@ -198,9 +198,9 @@ INITRDMODS="$USBMODS $FIREWIREMODS $IDEM
if [ "$BUILDARCH" != "s390" -a "$BUILDARCH" != "s390x" ]; then
# go ahead and create the keymaps so we only have to do it once
- if [ -f $IMGPATH/usr/lib/anaconda-runtime/keymaps-override-$BUILDARCH ]; then
+ if [ -f $IMGPATH/usr/lib/anaconda-runtime/keymaps-override-$BASEARCH ]; then
echo "Found keymap override, using it"
- cp $IMGPATH/usr/lib/anaconda-runtime/keymaps-override-$BUILDARCH $KEYMAPS
+ cp $IMGPATH/usr/lib/anaconda-runtime/keymaps-override-$BASEARCH $KEYMAPS
else
echo "Running: $GETKEYMAPS $BUILDARCH $KEYMAPS $IMGPATH"
$GETKEYMAPS $BUILDARCH $KEYMAPS $IMGPATH
@@ -734,6 +734,8 @@ elif [ ${BUILDARCH} = ppc64 ]; then
elif [ ${BUILDARCH} = "x86_64" -o ${BUILDARCH} = "i386" ]; then
source $TOPDIR/mk-images.x86
source $TOPDIR/mk-images.efi
+elif [ ${BUILDARCH} = "sparc64" -o ${BUILDARCH} = "sparcv9" ]; then
+ source $TOPDIR/mk-images.sparc
else
source $TOPDIR/mk-images.${BUILDARCH}
fi
@@ -754,6 +756,8 @@ elif [ "$BUILDARCH" = "x86_64" ]; then
elif [ "$BUILDARCH" = "ia64" ]; then
kerneltags="kernel kernel-xen"
efiarch="ia64"
+elif [ "$BUILDARCH" = "sparcv9" -o "$BUILDARCH" = "sparc64" ]; then
+ arches="sparc64"
fi
foundakernel=""
diff -up anaconda-11.4.0.83/scripts/pkgorder.spot anaconda-11.4.0.83/scripts/pkgorder
--- anaconda-11.4.0.83/scripts/pkgorder.spot 2008-10-01 21:32:11.000000000 -0400
+++ anaconda-11.4.0.83/scripts/pkgorder 2008-10-05 12:08:50.000000000 -0400
@@ -71,7 +71,7 @@ class PackageOrderer(yum.YumBase):
self.doRepoSetup()
# We have to hack this in here, otherwise, we won't get sparc64v, sparcv9v
- if arch.startswith("sparc64"):
+ if arch.startswith("sparc64") or arch.startswith("sparcv9"):
self.arch = "sparc64v"
self.doSackSetup(rpmUtils.arch.getArchList(self.arch))
self.doTsSetup()
diff -up anaconda-11.4.0.83/scripts/upd-instroot.spot anaconda-11.4.0.83/scripts/upd-instroot
--- anaconda-11.4.0.83/scripts/upd-instroot.spot 2008-10-01 21:32:11.000000000 -0400
+++ anaconda-11.4.0.83/scripts/upd-instroot 2008-10-05 12:08:50.000000000 -0400
@@ -198,7 +198,7 @@ if [ $ARCH = ppc -o $ARCH = ppc64 ]; the
PACKAGES="$PACKAGES pcmciautils pdisk yaboot hfsutils"
fi
-if [ $ARCH = sparc -o $ARCH = sparc64 ]; then
+if [ $ARCH = sparc -o $ARCH = sparcv9 -o $ARCH = sparc64 ]; then
PACKAGES="$PACKAGES silo"
fi
@@ -266,7 +266,7 @@ fi
#
# add bootloader for particular arch
#
-if [ $ARCH = sparc ]; then
+if [ $ARCH = sparc -o $ARCH = sparcv9 -o $ARCH = sparc64 ]; then
PACKAGESGR="$PACKAGESGR tilo silo"
fi
@@ -312,6 +312,7 @@ KEEPFILE=${TMPDIR:-/tmp}/keepfile.$$
cat > $KEEPFILE <<EOF
boot/efi/EFI/redhat/elilo.efi
boot/efi/EFI/redhat/grub.efi
+boot/*.b
bin/bash
bin/dbus-daemon
bin/fdisk*
@@ -1050,11 +1051,10 @@ for p in $DEST $DESTGR; do
done
# copy bootloader files for sparc
- if [ $ARCH = sparc -a $p = $DESTGR ]; then
+ if [ $ARCH = sparc -o $ARCH = sparcv9 -o $ARCH = sparc64 ]; then
mkdir -p $p/usr/lib/anaconda-runtime/boot
- [ -d $p/boot ] || die "ERROR: directory missing: $p/boot"
- (cd $p/boot; find -name "*.b") | (cd $p/boot; /bin/cpio --quiet -pdmu $p/usr/lib/anaconda-runtime/boot)
- fi
+ cp -af $p/boot/*.b $p/usr/lib/anaconda-runtime/boot
+ fi
# copy bootloader file for ppc
if [ $ARCH = ppc -o $ARCH = ppc64 ]; then