snapshot: 20031222
source_subpath: default-amd64-1.4/stage3-amd64-20031221
livecd/packages:
+ >=sys-apps/baselayout-1.8.6.12-r4
irssi
livecd/use:
-X
-gtk
+ livecd
boot/kernel: gentoo
boot/kernel/gentoo/sources: =sys-kernel/gentoo-dev-sources-2.6.0
boot/kernel/gentoo/config: /home/drobbins/cvs/gentoo/src/catalyst/kconfig/config-2.6.0-amd64
-livecd/runscript: /home/drobbins/cvs/gentoo/src/catalyst/examples/x86-livecd-stage3-runscript.sh
-
+livecd/cdfstype: zisofs
+livecd/cdtar: /home/drobbins/cvs/gentoo/src/catalyst/examples/isolinux-2.08-cdtar.tar.bz2
+livecd/runscript: /home/drobbins/cvs/gentoo/src/catalyst/examples/runscript.sh
+livecd/archscript: /home/drobbins/cvs/gentoo/src/catalyst/examples/x86-archscript.sh
+livecd/unmerge:
+ autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages
+ sash bison flex gettext texinfo ccache addpatches man groff lib-compat gcc python miscfiles ucl
+livecd/empty:
+ /var/tmp
+ /var/cache
+ /var/db
+ /var/empty
+ /var/cache
+ /var/lock
+ /tmp
+ /usr/portage
+ /usr/share/man
+ /usr/share/info
+ /usr/share/unimaps
+ /usr/include
+ /usr/share/zoneinfo
+ /usr/share/dict
+ /usr/share/doc
+ /usr/share/ss
+ /usr/share/state
+ /usr/share/texinfo
+ /usr/lib/python2.2
+ /usr/lib/portage
+ /usr/share/gettext
+ /usr/share/i18n
+ /usr/share/rfc
+ /usr/X11R6/man
+ /usr/X11R6/include
+ /usr/X11R6/lib/X11/config
+ /usr/X11R6/lib/X11/etc
+ /usr/X11R6/lib/X11/doc
+ /usr/src
+ /usr/share/doc
+ /usr/share/man
+livecd/rm:
+ /lib/*.a
+ /usr/lib/*.a
+ /usr/lib/gcc-lib/*/*/libgcj*
+ /usr/X11R6/lib/*.a
+++ /dev/null
-subarch: amd64
-version_stamp: 20031222
-target: livecd-stage3
-rel_type: default
-rel_version: 1.4
-snapshot: 20031222
-source_subpath: default-amd64-1.4/livecd-stage2-amd64-20031222
-boot/kernel: gentoo
-livecd/cdtar: /home/drobbins/cvs/gentoo/src/catalyst/examples/isolinux-2.08-cdtar.tar.bz2
-livecd/runscript: /home/drobbins/cvs/gentoo/src/catalyst/examples/x86-livecd-stage3-runscript.sh
-livecd/unmerge:
- autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages
- sash bison flex gettext texinfo ccache addpatches man groff lib-compat gcc python miscfiles ucl
-livecd/empty:
- /var/tmp
- /var/cache
- /var/db
- /var/empty
- /var/cache
- /var/lock
- /tmp
- /usr/portage
- /usr/share/man
- /usr/share/info
- /usr/share/unimaps
- /usr/include
- /usr/share/zoneinfo
- /usr/share/dict
- /usr/share/doc
- /usr/share/ss
- /usr/share/state
- /usr/share/texinfo
- /usr/lib/python2.2
- /usr/lib/portage
- /usr/share/gettext
- /usr/share/i18n
- /usr/share/rfc
- /usr/X11R6/man
- /usr/X11R6/include
- /usr/X11R6/lib/X11/config
- /usr/X11R6/lib/X11/etc
- /usr/X11R6/lib/X11/doc
- /usr/src
- /usr/share/doc
- /usr/share/man
-livecd/rm:
- /lib/*.a
- /usr/lib/*.a
- /usr/lib/gcc-lib/*/*/libgcj*
- /usr/X11R6/lib/*.a
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/default-runscript.sh,v 1.7 2004/01/18 21:24:28 brad_mssw Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/default-runscript.sh,v 1.8 2004/01/20 22:24:39 drobbins Exp $
-# Section has been handled, do not execute additional scripts
+#return codes to be used by archscript
RETURN_GOOD=0
-# An error has occurred
RETURN_BAD=1
-# Should continue
RETURN_CONTINUE=2
die() {
exit $RETURN_BAD
}
-#Here is how the livecd runscript works:
-
-# livecd-stage2 begins. The "run" part of this script is executed, which is used to build
-# kernels and copy any needed binaries to /tmp/binaries. The arguments passed to this
-# runscript are "run <numkernels> <kname1> <ksource1> <kname2> <ksource2> ...". For example,
-# the args might be "run 2 gentoo =sys-kernel/gentoo-dev-sources-2.6.1 smp
-# =sys-kernel/foo-sources-2.4.24". The kernel configs for each kernel can be found already
-# copied to /var/tmp/<kname>.config.
-
-# livecd-stage2 ends.
-# livecd-stage3 begins.
-
-# runscript: preclean executes (with bind mounts still mounted)
-# catalyst: do livecd/unmerge (with bind mounts still mounted)
-# catalyst: bind mounts unmounted
-# catalyst: do livecd/empty
-# catalyst: do livecd/delete
-# runscript: livecd/clean
-# runscript: cdroot_setup
-
-# livecd-stage3 completes.
-# Set default looptype to zisofs
-
-if [ "${LOOPTYPE}" == "" ]
-then
- LOOPTYPE="zisofs"
-fi
-
-export LOOPTYPE
-
-if [ "${LOOPTYPE}" = "zisofs" ]
-then
- loop_opts="looptype=zisofs loop=/zisofs"
-elif [ "${LOOPTYPE}" = "normal" ]
-then
- loop_opts="looptype=normal loop=/livecd.loop"
-elif [ "${LOOPTYPE}" = "noloop" ]
-then
- # no loop at all wanted, just a raw copy on a cd
- loop_opts="looptype=noloop"
-fi
-# loop options to be passed to the kernel
-export loop_opts
-
-if [ "${ARCH_RUNSCRIPT}" == "" -o ! -f "${ARCH_RUNSCRIPT}" ]
-then
- die "ARCH_RUNSCRIPT NOT DEFINED OR NOT FOUND"
-fi
-
-/bin/bash ${ARCH_RUNSCRIPT} $*
+case $clst_livecd_cdfstype in
+zisofs)
+ cmdline_opts="looptype=zisofs loop=/zisofs"
+ ;;
+normal)
+ cmdline_opts="looptype=normal loop=/livecd.loop"
+ ;;
+noloop)
+ cmdline_opts="looptype=noloop"
+ ;;
+esac
+export cmdline_opts
+
+/bin/bash ${clst_livecd_archscript} $*
RET="$?"
-if [ "${RET}" != "${RETURN_CONTINUE}" ]
-then
- if [ "${RET}" -eq "0" ]
- then
- echo "${ARCH_RUNSCRIPT} finished successfully, don\'t have to run default commands"
- exit 0
- else
- echo "${ARCH_RUNSCRIPT} errored out, not continuing"
- exit 1
- fi
-else
- echo "${ARCH_RUNSCRIPT} finished successfully, running default commands"
-fi
+[ "${RET}" = "0" ] && exit 0
+[ "${RET}" = "1" ] && exit 1
+# if $RET is 2, then we continue and run the runscript portion as well.
create_normal_loop()
{
}
case $1 in
- kernbuild)
+ kernel)
shift
numkernels="$1"
shift
count=0
+ install -d /tmp/binaries
while [ $count -lt $numkernels ]
do
clst_kname="$1"
exit $RETURN_GOOD
;;
- setupfs)
+ preclean)
$clst_CHROOT $clst_chroot_path /bin/bash << EOF
# SCRIPT TO UPDATE FILESYSTEM SPECIFIC FOR LIVECD. THIS GETS EXECUTED IN CHROOT
env-update
exit $RETURN_GOOD
;;
- preclean)
- #preclean runs with bind mounts active -- for running any commands inside chroot.
- #The chroot environment has not been trimmed in any way, so you still have a full
- #environment.
- # This below doesn't seem to get honored
- #$clst_CHROOT $clst_chroot_path /bin/bash << EOF
- # echo "CDBOOT=1" >> /etc/rc.conf
- #EOF
- #[ $? -ne 0 ] && exit $RETURN_BAD
- exit $RETURN_GOOD
- ;;
-
clean)
- #livecd/unmerge, bind-unmount, and livecd/{empty,delete,prune}
- #have already executed at this point. You now have the opportunity to perform
- #any additional cleaning steps that may be required.
-
find $clst_chroot_path/usr/lib -iname "*.pyc" -exec rm -f {} \;
exit $RETURN_GOOD
;;
- setup_bootloader)
- #Time to create a filesystem tree for the ISO at $clst_cdroot_path.
- #We extract the "cdtar" to this directory, which will normally contains a pre-built
- #binary boot-loader/filesystem skeleton for the ISO.
+ bootloader)
exit $RETURN_GOOD
;;
- loop)
+ cdfs)
loopret=1
- if [ "${LOOPTYPE}" = "normal" ]
+ if [ "${clst_livecd_cdfstype}" = "normal" ]
then
create_normal_loop
loopret=$?
- elif [ "${LOOPTYPE}" = "zisofs" ]
+ elif [ "${clst_livecd_cdfstype}" = "zisofs" ]
then
create_zisofs
loopret=$?
- elif [ "${LOOPTYPE}" = "noloop" ]
+ elif [ "${clst_livecd_cdfstype}" = "noloop" ]
then
create_noloop
loopret=$?
exit $loopret
;;
- iso_create)
- #this is for the livecd-final target, and calls the proper command to build the iso file
+ iso)
exit $RETURN_GOOD
;;
esac
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/sparc64-archscript.sh,v 1.1 2004/01/20 20:01:41 drobbins Exp $
-
-# Section has been handled, do not execute additional scripts
-RETURN_GOOD=0
-# An error has occurred
-RETURN_BAD=1
-# This script executed properly, continue with additional scripts
-RETURN_CONTINUE=2
-
-die() {
- echo "$1"
- exit $RETURN_BAD
-}
+# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/sparc64-archscript.sh,v 1.2 2004/01/20 22:24:39 drobbins Exp $
case $1 in
- kernbuild)
- echo "no generic process for sparc64, continuing"
- exit $RETURN_CONTINUE
- ;;
-
- setupfs)
- echo "no generic process for sparc64, continuing"
+ kernel)
exit $RETURN_CONTINUE
;;
preclean)
- echo "no generic process for sparc64, continuing"
- exit 2
+ exit $RETURN_CONTINUE
;;
clean)
- echo "no generic process for sparc64, continuing"
exit $RETURN_CONTINUE
;;
- setup_bootloader)
- # LOOPTYPE should be exported from default runscript, we use
- # it to determine kernel args
- if [ "${LOOPTYPE}" = "zisofs" ]
- then
- loop_opts="looptype=zisofs loop=/zisofs"
- elif [ "${LOOPTYPE}" = "normal" ]
- then
- loop_opts="looptype=normal loop=/livecd.loop"
- elif [ "${LOOPTYPE}" = "noloop" ]
- then
- # no loop at all wanted, just a raw copy on a cd
- loop_opts="looptype=noloop"
- fi
-
+ bootloader)
# Time to create a filesystem tree for the ISO at
# $clst_cdroot_path. We extract the "cdtar" to this directory,
# which will normally contains a pre-built binary
#grab name of first kernel
first="$x"
fi
- if [ ! -e "$clst_binaries_source_path/$x.tar.bz2" ]
+ if [ ! -e "/tmp/binaries/$x.tar.bz2" ]
then
- echo "Can't find kernel tarball at $clst_binaries_source_path/$x.tar.bz2"
+ echo "Can't find kernel tarball at /tmp/binaries/$x.tar.bz2"
exit 1
fi
- tar xjvf $clst_binaries_source_path/$x.tar.bz2 -C \
+ tar xjvf /tmp/binaries/$x.tar.bz2 -C \
$clst_cdroot_path/boot
# change kernel name from "kernel" to "gentoo", for
# example
echo >> $icfg
echo "image=\"/boot/$x\"" >> $scfg
echo -e "\tlabel=\"$x\"" >> $scfg
- echo -e "\tappend=\"initrd=/boot/$x.igz root=/dev/ram0 init=/linuxrc ${loop_opts} cdroot\"" >> $scfg
+ echo -e "\tappend=\"initrd=/boot/$x.igz root=/dev/ram0 init=/linuxrc ${cmdline_opts} cdroot\"" >> $scfg
done
exit $RETURN_CONTINUE
;;
- loop)
- echo "no generic process for sparc64, continuing"
+ cdfs)
exit $RETURN_CONTINUE
;;
- iso_create)
+ iso)
# this is for the livecd-final target, and calls the proper
# command to build the iso file
mkisofs -J -R -l -o ${clst_iso_path} -G /boot/isofs.b -B ... \
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/x86-archscript.sh,v 1.1 2004/01/20 20:01:41 drobbins Exp $
-
-# Section has been handled, do not execute additional scripts
-RETURN_GOOD=0
-# An error has occurred
-RETURN_BAD=1
-# This script executed properly, continue with additional scripts
-RETURN_CONTINUE=2
-
-die() {
- echo "$1"
- exit $RETURN_BAD
-}
+# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/x86-archscript.sh,v 1.2 2004/01/20 22:24:39 drobbins Exp $
case $1 in
- kernbuild)
- echo "no generic process for x86, continuing"
- exit $RETURN_CONTINUE
- ;;
-
- setupfs)
- echo "no generic process for x86, continuing"
+ kernel)
exit $RETURN_CONTINUE
;;
preclean)
- echo "no generic process for x86, continuing"
- exit 2
+ exit $RETURN_CONTINUE
;;
clean)
- echo "no generic process for x86, continuing"
exit $RETURN_CONTINUE
;;
- setup_bootloader)
- # LOOPTYPE and loop_opts are exported from the default
+ bootloader)
+ # CDFSTYPE and loop_opts are exported from the default
# runscript
- #Time to create a filesystem tree for the ISO at $clst_cdroot_path.
- #We extract the "cdtar" to this directory, which will normally contains a pre-built
- #binary boot-loader/filesystem skeleton for the ISO.
+ # Time to create a filesystem tree for the ISO at $clst_cdroot_path.
+ # We extract the "cdtar" to this directory, which will normally contains a pre-built
+ # binary boot-loader/filesystem skeleton for the ISO.
cdtar=$clst_livecd_cdtar
[ "$cdtar" = "" ] && die "No livecd/cdtar specified (required)"
#grab name of first kernel
first="$x"
fi
- if [ ! -e "$clst_binaries_source_path/$x.tar.bz2" ]
+ if [ ! -e "/tmp/binaries/$x.tar.bz2" ]
then
- echo "Can't find kernel tarball at $clst_binaries_source_path/$x.tar.bz2"
+ echo "Can't find kernel tarball at /tmp/binaries/$x.tar.bz2"
exit 1
fi
- tar xjvf $clst_binaries_source_path/$x.tar.bz2 -C $clst_cdroot_path/isolinux
+ tar xjvf /tmp/binaries/$x.tar.bz2 -C $clst_cdroot_path/isolinux
#change kernel name from "kernel" to "gentoo", for example
mv $clst_cdroot_path/isolinux/kernel $clst_cdroot_path/isolinux/$x
#change initrd name from "initrd" to "gentoo.igz", for example
exit $RETURN_CONTINUE
;;
- loop)
+ cdfs)
echo "no generic process for x86, continuing"
exit $RETURN_CONTINUE
;;
- iso_create)
+ iso)
#this is for the livecd-final target, and calls the proper command to build the iso file
mkisofs -J -R -l -o ${clst_iso_path} -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table $clst_cdroot_path
+++ /dev/null
-# Copyright 1999-2004 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/examples/livecd/runscript/Attic/x86-isolinux-loop-example.sh,v 1.7 2004/01/13 05:59:51 brad_mssw Exp $
-
-die() {
- echo "$1"
- exit 1
-}
-
-#Here is how the livecd runscript works:
-
-# livecd-stage2 begins. The "run" part of this script is executed, which is used to build
-# kernels and copy any needed binaries to /tmp/binaries. The arguments passed to this
-# runscript are "run <numkernels> <kname1> <ksource1> <kname2> <ksource2> ...". For example,
-# the args might be "run 2 gentoo =sys-kernel/gentoo-dev-sources-2.6.1 smp
-# =sys-kernel/foo-sources-2.4.24". The kernel configs for each kernel can be found already
-# copied to /var/tmp/<kname>.config.
-
-# livecd-stage2 ends.
-# livecd-stage3 begins.
-
-# runscript: preclean executes (with bind mounts still mounted)
-# catalyst: do livecd/unmerge (with bind mounts still mounted)
-# catalyst: bind mounts unmounted
-# catalyst: do livecd/empty
-# catalyst: do livecd/delete
-# runscript: livecd/clean
-# runscript: cdroot_setup
-
-# livecd-stage3 completes.
-
-case $1 in
-run)
- shift
- numkernels="$1"
- shift
- count=0
- while [ $count -lt $numkernels ]
- do
- clst_kname="$1"
- shift
- clst_ksource="$1"
- shift
- $clst_CHROOT $clst_chroot_path /bin/bash << EOF
-env-update
-source /etc/profile
-export CONFIG_PROTECT="-*"
-emerge genkernel
-rm -f /usr/src/linux
-export USE="-* build"
-if [ -n "${clst_PKGCACHE}" ]
-then
- emerge --usepkg --buildpkg --noreplace $clst_ksource || exit 1
-else
- emerge --noreplace $clst_ksource || exit 1
-fi
-genkernel --no-bootsplash --kerneldir=/usr/src/linux --kernel-config=/var/tmp/$clst_kname.config --minkernpackage=/tmp/binaries/$clst_kname.tar.bz2 all || exit 1
-emerge -C genkernel $clst_ksource
-EOF
- [ $? -ne 0 ] && exit 1
- count=$(( $count + 1 ))
- done
-
-# Setup all runtime filesystem stuff
- $clst_CHROOT $clst_chroot_path /bin/bash << EOF
-env-update
-source /etc/profile
-rc-update del iptables default
-rc-update del netmount default
-rc-update add hotplug default
-rc-update add kudzu default
-rc-update del keymaps
-rc-update del consolefont
-rc-update add metalog default
-rm -rf /etc/localtime
-cp /usr/share/zoneinfo/GMT /etc/localtime
-echo "livecd" > /etc/hostname
-sed -i -e 's:^/dev/[RBS]*::' /etc/fstab
-sed -i -e '/dev-state/ s/^/#/' /etc/devfsd.conf
-EOF
-
- ;;
-preclean)
- #preclean runs with bind mounts active -- for running any commands inside chroot.
- #The chroot environment has not been trimmed in any way, so you still have a full
- #environment.
- $clst_CHROOT $clst_chroot_path /bin/bash << EOF
- echo "CDBOOT=1" >> /etc/rc.conf
-EOF
- [ $? -ne 0 ] && exit 1
-;;
-clean)
- #livecd/unmerge, bind-unmount, and livecd/{empty,delete,prune}
- #have already executed at this point. You now have the opportunity to perform
- #any additional cleaning steps that may be required.
- find $clst_chroot_path/usr/lib -iname "*.pyc" -exec rm -f {} \;
- ;;
-cdroot_setup)
- #Time to create a filesystem tree for the ISO at $clst_cdroot_path.
- #We extract the "cdtar" to this directory, which will normally contains a pre-built
- #binary boot-loader/filesystem skeleton for the ISO. Then we get genkernel-built
- #kernels and initrds in place, create the loopback fs on $clst_cdroot_path,
- #mount it, copy our bootable filesystem over, umount it, and we then have a
- #ready-to-burn ISO tree at $clst_cdroot_path.
-
- cdtar=$clst_livecd_cdtar
- [ "$cdtar" = "" ] && die "No livecd/cdtar specified (required)"
- tar xjpvf $cdtar -C $clst_cdroot_path || die "Couldn't extract cdtar $cdtar"
- if [ "$clst_boot_kernel" = "" ]
- then
- echo "No boot/kernel setting defined, exiting."
- exit 1
- fi
- first=""
- for x in $clst_boot_kernel
- do
- if [ "$first" = "" ]
- then
- #grab name of first kernel
- first="$x"
- fi
- if [ ! -e "$clst_binaries_source_path/$x.tar.bz2" ]
- then
- echo "Can't find kernel tarball at $clst_binaries_source_path/$x.tar.bz2"
- exit 1
- fi
- tar xjvf $clst_binaries_source_path/$x.tar.bz2 -C $clst_cdroot_path/isolinux
- #change kernel name from "kernel" to "gentoo", for example
- mv $clst_cdroot_path/isolinux/kernel $clst_cdroot_path/isolinux/$x
- #change initrd name from "initrd" to "gentoo.igz", for example
- mv $clst_cdroot_path/isolinux/initrd $clst_cdroot_path/isolinux/$x.igz
- done
- icfg=$clst_cdroot_path/isolinux/isolinux.cfg
- echo "default $first" > $icfg
- for x in $clst_boot_kernel
- do
- echo >> $icfg
- echo "label $x" >> $icfg
- echo " kernel $x" >> $icfg
- echo " append initrd=$x.igz root=/dev/ram0 init=/linuxrc loop=/livecd.loop cdroot" >> $icfg
- done
- #OK, now we need to prepare the loopback filesystem that we'll be booting. This is
- #tricky.
- echo "Calculating size of loopback filesystem..."
- loopsize=`du -ks $clst_chroot_path | cut -f1`
- [ "$loopsize" = "0" ] && loopsize=1
- #increase the size by 1/3, then divide by 4 to get 4k blocks
- loopsize=$(( ( $loopsize + ( $loopsize / 2 ) ) / 4 ))
- echo "Creating loopback file..."
- dd if=/dev/zero of=$clst_cdroot_path/livecd.loop bs=4k count=$loopsize || die "livecd.loop creation failure"
- #echo "Calculating number of inodes required for ext2 filesystem..."
- #numnodes=`find $clst_chroot_path | wc -l`
- #numnodes=$(( $numnodes + 200 ))
- mke2fs -m 0 -F -b 4096 -q $clst_cdroot_path/livecd.loop || die "Couldn't create ext2 filesystem"
- install -d $clst_cdroot_path/loopmount
- sync; sync; sleep 3 #try to work around 2.6.0+ loopback bug
- mount -t ext2 -o loop $clst_cdroot_path/livecd.loop $clst_cdroot_path/loopmount || die "Couldn't mount loopback ext2 filesystem"
- sync; sync; sleep 3 #try to work around 2.6.0+ loopback bug
- echo "cp -a $clst_chroot_path/* $clst_cdroot_path/loopmount"
- cp -a $clst_chroot_path/* $clst_cdroot_path/loopmount
-
- [ $? -ne 0 ] && { umount $clst_cdroot_path/loopmount; die "Couldn't copy files to loopback ext2 filesystem"; }
- umount $clst_cdroot_path/loopmount || die "Couldn't unmount loopback ext2 filesystem"
- rm -rf $clst_cdroot_path/loopmount
- #now, $clst_cdroot_path should contain a proper bootable image for our iso, including
- #boot loader and loopback filesystem.
- ;;
-iso_create)
- #this is for the livecd-final target, and calls the proper command to build the iso file
- mkisofs -J -R -l -o ${clst_iso_path} -b isolinux/isolinux.bin -c isolinux/boot.cat \
- -no-emul-boot -boot-load-size 4 -boot-info-table $clst_cdroot_path
- ;;
-esac
-exit 0
livecd/use:
-X
-gtk
+ livecd
livecd/packages:
>=sys-apps/baselayout-1.8.6.12-r4
module-init-tools
rel_version: 1.4
snapshot: 20040111
source_subpath: default-sparc64-1.4/livecd-stage1-sparc64-20040111
-livecd/looptype: normal
+livecd/cdfstype: normal
livecd/archscript: examples/livecd/runscript/sparc64-archscript.sh
livecd/runscript: examples/livecd/runscript/default-runscript.sh
+livecd/cdtar: examples/livecd/cdtar/silo-1.3.1-cdtar.tar.bz2
boot/kernel: gentoo
boot/kernel/gentoo/sources: =sys-kernel/vanilla-sources-2.4.24
boot/kernel/gentoo/config: examples/livecd/sparc64/config-2.4.24-sparc64
+livecd/unmerge:
+ autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages
+ sash bison flex gettext texinfo ccache addpatches man groff lib-compat gcc python miscfiles ucl
+livecd/empty:
+ /var/tmp
+ /var/cache
+ /var/db
+ /var/empty
+ /var/cache
+ /var/lock
+ /tmp
+ /usr/portage
+ /usr/share/man
+ /usr/share/info
+ /usr/share/unimaps
+ /usr/include
+ /usr/share/zoneinfo
+ /usr/share/dict
+ /usr/share/doc
+ /usr/share/ss
+ /usr/share/state
+ /usr/share/texinfo
+ /usr/lib/python2.2
+ /usr/lib/portage
+ /usr/share/gettext
+ /usr/share/i18n
+ /usr/share/rfc
+ /usr/X11R6/man
+ /usr/X11R6/include
+ /usr/X11R6/lib/X11/config
+ /usr/X11R6/lib/X11/etc
+ /usr/X11R6/lib/X11/doc
+ /usr/src
+ /usr/share/doc
+ /usr/share/man
+livecd/rm:
+ /lib/*.a
+ /usr/lib/*.a
+ /usr/lib/gcc-lib/*/*/libgcj*
+ /usr/X11R6/lib/*.a
+++ /dev/null
-subarch: sparc64
-version_stamp: 20040111
-target: livecd-stage3
-rel_type: default
-rel_version: 1.4
-snapshot: 20040111
-source_subpath: default-sparc64-1.4/livecd-stage2-sparc64-20040111
-boot/kernel: gentoo
-livecd/looptype: normal
-livecd/archscript: examples/livecd/runscript/sparc64-archscript.sh
-livecd/runscript: examples/livecd/runscript/default-runscript.sh
-livecd/cdtar: examples/livecd/cdtar/silo-1.3.1-cdtar.tar.bz2
-livecd/unmerge:
- autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages
- sash bison flex gettext texinfo ccache addpatches man groff lib-compat gcc python miscfiles ucl
-livecd/empty:
- /var/tmp
- /var/cache
- /var/db
- /var/empty
- /var/cache
- /var/lock
- /tmp
- /usr/portage
- /usr/share/man
- /usr/share/info
- /usr/share/unimaps
- /usr/include
- /usr/share/zoneinfo
- /usr/share/dict
- /usr/share/doc
- /usr/share/ss
- /usr/share/state
- /usr/share/texinfo
- /usr/lib/python2.2
- /usr/lib/portage
- /usr/share/gettext
- /usr/share/i18n
- /usr/share/rfc
- /usr/X11R6/man
- /usr/X11R6/include
- /usr/X11R6/lib/X11/config
- /usr/X11R6/lib/X11/etc
- /usr/X11R6/lib/X11/doc
- /usr/src
- /usr/share/doc
- /usr/share/man
-livecd/rm:
- /lib/*.a
- /usr/lib/*.a
- /usr/lib/gcc-lib/*/*/libgcj*
- /usr/X11R6/lib/*.a
livecd/use:
-X
-gtk
+ livecd
livecd/packages:
>=sys-apps/baselayout-1.8.6.12-r4
kudzu
livecd/looptype: normal
livecd/archscript: examples/livecd/runscript/x86-archcript.sh
livecd/runscript: examples/livecd/runscript/default-runscript.sh
+livecd/cdtar: examples/livecd/cdtar/isolinux-2.08-cdtar.tar.bz2
boot/kernel: gentoo
boot/kernel/gentoo/sources: =sys-kernel/gentoo-dev-sources-2.6.1-r1
boot/kernel/gentoo/config: examples/livecd/x86/config-2.6.1-x86
+livecd/unmerge:
+ autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages
+ sash bison flex gettext texinfo ccache addpatches man groff lib-compat gcc python miscfiles ucl
+livecd/empty:
+ /var/tmp
+ /var/cache
+ /var/db
+ /var/empty
+ /var/cache
+ /var/lock
+ /tmp
+ /usr/portage
+ /usr/share/man
+ /usr/share/info
+ /usr/share/unimaps
+ /usr/include
+ /usr/share/zoneinfo
+ /usr/share/dict
+ /usr/share/doc
+ /usr/share/ss
+ /usr/share/state
+ /usr/share/texinfo
+ /usr/lib/python2.2
+ /usr/lib/portage
+ /usr/share/gettext
+ /usr/share/i18n
+ /usr/share/rfc
+ /usr/X11R6/man
+ /usr/X11R6/include
+ /usr/X11R6/lib/X11/config
+ /usr/X11R6/lib/X11/etc
+ /usr/X11R6/lib/X11/doc
+ /usr/src
+ /usr/share/doc
+ /usr/share/man
+livecd/rm:
+ /lib/*.a
+ /usr/lib/*.a
+ /usr/lib/gcc-lib/*/*/libgcj*
+ /usr/X11R6/lib/*.a
+++ /dev/null
-subarch: x86
-version_stamp: 20040114
-target: livecd-stage3
-rel_type: default
-rel_version: 1.4
-snapshot: 20040114
-source_subpath: default-x86-1.4/livecd-stage2-x86-20040114
-boot/kernel: gentoo
-livecd/looptype: normal
-livecd/archscript: examples/livecd/runscript/x86-archscript.sh
-livecd/runscript: examples/livecd/runscript/default-runscript.sh
-livecd/cdtar: examples/livecd/cdtar/isolinux-2.08-cdtar.tar.bz2
-livecd/unmerge:
- autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages
- sash bison flex gettext texinfo ccache addpatches man groff lib-compat gcc python miscfiles ucl
-livecd/empty:
- /var/tmp
- /var/cache
- /var/db
- /var/empty
- /var/cache
- /var/lock
- /tmp
- /usr/portage
- /usr/share/man
- /usr/share/info
- /usr/share/unimaps
- /usr/include
- /usr/share/zoneinfo
- /usr/share/dict
- /usr/share/doc
- /usr/share/ss
- /usr/share/state
- /usr/share/texinfo
- /usr/lib/python2.2
- /usr/lib/portage
- /usr/share/gettext
- /usr/share/i18n
- /usr/share/rfc
- /usr/X11R6/man
- /usr/X11R6/include
- /usr/X11R6/lib/X11/config
- /usr/X11R6/lib/X11/etc
- /usr/X11R6/lib/X11/doc
- /usr/src
- /usr/share/doc
- /usr/share/man
-livecd/rm:
- /lib/*.a
- /usr/lib/*.a
- /usr/lib/gcc-lib/*/*/libgcj*
- /usr/X11R6/lib/*.a
self.settings["target_path"]=st+"/builds/"+self.settings["target_subpath"]
self.settings["source_path"]=st+"/builds/"+self.settings["source_subpath"]+".tar.bz2"
elif self.settings["target"] == "livecd-stage2":
- #we have a main directory and a tarball in this case
- #making these directories before we clean doesn't make sense:
- #os.makedirs(st+"/builds/"+self.settings["target_subpath"])
- self.settings["binaries_target_path"]=st+"/builds/"+self.settings["target_subpath"]+"/binaries"
- self.settings["target_path"]=st+"/builds/"+self.settings["target_subpath"]+"/"+self.settings["target_subpath"]+".tar.bz2"
self.settings["source_path"]=st+"/builds/"+self.settings["source_subpath"]+".tar.bz2"
- elif self.settings["target"]=="livecd-stage3":
- self.settings["cdroot_path"]=st+"/builds/"+self.settings["target_subpath"]+"/cdroot"
- #making these directories before we clean doesn't make sense:
- #if not os.path.exists(self.settings["target_path"]):
- # os.makedirs(self.settings["target_path"])
- #if not os.path.exists(self.settings["cdroot_path"]):
- # os.makedirs(self.settings["cdroot_path"])
- self.settings["binaries_source_path"]=st+"/builds/"+self.settings["source_subpath"]+"/binaries"
- self.settings["source_path"]=st+"/builds/"+self.settings["source_subpath"]+"/"+self.settings["source_subpath"]+".tar.bz2"
+ self.settings["cdroot_path"]=st+"/builds/"+self.settings["target_subpath"]
else:
self.settings["target_path"]=st+"/builds/"+self.settings["target_subpath"]+".tar.bz2"
self.settings["source_path"]=st+"/builds/"+self.settings["source_subpath"]+".tar.bz2"
if self.settings["target"]=="grp":
self.mounts.append("/tmp/grp")
self.mountmap["/tmp/grp"]=self.settings["target_path"]
- if self.settings["target"]=="livecd-stage2":
- self.mounts.append("/tmp/binaries")
- self.mountmap["/tmp/binaries"]=self.settings["binaries_target_path"]
def mount_safety_check(self):
mypath=self.settings["chroot_path"]
os.environ[varname]=string.join(self.settings[x])
self.run_local()
- if self.settings["target"] in ["livecd-stage3"]:
- self.setupfs()
- if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage3"]:
+ if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage2"]:
self.preclean()
- if self.settings["target"] in ["livecd-stage3"]:
+ if self.settings["target"] in ["livecd-stage2"]:
self.unmerge()
self.unbind()
- if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage3"]:
+ if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage2"]:
#clean is for removing things after bind-mounts are unmounted (general file removal and cleanup)
self.clean()
- if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage1","livecd-stage2"]:
+ if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage1"]:
self.capture()
- if self.settings["target"] in ["livecd-stage3"]:
+ if self.settings["target"] in ["livecd-stage2"]:
self.cdroot_setup()
class snapshot_target(generic_target):
class livecd_stage2_target(generic_stage_target):
def __init__(self,spec,addlargs):
- self.required_values=["boot/kernel","livecd/looptype","livecd/archscript","livecd/runscript"]
+ self.required_values=["boot/kernel","livecd/cdfstype","livecd/archscript","livecd/runscript"]
+ if self.settings.has_key("livecd/cdtar"):
+ if not os.path.exists(self.settings["livecd/cdtar"]):
+ raise CatalystError, "Cannot locate specified livecd/cdtar: "+self.settings["livecd/cdtar"]
+ if not os.path.exists(self.settings["livecd/runscript"]):
+ raise CatalystError, "Cannot locate specified livecd/runscript: "+self.settings["livecd/runscript"]
+ if not os.path.exists(self.settings["livecd/archscript"]):
+ raise CatalystError, "Cannot locate specified livecd/archscript: "+self.settings["livecd/archscript"]
if not addlargs.has_key("boot/kernel"):
raise CatalystError, "Required value boot/kernel not specified."
if type(addlargs["boot/kernel"]) == types.StringType:
self.required_values.append("boot/kernel/"+x+"/sources")
self.required_values.append("boot/kernel/"+x+"/config")
self.valid_values=self.required_values[:]
- generic_stage_target.__init__(self,spec,addlargs)
-
- def run_local(self):
- mynames=self.settings["boot/kernel"]
- if type(mynames)==types.StringType:
- mynames=[mynames]
- args=[]
- args.append(`len(mynames)`)
- for x in mynames:
- args.append(x)
- args.append(self.settings["boot/kernel/"+x+"/sources"])
- if not os.path.exists(self.settings["boot/kernel/"+x+"/config"]):
- self.unbind()
- raise CatalystError, "Can't find kernel config: "+self.settings["boot/kernel/"+x+"/config"]
- retval=os.system("cp "+self.settings["boot/kernel/"+x+"/config"]+" "+self.settings["chroot_path"]+"/var/tmp/"+x+".config")
- if retval!=0:
- self.unbind()
- raise CatalystError, "Couldn't copy kernel config: "+self.settings["boot/kernel/"+x+"/config"]
- try:
- cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archscript"]+" LOOPTYPE="+self.settings["livecd/looptype"]+" /bin/bash "+self.settings["livecd/runscript"]+" kernbuild "+list_bashify(args),"runscript kernbuild failed")
- except CatalystError:
- self.unbind()
- raise CatalystError,"livecd-stage2 build aborting due to error."
-
-class livecd_stage3_target(generic_stage_target):
- def __init__(self,spec,addlargs):
- self.required_values=["boot/kernel","livecd/looptype","livecd/archscript","livecd/runscript"]
- self.valid_values=self.required_values[:]
self.valid_values.extend(["livecd/cdtar","livecd/empty","livecd/rm","livecd/unmerge"])
generic_stage_target.__init__(self,spec,addlargs)
- if self.settings.has_key("livecd/cdtar"):
- if not os.path.exists(self.settings["livecd/cdtar"]):
- raise CatalystError, "Cannot locate specified livecd/cdtar: "+self.settings["livecd/cdtar"]
- if not os.path.exists(self.settings["livecd/runscript"]):
- raise CatalystError, "Cannot locate specified livecd/runscript: "+self.settings["livecd/runscript"]
- if not os.path.exists(self.settings["livecd/archscript"]):
- raise CatalystError, "Cannot locate specified livecd/archscript: "+self.settings["livecd/archscript"]
-
+
def unmerge(self):
- if self.settings["target"]=="livecd-stage3" and self.settings.has_key("livecd/unmerge"):
+ if self.settings.has_key("livecd/unmerge"):
if type(self.settings["livecd/unmerge"])==types.StringType:
self.settings["livecd/unmerge"]=[self.settings["livecd/unmerge"]]
myunmerge=self.settings["livecd/unmerge"][:]
#before cleaning, unmerge stuff:
cmd("/bin/bash "+self.settings["sharedir"]+"/targets/"+self.settings["target"]+"/unmerge.sh "+myunmerge,"unmerge script failed.")
- def run_local(self):
- pass
-
def setupfs(self):
try:
- cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archscript"]+" LOOPTYPE="+self.settings["livecd/looptype"]+" /bin/bash "+self.settings["livecd/runscript"]+" setupfs","setupfs runscript failed.")
+ cmd("/bin/bash "+self.settings["livecd/runscript"]+" cdfs","cdfs runscript failed.")
except:
self.unbind()
raise
def preclean(self):
try:
- cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archscript"]+" LOOPTYPE="+self.settings["livecd/looptype"]+" /bin/bash "+self.settings["livecd/runscript"]+" preclean","preclean runscript failed.")
+ cmd("/bin/bash "+self.settings["livecd/runscript"]+" preclean","preclean runscript failed.")
except:
self.unbind()
raise
def clean(self):
try:
- cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archscript"]+" LOOPTYPE="+self.settings["livecd/looptype"]+" /bin/bash "+self.settings["livecd/runscript"]+" clean","clean runscript failed.")
+ cmd("/bin/bash "+self.settings["livecd/runscript"]+" clean","clean runscript failed.")
except:
self.unbind()
raise
print "creating livecd-stage3 cdroot"
os.makedirs(self.settings["cdroot_path"])
- cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archscript"]+" LOOPTYPE="+self.settings["livecd/looptype"]+" /bin/bash "+self.settings["livecd/runscript"]+" setup_bootloader","setup_bootloader runscript failed.")
- cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archscript"]+" LOOPTYPE="+self.settings["livecd/looptype"]+" /bin/bash "+self.settings["livecd/runscript"]+" loop","loop runscript failed.")
+ cmd("/bin/bash "+self.settings["livecd/runscript"]+" bootloader","bootloader runscript failed.")
+ cmd("/bin/bash "+self.settings["livecd/runscript"]+" cdfs","cdfs runscript failed.")
print "livecd-stage3: complete!"
+def run_local(self):
+ mynames=self.settings["boot/kernel"]
+ if type(mynames)==types.StringType:
+ mynames=[mynames]
+ args=[]
+ args.append(`len(mynames)`)
+ for x in mynames:
+ args.append(x)
+ args.append(self.settings["boot/kernel/"+x+"/sources"])
+ if not os.path.exists(self.settings["boot/kernel/"+x+"/config"]):
+ self.unbind()
+ raise CatalystError, "Can't find kernel config: "+self.settings["boot/kernel/"+x+"/config"]
+ retval=os.system("cp "+self.settings["boot/kernel/"+x+"/config"]+" "+self.settings["chroot_path"]+"/var/tmp/"+x+".config")
+ if retval!=0:
+ self.unbind()
+ raise CatalystError, "Couldn't copy kernel config: "+self.settings["boot/kernel/"+x+"/config"]
+ try:
+ cmd("/bin/bash "+self.settings["livecd/runscript"]+" kernel "+list_bashify(args),"runscript kernel build failed")
+ except CatalystError:
+ self.unbind()
+ raise CatalystError,"livecd-stage2 build aborting due to error."
+
+class livecd_stage3_target(generic_stage_target):
+ def __init__(self,spec,addlargs):
def register(foo):
foo.update({"stage1":stage1_target,"stage2":stage2_target,"stage3":stage3_target,
"grp":grp_target,"livecd-stage1":livecd_stage1_target,