# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.505 2006/01/13 15:00:04 rocket Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.506 2006/01/13 15:09:07 rocket Exp $
+
+ 13 Jan 2006; Eric Edgar <rocket@gentoo.org>
+ +examples/netboot2_template.spec, modules/catalyst_support.py,
+ +modules/netboot2_target.py, +targets/netboot2/netboot2-controller.sh,
+ +targets/netboot2/netboot2-copyfile.sh, +targets/netboot2/netboot2-pkg.sh,
+ +targets/support/netboot2-final.sh, targets/support/pre-kmerge.sh:
+ Add netboot2 target
13 Jan 2006; Eric Edgar <rocket@gentoo.org> modules/generic_stage_target.py,
targets/support/kmerge.sh:
--- /dev/null
+subarch: mips3
+version_stamp: 2006.0
+target: netboot2
+rel_type: default
+profile: uclibc/mips
+snapshot: 20060107
+source_subpath: default/stage3-mips-uclibc-mips3-20051026
+
+boot/kernel: ip22r4k ip22r5k ip27r10k ip28r10k ip30r10k ip32r5k
+boot/kernel/ip22r4k/sources: =mips-sources-2.6.14.5
+boot/kernel/ip22r5k/sources: =mips-sources-2.6.14.5
+boot/kernel/ip27r10k/sources: =mips-sources-2.6.14.5
+boot/kernel/ip28r10k/sources: =mips-sources-2.6.14.5
+boot/kernel/ip30r10k/sources: =mips-sources-2.6.14.5
+boot/kernel/ip32r5k/sources: =mips-sources-2.6.14.5
+
+boot/kernel/ip22r4k/config: /usr/share/genkernel/mips/ip22r4k-2006_0.cf
+boot/kernel/ip22r5k/config: /usr/share/genkernel/mips/ip22r5k-2006_0.cf
+boot/kernel/ip27r10k/config: /usr/share/genkernel/mips/ip27r10k-2006_0.cf
+boot/kernel/ip28r10k/config: /usr/share/genkernel/mips/ip28r10k-2006_0.cf
+boot/kernel/ip30r10k/config: /usr/share/genkernel/mips/ip30r10k-2006_0.cf
+boot/kernel/ip32r5k/config: /usr/share/genkernel/mips/ip32r5k-2006_0.cf
+
+boot/kernel/ip22r4k/use: -doc
+boot/kernel/ip22r5k/use: -doc
+boot/kernel/ip27r10k/use: -doc ip27
+boot/kernel/ip28r10k/use: -doc ip28
+boot/kernel/ip30r10k/use: -doc ip30
+boot/kernel/ip32r5k/use: -doc
+
+boot/kernel/ip22r4k/gk_kernargs: --kernel-cross-compile=mips-unknown-linux-gnu- --makeopts=-j2 --initramfs-overlay=/tmp/image
+boot/kernel/ip22r5k/gk_kernargs: --kernel-cross-compile=mips-unknown-linux-gnu- --makeopts=-j2 --initramfs-overlay=/tmp/image
+boot/kernel/ip27r10k/gk_kernargs: --kernel-cross-compile=mips64-unknown-linux-gnu- --makeopts=-j2 --initramfs-overlay=/tmp/image
+boot/kernel/ip28r10k/gk_kernargs: --kernel-cross-compile=mips64-unknown-linux-gnu- --makeopts=-j2 --initramfs-overlay=/tmp/image
+boot/kernel/ip30r10k/gk_kernargs: --kernel-cross-compile=mips64-unknown-linux-gnu- --makeopts=-j2 --initramfs-overlay=/tmp/image
+boot/kernel/ip32r5k/gk_kernargs: --kernel-cross-compile=mips64-unknown-linux-gnu- --makeopts=-j2 --initramfs-overlay=/tmp/image
+
+netboot2/builddate: 20060107
+netboot2/busybox_config: /usr/share/genkernel/mips/nb-busybox.cf
+
+netboot2/use:
+ -*
+ multicall
+ readline
+ ssl
+
+netboot2/packages:
+ com_err
+ dropbear
+ dvhtool
+ e2fsprogs
+ gcc-mips64
+ jfsutils
+ mdadm
+ nano
+ ncurses
+ openssl
+ popt
+ portmap
+ reiserfsprogs
+ rsync
+ sdparm
+ ss
+ ttcp
+ uclibc
+ util-linux
+ wget
+ xfsprogs
+
+netboot2/packages/com_err/files:
+ /lib/libcom_err.so
+ /lib/libcom_err.so.2
+ /lib/libcom_err.so.2.1
+ /usr/bin/compile_et
+ /usr/lib/libcom_err.so
+
+netboot2/packages/dropbear/files:
+ /usr/bin/dbclient
+ /usr/bin/dbscp
+ /usr/bin/dropbearconvert
+ /usr/bin/dropbearkey
+ /usr/bin/dropbearmulti
+ /usr/sbin/dropbear
+
+netboot2/packages/dvhtool/files:
+ /usr/sbin/dvhtool
+
+netboot2/packages/e2fsprogs/files:
+ /bin/chattr
+ /bin/lsattr
+ /bin/uuidgen
+ /lib/libblkid.so
+ /lib/libblkid.so.1
+ /lib/libblkid.so.1.0
+ /lib/libe2p.so
+ /lib/libe2p.so.2
+ /lib/libe2p.so.2.3
+ /lib/libext2fs.so
+ /lib/libext2fs.so.2
+ /lib/libext2fs.so.2.4
+ /lib/libuuid.so
+ /lib/libuuid.so.1
+ /lib/libuuid.so.1.2
+ /sbin/badblocks
+ /sbin/blkid
+ /sbin/debugfs
+ /sbin/dumpe2fs
+ /sbin/e2fsck
+ /sbin/e2image
+ /sbin/e2label
+ /sbin/filefrag
+ /sbin/findfs
+ /sbin/fsck
+ /sbin/fsck.ext2
+ /sbin/fsck.ext3
+ /sbin/logsave
+ /sbin/mke2fs
+ /sbin/mkfs.ext2
+ /sbin/mkfs.ext3
+ /sbin/resize2fs
+ /sbin/tune2fs
+ /usr/lib/e2initrd_helper
+ /usr/lib/libblkid.so
+ /usr/lib/libe2p.so
+ /usr/lib/libext2fs.so
+ /usr/lib/libuuid.so
+ /usr/sbin/mklost+found
+
+netboot2/packages/jfsutils/files:
+ /sbin/fsck.jfs
+ /sbin/jfs_fsck
+ /sbin/jfs_mkfs
+ /sbin/jfs_tune
+ /sbin/mkfs.jfs
+
+netboot2/packages/mdadm/files:
+ /etc/mdadm.conf
+ /sbin/mdadm
+
+netboot2/packages/nano/files:
+ /bin/nano
+ /bin/rnano
+ /usr/bin/nano
+
+netboot2/packages/ncurses/files:
+ /etc/terminfo
+ /lib/libcurses.so
+ /lib/libncurses.so
+ /lib/libncurses.so.5
+ /lib/libncurses.so.5.4
+ /usr/bin/toe
+ /usr/lib/libcurses.so
+ /usr/lib/libform.so
+ /usr/lib/libform.so.5
+ /usr/lib/libform.so.5.4
+ /usr/lib/libmenu.so
+ /usr/lib/libmenu.so.5
+ /usr/lib/libmenu.so.5.4
+ /usr/lib/libncurses.so
+ /usr/lib/libpanel.so
+ /usr/lib/libpanel.so.5
+ /usr/lib/libpanel.so.5.4
+ /usr/lib/terminfo
+ /usr/share/tabset/std
+ /usr/share/tabset/stdcrt
+ /usr/share/tabset/vt100
+ /usr/share/tabset/vt300
+ /usr/share/terminfo/a/ansi
+ /usr/share/terminfo/d/dumb
+ /usr/share/terminfo/e/eterm
+ /usr/share/terminfo/l/linux
+ /usr/share/terminfo/r/rxvt
+ /usr/share/terminfo/s/screen
+ /usr/share/terminfo/s/sun
+ /usr/share/terminfo/v/vt100
+ /usr/share/terminfo/v/vt102
+ /usr/share/terminfo/v/vt200
+ /usr/share/terminfo/v/vt220
+ /usr/share/terminfo/v/vt52
+ /usr/share/terminfo/x/xterm
+ /usr/share/terminfo/x/xterm-color
+ /usr/share/terminfo/x/xterm-xfree86
+
+netboot2/packages/openssl/files:
+ /usr/lib/libcrypto.so
+ /usr/lib/libcrypto.so.0
+ /usr/lib/libcrypto.so.0.9.7
+ /usr/lib/libssl.so
+ /usr/lib/libssl.so.0
+ /usr/lib/libssl.so.0.9.7
+
+netboot2/packages/popt/files:
+ /usr/lib/libpopt.so
+ /usr/lib/libpopt.so.0
+ /usr/lib/libpopt.so.0.0.0
+
+netboot2/packages/portmap/files:
+ /sbin/portmap
+
+netboot2/packages/reiserfsprogs/files:
+ /sbin/fsck.reiserfs
+ /sbin/mkfs.reiserfs
+ /sbin/mkreiserfs
+ /sbin/reiserfsck
+ /sbin/reiserfstune
+
+netboot2/packages/rsync/files:
+ /usr/bin/rsync
+
+netboot2/packages/sdparm/files:
+ /usr/bin/sdparm
+
+netboot2/packages/ss/files:
+ /lib/libss.so
+ /lib/libss.so.2
+ /lib/libss.so.2.0
+ /usr/bin/mk_cmds
+ /usr/lib/libss.so
+
+netboot2/packages/ttcp/files:
+ /usr/bin/ttcp
+
+netboot2/packages/uclibc/files:
+ /etc/ld.so.cache
+ /lib/ld-uClibc-0.9.27.so
+ /lib/ld-uClibc.so.0
+ /lib/libc.so.0
+ /lib/libcrypt-0.9.27.so
+ /lib/libcrypt.so.0
+ /lib/libdl-0.9.27.so
+ /lib/libdl.so.0
+ /lib/libm-0.9.27.so
+ /lib/libm.so.0
+ /lib/libnsl-0.9.27.so
+ /lib/libnsl.so.0
+ /lib/libpthread-0.9.27.so
+ /lib/libpthread.so.0
+ /lib/libresolv-0.9.27.so
+ /lib/libresolv.so.0
+ /lib/librt-0.9.27.so
+ /lib/librt.so.0
+ /lib/libthread_db-0.9.27.so
+ /lib/libthread_db.so.1
+ /lib/libuClibc-0.9.27.so
+ /lib/libutil-0.9.27.so
+ /lib/libutil.so.0
+ /sbin/ldconfig
+ /usr/bin/getent
+ /usr/bin/ldd
+ /usr/lib/Scrt1.o
+ /usr/lib/crt0.o
+ /usr/lib/crt1.o
+ /usr/lib/crti.o
+ /usr/lib/crtn.o
+ /usr/lib/libc.so
+ /usr/lib/libcrypt.so
+ /usr/lib/libdl.so
+ /usr/lib/libm.so
+ /usr/lib/libnsl.so
+ /usr/lib/libpthread.so
+ /usr/lib/libresolv.so
+ /usr/lib/librt.so
+ /usr/lib/libthread_db.so
+ /usr/lib/libutil.so
+
+netboot2/packages/util-linux/files:
+ /sbin/fdisk
+ /sbin/mkfs
+ /sbin/mkswap
+ /sbin/swapoff
+ /sbin/swapon
+ /usr/bin/ddate
+ /usr/bin/setterm
+ /usr/bin/whereis
+
+netboot2/packages/wget/files:
+ /usr/bin/wget
+
+netboot2/packages/xfsprogs/files:
+ /bin/xfs_copy
+ /bin/xfs_growfs
+ /bin/xfs_info
+ /lib/libhandle.so
+ /lib/libhandle.so.1
+ /lib/libhandle.so.1.0.3
+ /sbin/fsck.xfs
+ /sbin/mkfs.xfs
+ /sbin/xfs_repair
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/modules/catalyst_support.py,v 1.66 2005/12/21 06:32:09 rocket Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/modules/catalyst_support.py,v 1.67 2006/01/13 15:09:07 rocket Exp $
import sys,string,os,types,re,signal,traceback,time
#import md5,sha
# new build types should be added here
valid_build_targets=["stage1_target","stage2_target","stage3_target","stage4_target","grp_target",
"livecd_stage1_target","livecd_stage2_target","embedded_target",
- "tinderbox_target","snapshot_target","netboot_target"]
+ "tinderbox_target","snapshot_target","netboot_target","netboot2_target"]
required_config_file_values=["storedir","sharedir","distdir","portdir"]
valid_config_file_values=required_config_file_values[:]
--- /dev/null
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/catalyst/modules/netboot2_target.py,v 1.1 2006/01/13 15:09:07 rocket Exp $
+
+"""
+Builder class for a netboot build, version 2
+"""
+
+import os,string,types
+from catalyst_support import *
+from generic_stage_target import *
+
+class netboot2_target(generic_stage_target):
+ def __init__(self,spec,addlargs):
+ self.valid_values = [
+ "netboot2/extra_files",
+ ]
+ self.required_values=[
+ "boot/kernel",
+ "netboot2/builddate",
+ "netboot2/busybox_config",
+ "netboot2/packages"
+ ]
+
+ try:
+ if addlargs.has_key("netboot2/packages"):
+ if type(addlargs["netboot2/packages"]) == types.StringType:
+ loopy=[addlargs["netboot2/packages"]]
+ else:
+ loopy=addlargs["netboot2/packages"]
+ except:
+ raise CatalystError,"configuration error in netboot2/packages."
+
+
+
+ generic_stage_target.__init__(self,spec,addlargs)
+ self.set_build_kernel_vars(addlargs)
+
+ # Merge packages into the buildroot, and pick out certain files to place in
+ # /tmp/image
+ self.settings["merge_path"]=normpath("/tmp/image")
+
+ for envvar in "CFLAGS", "CXXFLAGS":
+ if not os.environ.has_key(envvar) and not addlargs.has_key(envvar):
+ self.settings[envvar] = "-Os -pipe"
+
+ def set_dest_path(self):
+ if self.settings.has_key("merge_path"):
+ self.settings["destpath"]=normpath(self.settings["chroot_path"]+self.settings["merge_path"])
+ else:
+ self.settings["destpath"]=normpath(self.settings["chroot_path"])
+
+ def set_target_path(self):
+ self.settings["target_path"]=normpath(self.settings["storedir"]+"/builds/"+\
+ self.settings["target_subpath"]+"/")
+ if self.settings.has_key("AUTORESUME") \
+ and os.path.exists(self.settings["autoresume_path"]+"setup_target_path"):
+ print "Resume point detected, skipping target path setup operation..."
+ else:
+ # first clean up any existing target stuff
+ if os.path.isfile(self.settings["target_path"]):
+ cmd("rm -f "+self.settings["target_path"], \
+ "Could not remove existing file: "+self.settings["target_path"],env=self.env)
+ touch(self.settings["autoresume_path"]+"setup_target_path")
+
+ if not os.path.exists(self.settings["storedir"]+"/builds/"):
+ os.makedirs(self.settings["storedir"]+"/builds/")
+
+ def copy_files_to_image(self):
+ # copies specific files from the buildroot to merge_path
+ myfiles=[]
+
+ # check for autoresume point
+ if self.settings.has_key("AUTORESUME") \
+ and os.path.exists(self.settings["autoresume_path"]+"copy_files_to_image"):
+ print "Resume point detected, skipping target path setup operation..."
+ else:
+ if self.settings.has_key("netboot2/packages"):
+ if type(self.settings["netboot2/packages"]) == types.StringType:
+ loopy=[self.settings["netboot2/packages"]]
+ else:
+ loopy=self.settings["netboot2/packages"]
+
+ for x in loopy:
+ if self.settings.has_key("netboot2/packages/"+x+"/files"):
+ if type(self.settings["netboot2/packages/"+x+"/files"]) == types.ListType:
+ myfiles.extend(self.settings["netboot2/packages/"+x+"/files"])
+ else:
+ myfiles.append(self.settings["netboot2/packages/"+x+"/files"])
+
+ if self.settings.has_key("netboot2/extra_files"):
+ if type(self.settings["netboot2/extra_files"]) == types.ListType:
+ myfiles.extend(self.settings["netboot2/extra_files"])
+ else:
+ myfiles.append(self.settings["netboot2/extra_files"])
+
+ try:
+ cmd("/bin/bash "+self.settings["controller_file"]+\
+ " image " + list_bashify(myfiles),env=self.env)
+ except CatalystError:
+ self.unbind()
+ raise CatalystError,"Failed to copy files to image!"
+
+ touch(self.settings["autoresume_path"]+"copy_files_to_image")
+
+
+ def move_kernels(self):
+ # we're done, move the kernels to builds/*
+ # no auto resume here as we always want the
+ # freshest images moved
+ try:
+ cmd("/bin/bash "+self.settings["controller_file"]+\
+ " final",env=self.env)
+ print ">>> Netboot Build Finished!"
+ except CatalystError:
+ self.unbind()
+ raise CatalystError,"Failed to move kernel images!"
+
+
+ def set_action_sequence(self):
+ self.settings["action_sequence"]=["unpack","unpack_snapshot","config_profile_link",
+ "setup_confdir","bind","chroot_setup",\
+ "setup_environment","build_packages","root_overlay",\
+ "copy_files_to_image","build_kernel","move_kernels",\
+ "unbind","clean","clear_autoresume"]
+
+def register(foo):
+ foo.update({"netboot2":netboot2_target})
+ return foo
--- /dev/null
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/netboot2/netboot2-controller.sh,v 1.1 2006/01/13 15:09:07 rocket Exp $
+
+. ${clst_sharedir}/targets/support/functions.sh
+. ${clst_sharedir}/targets/support/filesystem-functions.sh
+
+case ${1} in
+ build_packages)
+ echo ">>> Building packages ..."
+ shift
+ clst_root_path="/" \
+ clst_packages="$*" \
+ exec_in_chroot \
+ ${clst_sharedir}/targets/${clst_target}/${clst_target}-pkg.sh
+ ;;
+ pre-kmerge)
+ # Sets up the build environment before any kernels are compiled
+ exec_in_chroot ${clst_sharedir}/targets/support/pre-kmerge.sh
+ ;;
+ post-kmerge)
+ # Cleans up the build environment after the kernels are compiled
+ exec_in_chroot ${clst_sharedir}/targets/support/post-kmerge.sh
+ ;;
+ kernel)
+ shift
+ export clst_kname="$1"
+
+ # if we have our own linuxrc, copy it in
+ if [ -n "${clst_linuxrc}" ]
+ then
+ cp -pPR ${clst_linuxrc} ${clst_chroot_path}/tmp/linuxrc
+ fi
+ exec_in_chroot ${clst_sharedir}/targets/support/kmerge.sh
+ delete_from_chroot tmp/linuxrc
+
+ extract_modules ${clst_chroot_path} ${clst_kname}
+ #16:12 <@solar> kernel_name=foo
+ #16:13 <@solar> eval clst_boot_kernel_${kernel_name}_config=bar
+ #16:13 <@solar> eval echo \$clst_boot_kernel_${kernel_name}_config
+ ;;
+ image)
+ # Creates the base initramfs image for the netboot
+ echo -e ">>> Preparing Image ..."
+ shift
+
+ # Copy remaining files over to the initramfs target
+ clst_files="${@}" \
+ exec_in_chroot \
+ ${clst_sharedir}/targets/${clst_target}/${clst_target}-copyfile.sh
+ ;;
+ final)
+ # For each arch, fetch the kernel images and put them in builds/
+ echo -e ">>> Copying completed kernels to ${clst_target_path} ..."
+ ${clst_sharedir}/targets/support/netboot2-final.sh
+ ;;
+ clean)
+ exit 0;;
+ *)
+ exit 1;;
+esac
+
+exit $?
--- /dev/null
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/netboot2/netboot2-copyfile.sh,v 1.1 2006/01/13 15:09:07 rocket Exp $
+
+. /tmp/chroot-functions.sh
+
+update_env_settings
+
+echo ">>> Copying initramfs files to ${clst_merge_path} (in chroot) ..."
+[ ! -d "${clst_merge_path}" ] && mkdir -p ${clst_merge_path}
+for f in ${clst_files}
+do
+ cp -af --parents ${f} ${clst_merge_path}
+done
+echo ""
--- /dev/null
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/netboot2/netboot2-pkg.sh,v 1.1 2006/01/13 15:09:07 rocket Exp $
+
+. /tmp/chroot-functions.sh
+
+update_env_settings
+
+setup_myfeatures
+setup_myemergeopts
+
+# Setup our environment
+export FEATURES="${clst_myfeatures}"
+export USE_ORDER="env:pkg:conf:defaults"
+
+# START BUILD
+
+run_emerge ${clst_myemergeopts} ${clst_packages}
--- /dev/null
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/netboot2-final.sh,v 1.1 2006/01/13 15:09:07 rocket Exp $
+. ${clst_sharedir}/targets/support/functions.sh
+. ${clst_sharedir}/targets/support/filesystem-functions.sh
+
+
+extract_kernels ${clst_target_path}boot
+
+# Move kernel binaries to ${clst_target_path}kernels, and
+# move everything else to ${clst_target_path}kernels/misc
+mkdir ${clst_target_path}kernels
+mkdir ${clst_target_path}kernels/misc
+
+for x in ${clst_boot_kernel}; do
+ mv ${clst_target_path}boot/${x} ${clst_target_path}kernels
+ mv ${clst_target_path}boot/${x}.igz ${clst_target_path}kernels/misc
+done
+rmdir ${clst_target_path}boot
+
+
+# Any post-processing necessary for each architecture can be done here. This may
+# include things like sparc's elftoaout, x86's PXE boot, etc.
+case ${clst_mainarch} in
+ alpha)
+ sleep 0
+ ;;
+ arm)
+ sleep 0
+ ;;
+ hppa)
+ sleep 0
+ ;;
+ sparc*)
+ sleep 0
+ ;;
+ ia64)
+ sleep 0
+ ;;
+ x86|amd64)
+ sleep 0
+ ;;
+esac
+exit $?
update_env_settings
-export USE="livecd"
-run_emerge --oneshot genkernel
+case ${clst_target} in
+ livecd*)
+ export USE="livecd"
+ run_emerge --oneshot genkernel
+ install -d /usr/portage/packages/gk_binaries
-install -d /usr/portage/packages/gk_binaries
-
-# Setup case structure for livecd_type
-case ${clst_livecd_type} in
- gentoo-release-minimal | gentoo-release-universal)
- case ${clst_mainarch} in
- amd64|x86)
- sed -i 's/initramfs_data.cpio.gz /initramfs_data.cpio.gz -r 1024x768 /' /usr/share/genkernel/genkernel
+ # Setup case structure for livecd_type
+ case ${clst_livecd_type} in
+ gentoo-release-minimal | gentoo-release-universal)
+ case ${clst_mainarch} in
+ amd64|x86)
+ sed -i 's/initramfs_data.cpio.gz /initramfs_data.cpio.gz -r 1024x768 /' /usr/share/genkernel/genkernel
+ ;;
+ esac
;;
esac
;;
-esac
+
+ netboot2)
+ run_emerge --oneshot genkernel
+ install -d /usr/portage/packages/gk_binaries
+
+ # Set the netboot builddate/hostname in linuxrc & copy to proper arch directory in genkernel
+ sed -e "s/@@MYDATE@@/${clst_netboot2_builddate}/g" \
+ -e "s/@@RELVER@@/${clst_version_stamp}/g" \
+ ${clst_root_path}usr/share/genkernel/netboot/linuxrc.x \
+ > ${clst_root_path}usr/share/genkernel/${clst_mainarch}/linuxrc
+
+ echo ">>> Copying support files to ${clst_root_path} ..."
+ cp -af ${clst_root_path}usr/share/genkernel/netboot/misc/* ${clst_merge_path}
+
+ echo ">>> Copying busybox config ..."
+ cp -f ${clst_netboot2_busybox_config} /usr/share/genkernel/${clst_mainarch}/busy-config
+ ;;
+esac