2007-09-23 08:04:46 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2010-09-02 11:12:37 +00:00
|
|
|
## live-build(7) - System Build Scripts
|
2020-03-11 09:07:21 -01:00
|
|
|
## Copyright (C) 2016-2020 The Debian Live team
|
2015-01-04 18:05:39 -01:00
|
|
|
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
|
2010-09-02 11:12:37 +00:00
|
|
|
##
|
2012-07-29 23:59:00 +00:00
|
|
|
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
2010-09-02 11:12:37 +00:00
|
|
|
## This is free software, and you are welcome to redistribute it
|
|
|
|
## under certain conditions; see COPYING for details.
|
|
|
|
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2007-09-23 08:04:48 +00:00
|
|
|
set -e
|
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Including common functions
|
2012-08-27 13:52:29 +00:00
|
|
|
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
|
2007-09-23 08:04:48 +00:00
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Setting static variables
|
2015-02-05 02:30:47 -01:00
|
|
|
DESCRIPTION="Build binary images"
|
2007-09-23 08:04:48 +00:00
|
|
|
USAGE="${PROGRAM} [--force]"
|
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
# Automatically populating config tree
|
|
|
|
Auto_build_config
|
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
# Processing arguments and configuration files
|
|
|
|
Init_config_data "${@}"
|
2007-09-23 08:05:16 +00:00
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
# Setting up cleanup function
|
|
|
|
Setup_clean_exit
|
2008-10-19 15:58:16 +00:00
|
|
|
|
2007-09-23 08:04:48 +00:00
|
|
|
# Preparing root filesystem
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_chroot "${@}"
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2020-04-01 04:22:39 +00:00
|
|
|
# Chroot preparation component lists
|
2020-04-01 04:51:39 +00:00
|
|
|
# We deliberately exclude 'debianchroot'
|
2020-04-01 04:22:39 +00:00
|
|
|
CHROOT_PREP_MOUNTS="devpts proc selinuxfs sysfs"
|
2020-04-05 16:29:31 +00:00
|
|
|
CHROOT_PREP_OTHER="dpkg tmpfs sysv-rc hosts resolv hostname apt"
|
2020-04-01 04:22:39 +00:00
|
|
|
|
2020-04-05 16:29:31 +00:00
|
|
|
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]; then
|
2007-09-23 08:05:15 +00:00
|
|
|
# Configuring chroot
|
2020-04-05 16:29:31 +00:00
|
|
|
# FIXME: cannot run in 'all' mode while excluding 'debianchroot', do we really need to exclude it?
|
|
|
|
#lb chroot_prep install all mode-apt-install-binary mode-archives-chroot "${@}"
|
2020-04-01 04:22:39 +00:00
|
|
|
lb chroot_prep install "${CHROOT_PREP_MOUNTS}" "${@}"
|
2020-04-05 16:29:31 +00:00
|
|
|
lb chroot_prep install "${CHROOT_PREP_OTHER}" mode-apt-install-binary mode-archives-chroot "${@}"
|
2020-04-01 08:29:52 +00:00
|
|
|
lb chroot_archives chroot install "${@}"
|
2007-09-23 08:05:15 +00:00
|
|
|
fi
|
2007-09-23 08:04:48 +00:00
|
|
|
|
|
|
|
# Building root filesystem
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_rootfs "${@}"
|
2021-07-10 14:52:02 +00:00
|
|
|
lb binary_dm-verity "${@}"
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_manifest "${@}"
|
2007-09-23 08:04:46 +00:00
|
|
|
|
|
|
|
# Prepare images
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_package-lists "${@}"
|
|
|
|
lb binary_linux-image "${@}"
|
|
|
|
lb binary_memtest "${@}"
|
|
|
|
lb binary_grub-legacy "${@}"
|
|
|
|
lb binary_grub-pc "${@}"
|
2020-05-04 17:20:02 +00:00
|
|
|
lb binary_grub_cfg "${@}"
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_syslinux "${@}"
|
|
|
|
lb binary_disk "${@}"
|
|
|
|
lb binary_loadlin "${@}"
|
|
|
|
lb binary_win32-loader "${@}"
|
|
|
|
lb binary_includes "${@}"
|
|
|
|
lb binary_grub-efi "${@}"
|
2024-03-15 20:48:35 -01:00
|
|
|
lb binary_bootloader_splash "${@}"
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_hooks "${@}"
|
|
|
|
lb binary_checksums "${@}"
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2020-04-05 16:29:31 +00:00
|
|
|
if [ "${LB_BUILD_WITH_CHROOT}" != "true" ]; then
|
2020-04-01 04:22:39 +00:00
|
|
|
lb chroot_prep install "${CHROOT_PREP_MOUNTS}" "${@}"
|
2007-11-14 08:13:58 -01:00
|
|
|
fi
|
|
|
|
|
2021-01-02 15:41:50 -01:00
|
|
|
# Apply SOURCE_DATE_EPOCH to all modified and created files
|
|
|
|
find binary -newermt "$(date -d@${SOURCE_DATE_EPOCH} '+%Y-%m-%d %H:%M:%S')" -printf "%y %p\n" -exec touch '{}' -d@${SOURCE_DATE_EPOCH} --no-dereference ';' > binary.modified_timestamps
|
|
|
|
|
2007-09-23 08:04:46 +00:00
|
|
|
# Building images
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_iso "${@}"
|
|
|
|
lb binary_onie "${@}"
|
|
|
|
lb binary_netboot "${@}"
|
|
|
|
lb binary_tar "${@}"
|
|
|
|
lb binary_hdd "${@}"
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2020-04-01 08:29:52 +00:00
|
|
|
lb binary_zsync "${@}"
|
2012-07-18 17:09:16 +00:00
|
|
|
|
2020-04-05 16:29:31 +00:00
|
|
|
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]; then
|
2007-09-23 08:05:15 +00:00
|
|
|
# Deconfiguring chroot
|
2020-03-12 00:21:39 -01:00
|
|
|
Remove_stagefile chroot_archives
|
|
|
|
|
2020-04-01 04:22:39 +00:00
|
|
|
lb chroot_prep remove "${CHROOT_PREP_OTHER}" "${@}"
|
2007-09-23 08:05:15 +00:00
|
|
|
fi
|
2007-11-14 08:13:58 -01:00
|
|
|
|
2020-04-01 04:22:39 +00:00
|
|
|
lb chroot_prep remove "${CHROOT_PREP_MOUNTS}" "${@}"
|
2020-03-16 01:12:47 -01:00
|
|
|
|
|
|
|
Echo_message "Binary stage completed"
|