3 local dest_dir=${clst_chroot_path}${2:-/tmp}
5 echo "copying ${src_file##*/} to ${dest_dir}"
6 cp -pPR "${src_file}" "${dest_dir}"/
10 if [ -e ${clst_chroot_path}${1} ]
12 echo "removing ${clst_chroot_path}${1} from the chroot"
13 rm -f ${clst_chroot_path}${1}
18 # Takes the full path to the source file as its argument
19 # copies the file to the /tmp directory of the chroot
21 local file_name=$(basename ${1})
23 local destdir="${subdir}/tmp"
25 echo "Copying ${file_name} to ${destdir}"
26 copy_to_chroot ${1} ${destdir}
27 copy_to_chroot ${clst_sharedir}/targets/support/chroot-functions.sh \
30 chroot_path=${clst_chroot_path}${subdir}
32 echo "Ensure the file has the executable bit set"
33 chmod +x ${chroot_path}/${destdir}/${file_name}
35 echo "Running ${file_name} in chroot:"
36 echo " ${clst_CHROOT} ${chroot_path} ${destdir}/${file_name}"
37 ${clst_CHROOT} ${chroot_path} ${destdir}/${file_name} || exit 1
39 delete_from_chroot ${destdir}/${file_name}
40 delete_from_chroot ${destdir}/chroot-functions.sh
50 # Create a filesystem tree for the ISO at
51 # $clst_target_path. We extract the "cdtar" to this directory,
52 # which will normally contains a pre-built binary
53 # boot-loader/filesystem skeleton for the ISO.
55 [ -z "${cdtar}" ] && die "Required key cdtar not defined, exiting"
56 tar -I lbzip2 -xpf ${cdtar} -C $1 || die "Couldn't extract cdtar ${cdtar}"
60 # extract multiple kernels
62 # ${clst_target_path}/kernel is often a good choice for ${1}
64 # Takes the relative desination dir for the kernel as an arguement
65 # i.e boot or isolinux
66 [ -z "$clst_boot_kernel" ] && \
67 die "Required key boot/kernel not defined, exiting"
68 # install the kernels built in kmerge.sh
69 for x in ${clst_boot_kernel}
72 kbinary="${clst_chroot_path}/tmp/kerncache/${x}-kernel-initrd-${clst_version_stamp}.tar.bz2"
75 # grab name of first kernel
79 [ ! -e "${kbinary}" ] && die "Can't find kernel tarball at ${kbinary}"
81 tar -I lbzip2 -xf ${kbinary} -C ${1}/
83 # change config name from "config-*" to "gentoo", for example
84 #mv ${1}/config-* ${1}/${x}-config
87 # change kernel name from "kernel" to "gentoo", for example
88 if [ -e ${1}/kernel-* ]
90 mv ${1}/kernel-* ${1}/${x}
93 # change kernel name from "kernelz" to "gentoo", for example
94 if [ -e ${1}/kernelz-* ]
96 mv ${1}/kernelz-* ${1}/${x}
99 # change initrd name from "initrd" to "gentoo.igz", for example
100 if [ -e ${1}/initrd-* ]
102 mv ${1}/initrd-* ${1}/${x}.igz
105 if [ -e ${1}/initramfs-* ]
107 mv ${1}/initramfs-* ${1}/${x}.igz
110 if [ -e ${1}/System.map-* ];
112 mv ${1}/System.map-* ${1}/System.map-${x}
120 kmodules="${clst_chroot_path}/tmp/kerncache/${2}-modules-${clst_version_stamp}.tar.bz2"
122 if [ -f "${kmodules}" ]
125 tar -I lbzip2 -xf ${kmodules} --strip-components 1 -C ${1}/lib lib
127 echo "Can't find kernel modules tarball at ${kmodules}. Skipping...."
134 kbinary="${clst_chroot_path}/tmp/kerncache/${2}-kernel-initrd-${clst_version_stamp}.tar.bz2"
135 [ ! -e "${kbinary}" ] && die "Can't find kernel tarball at ${kbinary}"
137 tar -I lbzip2 -xf ${kbinary} -C ${1}/
138 # change config name from "config-*" to "gentoo", for example
139 #mv ${1}/config-* ${1}/${2}-config
142 # change kernel name from "kernel" to "gentoo", for example
143 mv ${1}/kernel-* ${1}/${2}
145 # change initrd name from "initrd" to "gentoo.igz", for example
146 if [ -e ${1}/initrd-* ]
148 mv ${1}/initrd-* ${1}/${2}.igz
151 # change initramfs name from "initramfs" to "gentoo.igz", for example
152 if [ -e ${1}/initramfs-* ]
154 mv ${1}/initramfs-* ${1}/${2}.igz
159 # Add any additional options
160 if [ -n "${clst_livecd_bootargs}" ]
162 for x in ${clst_livecd_bootargs}
164 cmdline_opts="${cmdline_opts} ${x}"
169 check_filesystem_type(){
170 case ${clst_fstype} in
172 cmdline_opts="${cmdline_opts} looptype=normal loop=/image.loop"
175 cmdline_opts="${cmdline_opts} looptype=zisofs loop=/zisofs"
180 cmdline_opts="${cmdline_opts} looptype=squashfs loop=/image.squashfs"
183 cmdline_opts="${cmdline_opts} looptype=jffs loop=/image.jffs"
186 cmdline_opts="${cmdline_opts} looptype=jffs2 loop=/image.jffs2"
189 cmdline_opts="${cmdline_opts} looptype=cramfs loop=/image.cramfs"
195 crossdev ${clst_CHOST}