Added code for creating s390 images
This commit is contained in:
parent
d58f206122
commit
56de80c38a
15
etc/modules/modules.s390
Normal file
15
etc/modules/modules.s390
Normal file
@ -0,0 +1,15 @@
|
||||
zfcp
|
||||
tape390
|
||||
dasd_diag_mod
|
||||
dasd_eckd_mod
|
||||
dasd_fba_mod
|
||||
dasd_mod
|
||||
ctc
|
||||
netiucv
|
||||
smsgiucv
|
||||
lcs
|
||||
qdio
|
||||
qeth
|
||||
ccwgroup
|
||||
crypto_api
|
||||
xfrm_nalgo
|
1
etc/modules/modules.s390x
Symbolic link
1
etc/modules/modules.s390x
Symbolic link
@ -0,0 +1 @@
|
||||
modules.s390
|
1019
rewrite/mk-images
Executable file
1019
rewrite/mk-images
Executable file
File diff suppressed because it is too large
Load Diff
131
rewrite/mk-images.alpha
Normal file
131
rewrite/mk-images.alpha
Normal file
@ -0,0 +1,131 @@
|
||||
#
|
||||
# mk-images.alpha
|
||||
#
|
||||
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
INITRDMODS="tgafb crc32 $INITRDMODS"
|
||||
|
||||
###FSMODS="msdos vfat ext3 reiserfs jfs xfs"
|
||||
###IDEMODS="cdrom ide-cd"
|
||||
###SCSIMODS="cdrom scsi_mod sd_mod sg sr_mod st"
|
||||
###USBMODS="ohci-hcd uhci-hcd hid usb-storage sd_mod sr_mod"
|
||||
###LATEUSBMODS="mousedev usb-storage"
|
||||
###SECSTAGE="md raid0 raid1 raid5 dm-mod srm_env $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS"
|
||||
NETMODULES="e100 tulip 8139too tulip 3c509 3c59x dl2k eepro epic100 ewrk3 hamachi natsemi ne2k-pci ns83820 starfire yellowfin de4x5 depca acenic tg3"
|
||||
|
||||
SCSIMODULES="$SCSIMODS qlogicisp DAC960 cpqfc BusLogic 3w-xxxx dmx3191d dpt_i2o megaraid ncr53c8xx sym53c8xx qlogicfc qla2x00 qla1280 cciss cpqarray aic7xxx aha1740 megaraid"
|
||||
|
||||
###ISOMODULES="ehci-hcd ieee1394 ohci1394 sbp2"
|
||||
|
||||
prepareBootImage() {
|
||||
echo "ALPHA: prepareBootImage() is called"
|
||||
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`
|
||||
e2writeboot $LODEV $BOOTDISKDIR/bootlx
|
||||
mount $LODEV -t ext2 $MBD_BOOTTREE
|
||||
mkdir -p $MBD_BOOTTREE/etc
|
||||
cat > $MBD_BOOTTREE/etc/aboot.conf <<EOF
|
||||
#
|
||||
# Fedora Linux aboot configuration options:
|
||||
#
|
||||
# 0 - Boot the Fedora Linux installer using a 2.6 kernel
|
||||
# 1 - Boot the Fedora Linux installer in non graphical mode
|
||||
# 2 - Boot the Fedora Linux installer in text only mode on ttyS0
|
||||
# for installation control via the serial port
|
||||
# 3 - Boot in rescue mode
|
||||
#
|
||||
0:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=tty0 root=/dev/fd0
|
||||
1:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=tty0 text root=/dev/fd0
|
||||
2:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=ttyS0 text root=/dev/fd0
|
||||
3:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=tty0 rescue root=/dev/fd0
|
||||
|
||||
EOF
|
||||
cat > $MBD_BOOTTREE/etc/milo.conf <<EOF
|
||||
image=/vmlinux.gz
|
||||
label=linux
|
||||
root=/dev/fd0
|
||||
append="load_ramdisk=1 prompt_ramdisk=1"
|
||||
EOF
|
||||
zcat $KERNELROOT/boot/vmlinuz-* | gzip -9 > $MBD_BOOTTREE/vmlinux.gz
|
||||
umount $LODEV
|
||||
losetup -d $LODEV
|
||||
mount -o loop -t ext2 $MBD_TMPIMAGE $MBD_BOOTTREE
|
||||
}
|
||||
|
||||
makeBootImages() {
|
||||
echo "Building boot images for kernel $kernelvers"
|
||||
|
||||
mkdir -p $TOPDESTPATH/boot
|
||||
cp $BOOTDISKDIR/bootlx $TOPDESTPATH/boot
|
||||
|
||||
mkdir -p $TOPDESTPATH/etc
|
||||
cat > $TOPDESTPATH/etc/aboot.conf <<EOF
|
||||
#
|
||||
# Fedora Linux aboot configuration options:
|
||||
#
|
||||
# 0 - Boot the Fedora Linux installer using a 2.6 kernel
|
||||
# 1 - Boot the Fedora Linux installer with kernel messages sent to ttyS0
|
||||
# 2 - Boot the Fedora Linux installer in text only mode
|
||||
# 3 - Boot the Fedora Linux installer in text only rescue mode
|
||||
#
|
||||
0:/kernels/vmlinux.gz initrd=/images/initrd.img
|
||||
1:/kernels/vmlinux.gz initrd=/images/initrd.img console=ttyS0
|
||||
2:/kernels/vmlinux.gz initrd=/images/initrd.img text
|
||||
3:/kernels/vmlinux.gz initrd=/images/initrd.img rescue
|
||||
|
||||
EOF
|
||||
|
||||
mkdir -p $TOPDESTPATH/kernels
|
||||
cp $KERNELROOT/boot/vmlinuz-* $TOPDESTPATH/kernels/vmlinux.gz
|
||||
|
||||
makeinitrd --initrdto $TOPDESTPATH/images/ramdisk.img \
|
||||
--initrdsize 8192 \
|
||||
--loaderbin loader \
|
||||
--modules "$NETMODULES $SCSIMODULES"
|
||||
|
||||
echo "List of init modules: $INITRDMODS"
|
||||
|
||||
makeinitrd --initrdto $TOPDESTPATH/images/initrd.img \
|
||||
--initrdsize 8192 \
|
||||
--loaderbin loader \
|
||||
--modules "$INITRDMODS"
|
||||
|
||||
# makebootdisk --bootdisksize 4096 --kernelto $TOPDESTPATH/kernels/vmlinux.gz \
|
||||
# --imagename generic.img
|
||||
|
||||
|
||||
if [ -f $KERNELPATH/kernel-jensen-*.rpm ]; then
|
||||
KJ_PKG=$KERNELPATH/kernel-jensen-*.rpm
|
||||
KJ_DIR=/tmp/kernelj.dir.$$
|
||||
mkdir -p $KJ_DIR
|
||||
rpm2cpio $KJ_PKG | (cd $KJ_DIR; cpio --quiet -iumd ./boot/vmlinuz-*)
|
||||
cp $KJ_DIR/boot/vmlinuz-* $TOPDESTPATH/kernels/vmlinuz.j
|
||||
rm -rf $KJ_DIR
|
||||
fi
|
||||
|
||||
# makedriverdisk --padsize 1440 "Supplemental Block Device Drivers" "drvblock" "$SCSIMODULES $EXTRASCSI +scsi"
|
||||
# makedriverdisk --padsize 1440 "Supplemental Network Device Drivers" "drvnet" "$NETMODULES $EXTRANET +net"
|
||||
}
|
||||
|
||||
#makeSecondStage() {
|
||||
# makeinstimage "netstg" "$SECSTAGE $SCSIMODULES $IDEMODS =scsi"
|
||||
# makeinstimage "hdstg" "$SECSTAGE $NETMODULES $IDEMODS =net"
|
||||
# makemainmodules "$SECSTAGE $NETMODULES $SCSIMODULES $IDEMODS =scsi =net"
|
||||
# makemainimage "install" "cramfs"
|
||||
#}
|
||||
|
172
rewrite/mk-images.ia64
Normal file
172
rewrite/mk-images.ia64
Normal file
@ -0,0 +1,172 @@
|
||||
#
|
||||
# mk-images.ia64
|
||||
#
|
||||
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
#makebootdisk required for EFI bootloader dosfs image
|
||||
makebootdisk() {
|
||||
EXTRAKERNELPATH=""
|
||||
INITRDFLAGS=""
|
||||
MBD_FILENAME=""
|
||||
INITRDFILE=""
|
||||
MBD_TMPIMAGE=${TMPDIR:-/tmp}/makebootdisk.image.$$
|
||||
MBD_BOOTTREE=${TMPDIR:-/tmp}/makebootdisk.tree.$$
|
||||
MBD_BOOTTREE_TMP=$MBD_BOOTTREE'_tmp'
|
||||
while [ x$(echo $1 | cut -c1-2) = x"--" ]; do
|
||||
if [ $1 = "--kernelto" ]; then
|
||||
EXTRAKERNELPATH=$2
|
||||
shift; shift
|
||||
continue
|
||||
elif [ $1 = "--initrdflags" ]; then
|
||||
INITRDFLAGS=$2
|
||||
shift; shift
|
||||
continue
|
||||
elif [ $1 = "--initrd" ]; then
|
||||
INITRDFILE=$2
|
||||
shift; shift
|
||||
continue
|
||||
elif [ $1 = "--imagename" ]; then
|
||||
MBD_FILENAME=$IMAGEPATH/$2
|
||||
shift; shift
|
||||
continue
|
||||
fi
|
||||
echo "Unknown option passed to makebootdisk"
|
||||
exit 1
|
||||
done
|
||||
|
||||
if [ -z "$MBD_FILENAME" ]; then
|
||||
echo "No imagename passed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$INITRDFILE" ]; then
|
||||
MBD_FSIMAGE="$INITRDFILE"
|
||||
elif [ -n "$INITRDFLAGS" ]; then
|
||||
eval makeinitrd --keep $INITRDFLAGS
|
||||
fi
|
||||
|
||||
mkdir -p $MBD_BOOTTREE
|
||||
mkdir -p $MBD_BOOTTREE_TMP
|
||||
rm -rf $MBD_BOOTTREE_TMP
|
||||
mkdir -p $MBD_TMPIMAGE
|
||||
|
||||
# provided by the mk-image.$ARCH file
|
||||
prepareBootImage
|
||||
|
||||
left=$(df $MBD_BOOTTREE | tail -n1)
|
||||
left=$(echo $left | awk '{print $4'})
|
||||
|
||||
umount $MBD_BOOTTREE
|
||||
|
||||
if [ -n "$EXTRAKERNELPATH" ]; then
|
||||
mkdir -p `dirname $EXTRAKERNELPATH`
|
||||
cp -f $KERNELROOT/$KERNELDIR/${KERNELNAME}-* $EXTRAKERNELPATH
|
||||
fi
|
||||
|
||||
mkdir -p `dirname $MBD_FILENAME`
|
||||
rm -rf $MBD_TMPIMAGE $MBD_MNTPOINT $MBD_BOOTTREE
|
||||
if [ -z "$INITRDFILE" ]; then
|
||||
rm -f $MBD_FSIMAGE
|
||||
fi
|
||||
|
||||
echo "Wrote $MBD_FILENAME (${left}k free)"
|
||||
}
|
||||
|
||||
prepareBootImage() {
|
||||
|
||||
prepareBootTree
|
||||
|
||||
# dynamically calculate the size of the dosfs
|
||||
BOOTDISKSIZE=$(du -kcs $MBD_BOOTTREE_TMP | tail -n1 | awk '{print $1}')
|
||||
BOOTDISKSIZE=$(expr $BOOTDISKSIZE + 100)
|
||||
echo "The size of the boot.img dosfs is $BOOTDISKSIZE"
|
||||
mkdosfs -n ANACONDA -C $MBD_FILENAME $BOOTDISKSIZE >/dev/null
|
||||
mount -o loop -t vfat $MBD_FILENAME $MBD_BOOTTREE
|
||||
cp -R $MBD_BOOTTREE_TMP/* $MBD_BOOTTREE
|
||||
}
|
||||
|
||||
prepareBootTree() {
|
||||
mkdir -p $MBD_BOOTTREE_TMP/EFI/boot
|
||||
cp $MBD_FSIMAGE $MBD_BOOTTREE_TMP/EFI/boot/initrd.img
|
||||
|
||||
cp -a $BOOTDISKDIR/* $MBD_BOOTTREE_TMP/EFI/boot/
|
||||
cp $KERNELROOT/boot/efi/EFI/redhat/vmlinuz-* $MBD_BOOTTREE_TMP/EFI/boot/vmlinuz
|
||||
|
||||
cp $MBD_BOOTTREE_TMP/EFI/boot/elilo.efi $MBD_BOOTTREE_TMP/EFI/boot/bootia64.efi
|
||||
cat > $MBD_BOOTTREE_TMP/EFI/boot/elilo.conf << EOF
|
||||
prompt
|
||||
timeout=50
|
||||
relocatable
|
||||
|
||||
image=vmlinuz
|
||||
label=linux
|
||||
read-only
|
||||
initrd=initrd.img
|
||||
EOF
|
||||
|
||||
# make a copy in the root of the image
|
||||
cp $MBD_BOOTTREE_TMP/EFI/boot/* $MBD_BOOTTREE_TMP
|
||||
}
|
||||
|
||||
makeBootImages() {
|
||||
# Because ia64 boxes use EFI there needs to be a boot.img dosfs.
|
||||
echo "making boot.img for EFI bootloader"
|
||||
makebootdisk --kernelto $TOPDESTPATH/kernels/vmlinuz \
|
||||
--imagename boot.img \
|
||||
--initrdflags '--initrdto $TOPDESTPATH/images/ramdisk.img \
|
||||
--initrdsize 12288 \
|
||||
--loaderbin loader \
|
||||
--modules "$INITRDMODS sgiioc4" '
|
||||
|
||||
|
||||
mkdir -p $TOPDESTPATH/images/pxeboot
|
||||
makeinitrd --initrdto $TOPDESTPATH/images/pxeboot/initrd.img \
|
||||
--initrdsize 12288 \
|
||||
--loaderbin loader \
|
||||
--modules "$INITRDMODS sgiioc4"
|
||||
[ $? = 0 ] || exit 1
|
||||
mv $TOPDESTPATH/kernels/vmlinuz $TOPDESTPATH/images/pxeboot/vmlinuz
|
||||
rmdir $TOPDESTPATH/kernels
|
||||
|
||||
# make a pxe dir with kernel + initrd
|
||||
cat > $TOPDESTPATH/images/pxeboot/README <<EOF
|
||||
The files in this directory are useful for booting a machine via PXE.
|
||||
|
||||
The following files are available:
|
||||
vmlinuz - the kernel used for the installer
|
||||
initrd.img - an initrd with support for all install methods and
|
||||
drivers supported for installation of $PRODUCT
|
||||
EOF
|
||||
cat << __EOT__ >> $TOPDESTPATH/.treeinfo
|
||||
[images-$KERNELARCH]
|
||||
kernel = images/pxeboot/vmlinuz
|
||||
initrd = images/pxeboot/initrd.img
|
||||
boot.img = images/boot.img
|
||||
|
||||
[images-xen]
|
||||
kernel = images/pxeboot/vmlinuz
|
||||
initrd = images/pxeboot/initrd.img
|
||||
|
||||
__EOT__
|
||||
}
|
||||
|
||||
doPostImages() {
|
||||
if [ -n "$BOOTISO" ]; then
|
||||
mkisofs -quiet -o $TOPDESTPATH/images/$BOOTISO -b boot.img -no-emul-boot -R -J -V "$PRODUCT" -T -graft-points boot.img=$TOPDESTPATH/images/boot.img images/install.img=$TOPDESTPATH/images/install.img
|
||||
implantisomd5 $TOPDESTPATH/images/$BOOTISO
|
||||
fi
|
||||
}
|
171
rewrite/mk-images.ppc
Normal file
171
rewrite/mk-images.ppc
Normal file
@ -0,0 +1,171 @@
|
||||
#
|
||||
# mk-images.ppc
|
||||
#
|
||||
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
makeBootImages() {
|
||||
echo "Building boot images for kernel $kernelvers"
|
||||
FAKEARCH=""
|
||||
|
||||
if [ "$KERNELARCH" = "ppc64" ]; then
|
||||
mkdir -p $TOPDESTPATH/ppc/ppc64
|
||||
echo "Building $KERNELARCH initrd"
|
||||
makeinitrd --initrdto $TOPDESTPATH/ppc/ppc64/ramdisk.image.gz \
|
||||
--initrdsize 8192 \
|
||||
--loaderbin loader \
|
||||
--modules "$INITRDMODS spufs viocd gpio_mdio"
|
||||
|
||||
cp $KERNELROOT/boot/vmlinuz-* $TOPDESTPATH/ppc/ppc64/vmlinuz
|
||||
sed -e "s/%BITS%/64/" -e "s/%PRODUCT%/$PRODUCT/" -e "s/%VERSION%/$VERSION/" \
|
||||
$BOOTDISKDIR/yaboot.conf.in > $TOPDESTPATH/ppc/ppc64/yaboot.conf
|
||||
|
||||
cat << __EOT__ >> $TOPDESTPATH/.treeinfo
|
||||
[images-$KERNELARCH]
|
||||
kernel = ppc/ppc64/vmlinuz
|
||||
initrd = ppc/ppc64/ramdisk.image.gz
|
||||
__EOT__
|
||||
|
||||
if [ -x $IMGPATH/usr/bin/mkzimage -a -r $IMGPATH/usr/share/ppc64-utils/zImage.stub ]; then
|
||||
mkdir -p $TOPDESTPATH/images/netboot
|
||||
pushd $TOPDESTPATH/ppc/ppc64
|
||||
cp $IMGPATH/usr/share/ppc64-utils/zImage.lds $TOPDESTPATH/ppc/ppc64/zImage.lds
|
||||
$IMGPATH/usr/bin/mkzimage $TOPDESTPATH/ppc/ppc64/vmlinuz no no $TOPDESTPATH/ppc/ppc64/ramdisk.image.gz $IMGPATH/usr/share/ppc64-utils/zImage.stub $TOPDESTPATH/images/netboot/ppc64.img
|
||||
rmdir $TOPDESTPATH/images/netboot || :
|
||||
rm -f $TOPDESTPATH/ppc/ppc64/zImage.lds
|
||||
popd
|
||||
echo "zimage = images/netboot/ppc64.img" >> $TOPDESTPATH/.treeinfo
|
||||
elif [ -x $IMGPATH/usr/sbin/wrapper -a -r $IMGPATH/usr/lib/kernel-wrapper/wrapper.a ]; then
|
||||
mkdir -p $TOPDESTPATH/images/netboot
|
||||
$IMGPATH/usr/sbin/wrapper -o $TOPDESTPATH/images/netboot/ppc64.img \
|
||||
-i $TOPDESTPATH/ppc/ppc64/ramdisk.image.gz \
|
||||
-D $IMGPATH/usr/lib/kernel-wrapper \
|
||||
$TOPDESTPATH/ppc/ppc64/vmlinuz
|
||||
rmdir $TOPDESTPATH/images/netboot || :
|
||||
echo "zimage = images/netboot/ppc64.img" >> $TOPDESTPATH/.treeinfo
|
||||
fi
|
||||
|
||||
echo >> $TOPDESTPATH/.treeinfo
|
||||
|
||||
|
||||
elif [ "$KERNELARCH" = "ppc" ]; then
|
||||
FAKEARCH="ppc"
|
||||
mkdir -p $TOPDESTPATH/ppc/ppc32
|
||||
mkdir -p $TOPDESTPATH/ppc/mac
|
||||
|
||||
echo "Building ppc initrd"
|
||||
makeinitrd --initrdto $TOPDESTPATH/ppc/ppc32/ramdisk.image.gz \
|
||||
--initrdsize 8192 \
|
||||
--loaderbin loader \
|
||||
--modules "$INITRDMODS"
|
||||
|
||||
cp $KERNELROOT/boot/vmlinuz-* $TOPDESTPATH/ppc/ppc32/vmlinuz
|
||||
sed -e "s/%BITS%/32/" -e "s/%PRODUCT%/$PRODUCT/" -e "s/%VERSION%/$VERSION/" \
|
||||
$BOOTDISKDIR/yaboot.conf.in > $TOPDESTPATH/ppc/ppc32/yaboot.conf
|
||||
|
||||
cat << __EOT__ >> $TOPDESTPATH/.treeinfo
|
||||
[images-$KERNELARCH]
|
||||
kernel = ppc/ppc32/vmlinuz
|
||||
initrd = ppc/ppc32/ramdisk.image.gz
|
||||
__EOT__
|
||||
if [ -x $IMGPATH/usr/bin/mkzimage -a -r $IMGPATH/usr/share/ppc64-utils/zImage.stub ]; then
|
||||
mkdir -p $TOPDESTPATH/images/netboot
|
||||
pushd $TOPDESTPATH/ppc/ppc32
|
||||
cp $IMGPATH/usr/share/ppc64-utils/zImage.lds $TOPDESTPATH/ppc/ppc32/zImage.lds
|
||||
$IMGPATH/usr/bin/mkzimage $TOPDESTPATH/ppc/ppc32/vmlinuz no no $TOPDESTPATH/ppc/ppc32/ramdisk.image.gz $IMGPATH/usr/share/ppc64-utils/zImage.stub $TOPDESTPATH/images/netboot/ppc32.img
|
||||
rmdir $TOPDESTPATH/images/netboot || :
|
||||
rm -f $TOPDESTPATH/ppc/ppc32/zImage.lds
|
||||
popd
|
||||
echo "zimage = images/netboot/ppc32.img" >> $TOPDESTPATH/.treeinfo
|
||||
elif [ -x $IMGPATH/usr/sbin/wrapper -a -r $IMGPATH/usr/lib/kernel-wrapper/wrapper.a ]; then
|
||||
$IMGPATH/usr/sbin/wrapper -o $TOPDESTPATH/images/netboot/ppc32.img \
|
||||
-i $TOPDESTPATH/ppc/ppc32/ramdisk.image.gz \
|
||||
-D $IMGPATH/usr/lib/kernel-wrapper \
|
||||
$TOPDESTPATH/ppc/ppc32/vmlinuz
|
||||
rmdir $TOPDESTPATH/images/netboot || :
|
||||
popd
|
||||
echo "zimage = images/netboot/ppc32.img" >> $TOPDESTPATH/.treeinfo
|
||||
fi
|
||||
echo >> $TOPDESTPATH/.treeinfo
|
||||
|
||||
else
|
||||
echo "Unknown kernel arch: $KERNELARCH"
|
||||
fi
|
||||
}
|
||||
|
||||
doPostImages() {
|
||||
mkdir -p $TOPDESTPATH/etc
|
||||
mkdir -p $TOPDESTPATH/ppc/chrp
|
||||
|
||||
# Create ofboot.b and bootinfo.txt files, and yaboot binaries for Mac and CHRP
|
||||
cp $BOOTDISKDIR/bootinfo.txt $TOPDESTPATH/ppc/bootinfo.txt
|
||||
cp $IMGPATH/usr/lib/anaconda-runtime/boot/efika.forth $TOPDESTPATH/ppc/efika.forth
|
||||
|
||||
if [ -d $TOPDESTPATH/ppc/mac ]; then
|
||||
cp $BOOTDISKDIR/ofboot.b $TOPDESTPATH/ppc/mac/ofboot.b
|
||||
cp $IMGPATH/usr/lib/yaboot/yaboot $TOPDESTPATH/ppc/mac/yaboot
|
||||
fi
|
||||
|
||||
if [ -d $TOPDESTPATH/ppc/chrp ]; then
|
||||
cp $IMGPATH/usr/lib/yaboot/yaboot $TOPDESTPATH/ppc/chrp/yaboot
|
||||
$IMGPATH/usr/lib/yaboot/addnote $TOPDESTPATH/ppc/chrp/yaboot
|
||||
fi
|
||||
|
||||
# IBM firmware can't handle boot scripts properly, so for biarch installs
|
||||
# we use a yaboot.conf which asks the user to select 32-bit or 64-bit kernel.
|
||||
if [ -r $TOPDESTPATH/ppc/ppc32/yaboot.conf -a -r $TOPDESTPATH/ppc/ppc64/yaboot.conf ]; then
|
||||
# Both kernels exist. Copy the biarch yaboot.conf into place.
|
||||
sed -e "s/%BITS%/32/" -e "s/%PRODUCT%/$PRODUCT/" -e "s/%VERSION%/$VERSION/" \
|
||||
$BOOTDISKDIR/yaboot.conf.3264 > $TOPDESTPATH/etc/yaboot.conf
|
||||
else
|
||||
# Copy the one that exists, assuming one does exist
|
||||
cp $TOPDESTPATH/ppc/ppc??/yaboot.conf $TOPDESTPATH/etc
|
||||
fi
|
||||
|
||||
if [ -z "$BOOTISO" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Copy it all into the isopath for the boot CD
|
||||
mkdir -p $TOPDESTPATH/isopath
|
||||
cp -r $TOPDESTPATH/{ppc,etc} $TOPDESTPATH/isopath
|
||||
|
||||
# We want the ppc32 prep image in the boot.iso too.
|
||||
if [ -d $TOPDESTPATH/images/netboot ]; then
|
||||
mkdir -p $TOPDESTPATH/isopath/images
|
||||
cp -r $TOPDESTPATH/images/netboot $TOPDESTPATH/isopath/images
|
||||
rm -f $TOPDESTPATH/isopath/images/ppc64.img
|
||||
fi
|
||||
|
||||
if [ -r $TOPDESTPATH/isopath/images/netboot/ppc32.img ]; then
|
||||
PREPBOOT="-prep-boot images/netboot/ppc32.img"
|
||||
fi
|
||||
|
||||
if [ -d $TOPDESTPATH/isopath/ppc/mac ]; then
|
||||
MACBOOT="-hfs-volid $VERSION -hfs-bless $TOPDESTPATH/isopath/ppc/mac"
|
||||
fi
|
||||
|
||||
# Create the boot.iso
|
||||
mkisofs -o $TOPDESTPATH/images/$BOOTISO -chrp-boot -U $PREPBOOT \
|
||||
-part -hfs -T -r -l -J -A "$PRODUCT $VERSION" -sysid PPC \
|
||||
-V "PBOOT" -volset "$VERSION" -volset-size 1 -volset-seqno 1 \
|
||||
$MACBOOT \
|
||||
-map $BOOTDISKDIR/mapping -magic $BOOTDISKDIR/magic \
|
||||
-no-desktop -allow-multidot -graft-points $TOPDESTPATH/isopath \
|
||||
images/install.img=$TOPDESTPATH/images/install.img
|
||||
implantisomd5 $TOPDESTPATH/images/$BOOTISO
|
||||
rm -rf $TOPDESTPATH/isopath
|
||||
}
|
54
rewrite/mk-images.s390
Normal file
54
rewrite/mk-images.s390
Normal file
@ -0,0 +1,54 @@
|
||||
#
|
||||
# mk-images.s390
|
||||
#
|
||||
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
S390SCSIMODS="zfcp tape390"
|
||||
S390DASDMODS=" dasd_diag_mod dasd_eckd_mod dasd_fba_mod dasd_mod"
|
||||
S390NETMODS="ctc netiucv smsgiucv lcs qdio qeth ccwgroup crypto_api xfrm_nalgo"
|
||||
S390MODS="$S390SCSIMODS $S390DASDMODS $S390NETMODS"
|
||||
|
||||
makeBootImages() {
|
||||
makeinitrd --initrdto $TOPDESTPATH/images/initrd.img \
|
||||
--initrdsize 20000 \
|
||||
--loaderbin loader \
|
||||
--modules "$INITRDMODS $S390MODS"
|
||||
sz=$(ls -l $TOPDESTPATH/images/initrd.img | awk '{print $5}')
|
||||
$GENINITRDSZ $sz $TOPDESTPATH/images/initrd.size
|
||||
cp -vf $KERNELROOT/boot/${KERNELNAME}-${version} $TOPDESTPATH/images/kernel.img
|
||||
|
||||
cp -v $BOOTDISKDIR/redhat.exec $TOPDESTPATH/images/redhat.exec
|
||||
cp -v $BOOTDISKDIR/generic.prm $TOPDESTPATH/images/generic.prm
|
||||
cp -v $BOOTDISKDIR/generic.ins $TOPDESTPATH/generic.ins
|
||||
|
||||
$MKS390CDBOOT \
|
||||
-i $TOPDESTPATH/images/kernel.img \
|
||||
-r $TOPDESTPATH/images/initrd.img \
|
||||
-p $TOPDESTPATH/images/generic.prm \
|
||||
-o $TOPDESTPATH/images/cdboot.img
|
||||
|
||||
cat << __EOT__ >> $TOPDESTPATH/.treeinfo
|
||||
[images-$KERNELARCH]
|
||||
kernel = images/kernel.img
|
||||
initrd = images/initrd.img
|
||||
initrd.size = images/initrd.size
|
||||
generic.prm = images/generic.prm
|
||||
generic.ins = generic.ins
|
||||
cdboot.img = images/cdboot.img
|
||||
|
||||
__EOT__
|
||||
}
|
@ -492,6 +492,11 @@ class InitRD(object):
|
||||
self.so.info("Creating locales")
|
||||
self.create_locales()
|
||||
|
||||
f = getattr(self, "run_%s" % (self.conf.buildarch,), None)
|
||||
if f:
|
||||
f()
|
||||
|
||||
def run_i386(self):
|
||||
initrd_filename = "initrd.img"
|
||||
kernel_filename = "vmlinuz"
|
||||
|
||||
@ -526,6 +531,68 @@ class InitRD(object):
|
||||
kernelpath="/images/pxeboot/vmlinuz",
|
||||
initrdpath="/images/pxeboot/initrd.img")
|
||||
|
||||
def run_x86_64(self):
|
||||
self.run_i386()
|
||||
|
||||
def run_s390(self):
|
||||
initrd_filename = "initrd.img"
|
||||
kernel_filename = "kernel.img"
|
||||
|
||||
self.so.info("Compressing the image file '%s'" % (initrd_filename,))
|
||||
self.create(os.path.join(self.conf.imagesdir, initrd_filename))
|
||||
|
||||
cmd = "ls -l %s | awk '{print $5}'" % \
|
||||
(os.path.join(self.conf.imagesdir, initrd_filename),)
|
||||
self.so.debug(cmd)
|
||||
err, size = commands.getstatusoutput(cmd)
|
||||
if err:
|
||||
self.se.debug(size)
|
||||
|
||||
geninitrdsz = os.path.join(self.conf.treedir, "usr", "lib",
|
||||
"anaconda-runtime", "geninitrdsz")
|
||||
|
||||
cmd = "%s %s %s" % (geninitrdsz, size,
|
||||
os.path.join(self.conf.imagesdir, "initrd.size"))
|
||||
self.so.debug(cmd)
|
||||
err, output = commands.getstatusoutput(cmd)
|
||||
if err:
|
||||
self.se.debug(output)
|
||||
|
||||
# copy the kernel file
|
||||
shutil.copy2(self.conf.kernelfile,
|
||||
os.path.join(self.conf.imagesdir, kernel_filename))
|
||||
|
||||
for filename in ("redhat.exec", "generic.prm"):
|
||||
shutil.copy2(os.path.join(self.conf.bootdiskdir, filename),
|
||||
self.conf.imagesdir)
|
||||
shutil.copy2(os.path.join(self.conf.bootdiskdir, filename),
|
||||
self.conf.outdir)
|
||||
|
||||
mks390cdboot = os.path.join(self.conf.treedir, "usr", "lib",
|
||||
"anaconda-runtime", "mk-s390-cdboot")
|
||||
|
||||
cmd = "%s -i %s -r %s -p %s -o %s" % (mks390cdboot,
|
||||
os.path.join(self.conf.imagesdir, kernel_filename),
|
||||
os.path.join(self.conf.imagesdir, initrd_filename),
|
||||
os.path.join(self.conf.imagesdir, "generic.prm"),
|
||||
os.path.join(self.conf.imagesdir, "cdboot.img"))
|
||||
err, output = commands.getstatusoutput(cmd)
|
||||
if err:
|
||||
self.se.debug(output)
|
||||
|
||||
text = "[images-%s" % (self.conf.buildarch,)
|
||||
text += "kernel = images/kernel.img"
|
||||
text += "initrd = images/initrd.img"
|
||||
text += "initrd.size = images/initrd.size"
|
||||
text += "generic.prm = images/generic.prm"
|
||||
text += "generic.ins = generic.ins"
|
||||
text += "cdboot.img = images/cdboot.img"
|
||||
edit(os.path.join(self.conf.outdir, ".treeinfo"),
|
||||
append=True, text=text)
|
||||
|
||||
def run_s390x(self):
|
||||
self.run_s390()
|
||||
|
||||
|
||||
class EFI(object):
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user