summaryrefslogtreecommitdiff
path: root/helpers/lh_binary_rootfs
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/lh_binary_rootfs')
-rwxr-xr-xhelpers/lh_binary_rootfs453
1 files changed, 0 insertions, 453 deletions
diff --git a/helpers/lh_binary_rootfs b/helpers/lh_binary_rootfs
deleted file mode 100755
index a862895..0000000
--- a/helpers/lh_binary_rootfs
+++ /dev/null
@@ -1,453 +0,0 @@
-#!/bin/sh
-
-# lh_binary_rootfs(1) - build rootfs image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel@debian.org>
-#
-# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
-# This is free software, and you are welcome to redistribute it
-# under certain conditions; see COPYING for details.
-
-set -e
-
-# Including common functions
-. "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh
-
-# Setting static variables
-DESCRIPTION="$(Echo 'build rootfs image')"
-HELP=""
-USAGE="${PROGRAM} [--force]"
-
-Arguments "${@}"
-
-# Reading configuration files
-Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
-Set_defaults
-
-Echo_message "Begin building root filesystem image..."
-
-# Requiring stage file
-Require_stagefile .stage/config .stage/bootstrap .stage/binary_chroot
-
-# Checking stage file
-Check_stagefile .stage/binary_rootfs
-
-# Checking lock file
-Check_lockfile .lock
-
-# Creating lock file
-Create_lockfile .lock
-
-case "${LH_ARCHITECTURE}" in
- amd64|i386)
- LINUX="vmlinuz"
- ;;
-
- powerpc)
- LINUX="vmlinux"
- ;;
-esac
-
-case "${LH_INITRAMFS}" in
- casper)
- INITFS="casper"
- ;;
-
- live-initramfs)
- INITFS="live"
- ;;
-esac
-
-# Creating directory
-mkdir -p binary/${INITFS}
-
-for STAGE in ${LH_CACHE_STAGES}
-do
- if [ "${STAGE}" = "rootfs" ] && [ -d cache/stages_rootfs ]
- then
- # Removing old chroot
- rm -rf binary/"${INITFS}"/filesystem.*
-
- # Restoring old cache
- mkdir -p binary/"${INITFS}"
- ${LH_ROOT_COMMAND} cp -a cache/stages_rootfs/filesystem.* binary/"${INITFS}"
-
- if [ -n "${LH_ROOT_COMMAND}" ]
- then
- ${LH_ROOT_COMMAND} chown -R $(whoami):$(whoami) binary
- fi
-
- # Creating stage file
- Create_stagefile .stage/binary_rootfs
- exit 0
- fi
-done
-
-# Handling chroot excludes
-if [ "${LH_CHROOT_BUILD}" = "true" ]
-then
- if [ -f config/binary_rootfs/excludes ]
- then
- cp config/binary_rootfs/excludes chroot/chroot/excludes
- chroot chroot/chroot /usr/bin/env -i xargs --arg-file=/excludes -I FILE bash -c 'rm -rf FILE'
- rm -f chroot/chroot/excludes
- fi
-
- if [ "${LH_DEBIAN_INSTALLER}" != "live" ]
- then
- case "${LH_PACKAGES_LISTS}" in
- stripped|minimal)
- # kernel images
- rm -f chroot/chroot/boot/${LINUX}*
- rm -f chroot/chroot/boot/initrd.img*
-
- # kernel symlinks
- rm -f chroot/chroot/${LINUX}*
- rm -f chroot/chroot/initrd.img*
- ;;
- esac
- fi
-else
- if [ "${LH_CHROOT_FILESYSTEM}" != "squashfs" ]
- then
- Echo_warning "rootfs excludes are not supported on non-chrooted builds unless squashfs as chroot filesystem is used, thus ignoring excludes now."
- fi
-fi
-
-case "${LH_CHROOT_FILESYSTEM}" in
- ext2|ext3)
- # Checking depends
- Check_package chroot/usr/bin/genext2fs genext2fs
-
- # Restoring cache
- Restore_cache cache/packages_binary
-
- # Installing depends
- Install_package
-
- # Remove old image
- if [ -f binary/${INITFS}/filesystem.${LH_CHROOT_FILESYSTEM} ]
- then
- rm -f binary/${INITFS}/filesystem.${LH_CHROOT_FILESYSTEM}
- fi
-
- DU_DIM="$(du -ks chroot/chroot | cut -f1)"
- REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LH_CHROOT_FILESYSTEM})"
-
- RESERVED_PERCENTAGE="--reserved-percentage"
-
- case "${LH_CHROOT_BUILD}" in
- true)
- Chroot chroot "genext2fs --size-in-blocks=${REAL_DIM} ${RESERVED_PERCENTAGE}=0 --root=chroot filesystem.${LH_CHROOT_FILESYSTEM}"
-
- # Move image
- mv chroot/filesystem.${LH_CHROOT_FILESYSTEM} binary/${INITFS}
-
- 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_dpkg 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_dpkg 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
- ;;
-
- false)
- genext2fs --size-in-blocks=${REAL_DIM} ${RESERVED_PERCENTAGE}=0 --root=chroot binary/${INITFS}/filesystem.${LH_CHROOT_FILESYSTEM}
- ;;
- esac
-
- # Saving cache
- Save_cache cache/packages_binary
-
- # Removing depends
- Remove_package
- ;;
-
- jffs2)
- # Checking depends
- Check_package chroot/usr/sbin/mkfs.jffs2 mtd-tools
-
- # Restoring cache
- Restore_cache cache/packages_binary
-
- # Installing depends
- Install_package
-
- # Remove old jffs2 image
- if [ -f binary/${INITFS}/filesystem.jffs2 ]
- then
- rm -f binary/${INITFS}/filesystem.jffs2
- fi
-
- if [ -n "${LH_JFFS2_ERASEBLOCK}" ]
- then
- JFFS2_OPTIONS="--eraseblock=${LH_JFFS2_ERASEBLOCK}"
- fi
-
- case "${LH_CHROOT_BUILD}" in
- true)
- Chroot chroot "mkfs.jffs2 ${JFFS2_OPTIONS} --root=chroot --output filesystem.jffs2"
-
- # Move image
- mv chroot/filesystem.jffs2 binary/${INITFS}
-
- 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_dpkg 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_dpkg 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
- ;;
-
- false)
- mkfs.jffs2 ${JFFS2_OPTIONS} --root=chroot --output binary/${INITFS}/filesystem.jffs2
- ;;
- esac
-
- # Saving cache
- Save_cache cache/packages_binary
-
- # Removing depends
- Remove_package
- ;;
-
- plain)
- if [ -d binary/${INITFS}/filesystem.dir ]
- then
- rm -rf binary/${INITFS}/filesystem.dir
- fi
-
- case "${LH_CHROOT_BUILD}" in
- true)
- mv chroot/chroot binary/${INITFS}/filesystem.dir
- ;;
-
- false)
- cp -a chroot binary/${INITFS}/filesystem.dir
- ;;
- esac
- ;;
-
- squashfs)
- # Checking depends
- Check_package chroot/usr/share/doc/squashfs-tools squashfs-tools
-
- # Restoring cache
- Restore_cache cache/packages_binary
-
- # Installing depends
- Install_package
-
- Echo_message "Preparing squashfs image..."
- Echo_message "This may take a while."
-
- # Remove old squashfs image
- if [ -f binary/${INITFS}/filesystem.squashfs ]
- then
- rm -f binary/${INITFS}/filesystem.squashfs
- fi
-
- # Remove stale squashfs image
- rm -f chroot/filesystem.squashfs
-
- MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -no-progress"
-
- if [ "${_VERBOSE}" = "true" ]
- then
- MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -info"
- fi
-
- if [ -f config/binary_rootfs/squashfs.sort ]
- then
- MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -sort squashfs.sort"
- cp config/binary_rootfs/squashfs.sort chroot #FIXME
- fi
-
- case "${LH_CHROOT_BUILD}" in
- true)
- # Create image
- Chroot chroot "mksquashfs chroot filesystem.squashfs ${MKSQUASHFS_OPTIONS}"
-
- # Move image
- ${LH_ROOT_COMMAND} mv chroot/filesystem.squashfs binary/${INITFS}
- ${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_dpkg 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_dpkg 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
- ;;
-
- false)
- if [ -f config/binary_rootfs/excludes ]
- then
- case "${LH_DISTRIBUTION}" in
- lenny|sid)
- MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -wildcards -ef config/binary_rootfs/excludes"
- ;;
- esac
- fi
-
- mksquashfs chroot binary/${INITFS}/filesystem.squashfs ${MKSQUASHFS_OPTIONS}
- ;;
- esac
-
- if [ -n "${LH_ROOT_COMMAND}" ]
- then
- ${LH_ROOT_COMMAND} chown -R $(whoami):$(whoami) binary/${INITFS}
- fi
-
- # Saving cache
- Save_cache cache/packages_binary
-
- # Removing depends
- Remove_package
- ;;
-
- none)
- if [ -d binary ]
- then
- rm -rf binary
- fi
-
- case "${LH_CHROOT_BUILD}" in
- true)
- mv chroot/chroot binary
- ;;
-
- false)
- Echo_message "This may take a while."
- cp -a chroot binary
- ;;
- esac
- ;;
-
-esac
-
-for STAGE in ${LH_CACHE_STAGES}
-do
- if [ "${STAGE}" = "rootfs" ]
- then
- rm -rf cache/stages_rootfs
-
- mkdir -p cache/stages_rootfs
-
- if [ "${LH_CHROOT_FILESYSTEM}" != "none" ]
- then
- ${LH_ROOT_COMMAND} cp -a binary/"${INITFS}"/filesystem.* cache/stages_rootfs
- fi
-
- if [ -n "${LH_ROOT_COMMAND}" ]
- then
- ${LH_ROOT_COMMAND} chown -R $(whoami):$(whoami) cache/stages_rootfs
- fi
- fi
-done
-
-# Creating stage file
-Create_stagefile .stage/binary_rootfs