From fa9ebfb6d13d8dfed739dc74ad4c28110a4103f1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 16 Oct 2009 18:35:28 +0200 Subject: Using pre-cached bootstrap stage, if available, in order to build chroot image which dramatically speads up building of large images. --- helpers/lh_binary_rootfs | 120 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 117 insertions(+), 3 deletions(-) (limited to 'helpers/lh_binary_rootfs') diff --git a/helpers/lh_binary_rootfs b/helpers/lh_binary_rootfs index 1b72e7c52..25fbb15e9 100755 --- a/helpers/lh_binary_rootfs +++ b/helpers/lh_binary_rootfs @@ -146,7 +146,45 @@ case "${LH_CHROOT_FILESYSTEM}" in # Move image mv chroot/filesystem.${LH_CHROOT_FILESYSTEM} binary/${INITFS} - rm -rf chroot/chroot + + if [ -e chroot/chroot.cache ] + then + rm -f .lock + mv chroot/chroot chroot.tmp + + lh_chroot_linux-image remove ${*} + lh_chroot_sources remove ${*} + lh_chroot_apt remove ${*} + lh_chroot_hostname remove ${*} + lh_chroot_resolv remove ${*} + lh_chroot_hosts remove ${*} + lh_chroot_sysv-rc remove ${*} + lh_chroot_debianchroot remove ${*} + lh_chroot_sysfs remove ${*} + lh_chroot_selinuxfs remove ${*} + lh_chroot_proc remove ${*} + lh_chroot_devpts remove ${*} + + rm -rf chroot + mv chroot.tmp chroot + + lh_chroot_devpts install ${*} + lh_chroot_proc install ${*} + lh_chroot_selinuxfs install ${*} + lh_chroot_sysfs install ${*} + lh_chroot_debianchroot install ${*} + lh_chroot_sysv-rc install ${*} + lh_chroot_hosts install ${*} + lh_chroot_resolv install ${*} + lh_chroot_hostname install ${*} + lh_chroot_apt install ${*} + lh_chroot_sources install ${*} + lh_chroot_linux-image install ${*} + + touch .lock + else + rm -rf chroot/chroot + fi ;; disabled) @@ -188,7 +226,43 @@ case "${LH_CHROOT_FILESYSTEM}" in # Move image mv chroot/filesystem.jffs2 binary/${INITFS} - rm -rf chroot/chroot + + if [ -e chroot/chroot.cache ] + then + rm -f .lock + mv chroot/chroot chroot.tmp + + lh_chroot_linux-image remove ${*} + lh_chroot_sources remove ${*} + lh_chroot_apt remove ${*} + lh_chroot_hostname remove ${*} + lh_chroot_resolv remove ${*} + lh_chroot_hosts remove ${*} + lh_chroot_sysv-rc remove ${*} + lh_chroot_debianchroot remove ${*} + lh_chroot_sysfs remove ${*} + lh_chroot_selinuxfs remove ${*} + lh_chroot_proc remove ${*} + lh_chroot_devpts remove ${*} + + rm -rf chroot + mv chroot.tmp chroot + + lh_chroot_devpts install ${*} + lh_chroot_proc install ${*} + lh_chroot_selinuxfs install ${*} + lh_chroot_sysfs install ${*} + lh_chroot_debianchroot install ${*} + lh_chroot_sysv-rc install ${*} + lh_chroot_hosts install ${*} + lh_chroot_resolv install ${*} + lh_chroot_hostname install ${*} + lh_chroot_apt install ${*} + lh_chroot_sources install ${*} + lh_chroot_linux-image install ${*} + else + rm -rf chroot/chroot + fi ;; disabled) @@ -262,7 +336,47 @@ case "${LH_CHROOT_FILESYSTEM}" in # Move image ${LH_ROOT_COMMAND} mv chroot/filesystem.squashfs binary/${INITFS} - ${LH_ROOT_COMMAND} rm -rf chroot/chroot chroot/squashfs.sort + ${LH_ROOT_COMMAND} rm -f chroot/squashfs.sort + + if [ -e chroot/chroot.cache ] + then + rm -f .lock + mv chroot/chroot chroot.tmp + + lh_chroot_linux-image remove ${*} + lh_chroot_sources remove ${*} + lh_chroot_apt remove ${*} + lh_chroot_hostname remove ${*} + lh_chroot_resolv remove ${*} + lh_chroot_hosts remove ${*} + lh_chroot_sysv-rc remove ${*} + lh_chroot_debianchroot remove ${*} + lh_chroot_sysfs remove ${*} + lh_chroot_selinuxfs remove ${*} + lh_chroot_proc remove ${*} + lh_chroot_devpts remove ${*} + + rm -rf chroot + mv chroot.tmp chroot + + lh_chroot_devpts install ${*} + lh_chroot_proc install ${*} + lh_chroot_selinuxfs install ${*} + lh_chroot_sysfs install ${*} + lh_chroot_debianchroot install ${*} + lh_chroot_sysv-rc install ${*} + lh_chroot_hosts install ${*} + lh_chroot_resolv install ${*} + lh_chroot_hostname install ${*} + lh_chroot_apt install ${*} + lh_chroot_sources install ${*} + lh_chroot_linux-image install ${*} + + touch .lock + else + rm -rf chroot/chroot + fi + ${LH_ROOT_COMMAND} chmod 0644 binary/${INITFS}/filesystem.squashfs ;; -- cgit v1.2.3