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