COMMONMODULES="nfs fat vfat cramfs loop floppy" FSMODS="msdos vfat ext3 reiserfs jfs" IDEMODS="ide-cd" SCSIMODS="sd_mod sg sr_mod st" LATEUSBMODS="mousedev usb-storage" SECSTAGE="md raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS" NETMODULES="sungem tg3 ne2k-pci 3c59x 8139too olympic de4x5 acenic pcnet32 tulip natsemi e100 e1000 airport" SCSIMODULES="$SCSIMODS advansys aic7xxx initio sym53c8xx" ISERIESMODULES="veth viodasd viocd" # images we only want on the CD (usually for space reasons) ISOMODULES="ehci-hcd ieee1394 ohci1394 sbp2" prepareBootImage() { mkdir -p $TOPDESTPATH/ppc/chrp mkdir -p $TOPDESTPATH/images } makeBootImages() { echo "Building boot images for kernel $kernelvers" if [ "$KERNELARCH" = "ppc64pseries" ]; then echo "Building pSeries initrd" makeinitrd --initrdto $TOPDESTPATH/ppc/chrp/ramdisk.image.gz \ --initrdsize 8192 \ --loaderbin loader \ --modules "$COMMONMODULES $NETMODULES $SCSIMODULES $SCSIMODS $IDEMODS $ISOMODULES" mkdir -p $TOPDESTPATH/etc $TOPDESTPATH/ppc/chrp cp $KERNELROOT/boot/vmlinux-* $TOPDESTPATH/ppc/chrp/vmlinux cp $BOOTDISKDIR/yaboot.conf $TOPDESTPATH/etc/yaboot.conf cp $BOOTDISKDIR/bootinfo.txt $TOPDESTPATH/ppc/bootinfo.txt cp $IMGPATH/usr/lib/yaboot/yaboot $TOPDESTPATH/ppc/chrp $IMGPATH/usr/lib/yaboot/addnote $TOPDESTPATH/ppc/chrp/yaboot # we also want to make a boot.iso here mkdir -p $TOPDESTPATH/isopath/ppc/chrp $TOPDESTPATH/isopath/etc cp $TOPDESTPATH/etc/* $TOPDESTPATH/isopath/etc/ cp $TOPDESTPATH/ppc/chrp/* $TOPDESTPATH/isopath/ppc/chrp cp $TOPDESTPATH/ppc/bootinfo.txt $TOPDESTPATH/isopath/ppc/bootinfo.txt # FIXME: this assumes the file gets there by magic cp $TOPDESTPATH/boot_image $TOPDESTPATH/isopath/boot_image mkisofs -generic-boot $TOPDESTPATH/isopath/boot_image -A "$PRODUCT $VERSION" -V "PBOOT" -J -R -T -allow-multidot -l -o $TOPDESTPATH/images/boot.iso $TOPDESTPATH/isopath rm -rf $TOPDESTPATH/isopath/ elif [ "$KERNELARCH" = "ppc64iseries" ]; then mkdir -p $TOPDESTPATH/ppc/iSeries echo "Building iSeries initrd" makeinitrd --initrdto $TOPDESTPATH/ppc/iSeries/ramdisk.image.gz \ --initrdsize 8192 \ --loaderbin loader \ --modules "$COMMONMODULES $NETMODULES $SCSIMODULES $IDEMODS $ISOMODULES $ISERIESMODULES" cp $KERNELROOT/boot/vmlinux-* $TOPDESTPATH/ppc/iSeries/vmlinux cp $KERNELROOT/boot/System.map-* $TOPDESTPATH/ppc/iSeries/System.map $IMGPATH/usr/sbin/addSystemMap $TOPDESTPATH/ppc/iSeries/System.map $TOPDESTPATH/ppc/iSeries/vmlinux $TOPDESTPATH/ppc/iSeries/vmlinux.sm $IMGPATH/usr/sbin/addRamDisk $TOPDESTPATH/ppc/iSeries/ramdisk.image.gz $TOPDESTPATH/ppc/iSeries/System.map $TOPDESTPATH/ppc/iSeries/vmlinux.sm $TOPDESTPATH/ppc/iSeries/boot.img rm -f $TOPDESTPATH/ppc/iSeries/vmlinux.sm else echo "Unknown kernel arch: $KERNELARCH" # mac? # echo "Building Mac initrd" # makeinitrd --initrdto $TOPDESTPATH/images/ramdisk.image.gz \ # --initrdsize 8192 \ # --loaderbin loader \ # --modules "nfs fat vfat cramfs $NETMODULES $SCSIMODULES $IDEMODS $ISOMODULES" fi } makeSecondStage() { makeinstimage "netstg" "$SECSTAGE $SCSIMODULES $IDEMODS" makeinstimage "hdstg" "$SECSTAGE $NETMODULES $IDEMODS" makemainmodules "$SECSTAGE $NETMODULES $SCSIMODULES $IDEMODS" makemainimage "stage2" "cramfs" }