Create a clean chroot for the installer.
The installer stage has a clean chroot for its own usage. The chroot from the chroot stage is available in chroot/chroot (implemented similar to the binary stage).
This commit is contained in:
parent
ac0cde14e6
commit
26845abebc
|
@ -28,6 +28,9 @@ Init_config_data "${@}"
|
||||||
Setup_clean_exit
|
Setup_clean_exit
|
||||||
|
|
||||||
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]; then
|
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]; then
|
||||||
|
# Use a fresh chroot environment, to not pollute the 'normal' chroot
|
||||||
|
lb installer_chroot "${@}"
|
||||||
|
|
||||||
# Configuring chroot
|
# Configuring chroot
|
||||||
lb chroot_prep install all mode-archives-chroot "${@}"
|
lb chroot_prep install all mode-archives-chroot "${@}"
|
||||||
fi
|
fi
|
||||||
|
@ -39,6 +42,12 @@ lb installer_preseed "${@}"
|
||||||
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]; then
|
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]; then
|
||||||
# Deconfiguring chroot
|
# Deconfiguring chroot
|
||||||
lb chroot_prep remove all mode-archives-chroot "${@}"
|
lb chroot_prep remove all mode-archives-chroot "${@}"
|
||||||
|
|
||||||
|
# Revert lb installer_chroot
|
||||||
|
mv chroot/chroot chroot.tmp
|
||||||
|
rm -rf chroot
|
||||||
|
mv chroot.tmp chroot
|
||||||
|
Remove_stagefile installer_chroot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
Echo_message "Installer stage completed"
|
Echo_message "Installer stage completed"
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
## live-build(7) - System Build Scripts
|
||||||
|
## Copyright (C) 2016-2020 The Debian Live team
|
||||||
|
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
|
||||||
|
##
|
||||||
|
## This program 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
|
||||||
|
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
|
||||||
|
|
||||||
|
# Setting static variables
|
||||||
|
DESCRIPTION="Copy chroot into chroot"
|
||||||
|
USAGE="${PROGRAM} [--force]"
|
||||||
|
|
||||||
|
# Processing arguments and configuration files
|
||||||
|
Init_config_data "${@}"
|
||||||
|
|
||||||
|
Echo_message "Begin copying chroot for the installer..."
|
||||||
|
|
||||||
|
# Requiring stage file
|
||||||
|
Require_stagefiles config bootstrap
|
||||||
|
|
||||||
|
# Checking stage file
|
||||||
|
Check_stagefile
|
||||||
|
|
||||||
|
# Acquire lock file
|
||||||
|
Acquire_lockfile
|
||||||
|
|
||||||
|
# Normally, virtual filesystems are not mounted here, but people tend to be lazy
|
||||||
|
if [ -f chroot/proc/version ]
|
||||||
|
then
|
||||||
|
umount chroot/proc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d chroot/sys/kernel ]
|
||||||
|
then
|
||||||
|
umount chroot/sys
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${LB_BUILD_WITH_CHROOT}" = "false" ]
|
||||||
|
then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Removing old chroot
|
||||||
|
rm -rf chroot/chroot
|
||||||
|
rm -rf chroot.tmp
|
||||||
|
|
||||||
|
# Copying new chroot
|
||||||
|
mv chroot chroot.tmp
|
||||||
|
cp -a cache/bootstrap chroot
|
||||||
|
touch chroot/chroot_for_installer.cache
|
||||||
|
mv chroot.tmp chroot/chroot
|
||||||
|
|
||||||
|
# Creating stage file
|
||||||
|
Create_stagefile
|
|
@ -38,13 +38,13 @@ Acquire_lockfile
|
||||||
|
|
||||||
if ls config/preseed/*.cfg > /dev/null 2>&1 || \
|
if ls config/preseed/*.cfg > /dev/null 2>&1 || \
|
||||||
ls config/preseed/*.cfg.installer > /dev/null 2>&1 || \
|
ls config/preseed/*.cfg.installer > /dev/null 2>&1 || \
|
||||||
ls chroot/root/packages.installer > /dev/null 2>&1
|
ls chroot/chroot/root/packages.installer > /dev/null 2>&1
|
||||||
then
|
then
|
||||||
_DIRECTORY="binary/install"
|
_DIRECTORY="binary/install"
|
||||||
|
|
||||||
rm -f "${_DIRECTORY}/preseed.cfg"
|
rm -f "${_DIRECTORY}/preseed.cfg"
|
||||||
|
|
||||||
for _FILE in config/preseed/*.cfg config/preseed/*.cfg.installer chroot/root/packages.installer
|
for _FILE in config/preseed/*.cfg config/preseed/*.cfg.installer chroot/chroot/root/packages.installer
|
||||||
do
|
do
|
||||||
if [ -e "${_FILE}" ]
|
if [ -e "${_FILE}" ]
|
||||||
then
|
then
|
||||||
|
|
Loading…
Reference in New Issue