summaryrefslogtreecommitdiff
path: root/scripts/build/binary
AgeCommit message (Collapse)Author
2021-07-11Adding dm-verity support for rootfsThore Sommer
This adds support for dm-vertiy on the root filesystem. Currently only squashfs is supported. Three new flags are introduced. * --dm-verity: Enable basic dm-verity support * --dm-verity-fec NB_ROOTS: Enable forward error correction. Optional * --dm-verity-sign SCRIPT: Specify signing script for the root hash. Optional
2021-01-15Apply SOURCE_DATE_EPOCH to newly generated files and create a logRoland Clobus
2020-05-04rename binary_loopback_cfg to binary_grub_cfgLyndon Brown
when loopback support was introduced, it initially duplicated the code for generating a grub2 config, before the duplicated code was removed from the grub-pc script, effectively thus moving grub config generation to the loopback feature script. grub-efi support was added after this. this results in a misleading filename, since the `binary_loopback_cfg` script is essential for use of grub-pc|grub-efi, and actually only has a single line of code on top that's needed for adding actual loopback support on top. (when grub-pc and grub-efi are not used, the entire script is still needed for loopback support to work). so here we rename it to make better sense, and correct/clarify bits of documentation. Gbp-Dch: Short
2020-04-23chroot_prep: expand coverageLyndon Brown
it now covers: - `lb chroot_apt install-binary` - `lb chroot_archives {chroot|binary|source} {install|remove}` by expanding usage from: `lb chroot_prep {install|remove} HELPERS [ARGS]` to: `lb chroot_prep {install|remove} HELPERS [MODE[ MODE..]] [ARGS]` where `[MODE[ MODE..]]` is an optional set of one or more of: - archives-chroot, which specifies to use 'chroot' as the first param to the chroot_archives script - archives-binary, which specifies to use 'binary' - archives-source, which specifies to use 'source' - apt-install-binary, which specified to pass 'install-binary' instead of 'install' to chroot_apt thus _all_ chroot prep scripts can be run through this helper now! note, in the case of the binary stage, 'archives' is deliberately not added to CHROOT_PREP_OTHER, this is not a mistake! Gbp-Dch: Short
2020-04-23binary: add missing use of chroot_tmpfsLyndon Brown
2020-04-23add bulk chroot preparation script execution helperLyndon Brown
rather than explicitly running one helper after another in the major build stages, or by hand (e.g. while testing things during development), they can be run in bulk via this new helper. it essentially just takes a list of helpers to run and runs them one by one. it supports running all helpers except chroot_archives because that one has different parameter requirements to the rest and supporting it would make things messier. helper scripts can either be named by their full script name or without the 'chroot_' prefix for brevity. you can also just specify 'all' to refer to all helpers (except chroot_archives, per above). it automatically reverses the order of the list when run in remove mode. Gbp-Dch: Short
2020-04-23binary: remove useless execution of `lb chroot_debianchroot remove`Lyndon Brown
it was not run in install mode so should not be run in remove mode. (whether it should in fact be run in install mode is another question; as is whether chroot_tmpfs should be being used) Gbp-Dch: Short
2020-04-23fix $@ parameter expansion issuesLyndon Brown
$@ when unquoted is subject to further word splitting. this fixes a bunch of instances where it was incorrectly being used unquoted. Gbp-Dch: Short
2020-03-17stagefiles: simplify & robustifyLyndon Brown
- avoid all need to pass ".build/" path in stage file names into the functions - add a helper to remove a stage file (required to complete the above properly) - avoid duplicating filenames within scripts which makes them prone to mistakes (some instances of which I've actually encountered and had to fix) Gbp-Dch: Short
2020-03-16add build & build stage success messagesLyndon Brown
2020-03-11amend copyright & licensing blocksLyndon Brown
Current versions of the project files are built upon versions published and licensed by Daniel Baumann, but are modified copies of those files and thus need to be marked as such per licensing requirements (afaik he did not pass along ownership / licensing rights to anyone when he left the project). We should also be careful to not be misrepresenting such modified copies as being attributed to Daniel. Adding a new copyright line referring to "The Debian Live team" should suffice for this. The authorship block in man pages has also similarly been updated. Notes: - tweaked a copy of daniel copyright lines stating 2014 instead of 2015. both of these cases were in files that i had personally introduced in some of my past merged commits that moved some code around. i don't know why they stated 2014. - binary_onie was introduced in 2018, so that has a 2018 date instead of 2016 unlike the rest. - 'efi-image' is a 3rd-party (Canonical Ltd) work that we bundle, but it has been modified by 674794a8f4d61a729d2dbd6d99385d2826138694 and 36a3ba76347ef72df1c316312ed3a26aa4b0c816 so I similarly added a debian live copyright line. - 'grub-cpmodules' is similar. it was only changed by the indentation fix of 36a3ba76347ef72df1c316312ed3a26aa4b0c816 but modification is modification, and this does help cover any possible future changes that might be made.
2020-03-10help/usage: remove pointless varsLyndon Brown
build scripts never call Help() and so the empty HELP strings are pointless. (when called with --help they call Man()). Closes: #952859 Gbp-Dch: Short
2020-03-10tidy script init (2/4) - build stage scriptsjnqnfe
Partial fix for #952919 Gbp-Dch: Short
2020-03-10tidy script init (1/4) - arg and config processingjnqnfe
Partial fix for #952919 Gbp-Dch: Short
2020-03-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2020-03-05binary: fix missing use of chroot_dpkg in binary stagejnqnfe
update feb-2020: the bug report is marked as fixed in version 5.0-a7-1, however there is no such patch merged for that tagged release, nor at all in master, so this properly closes it. Gbp-Dch: Short Closes: #776532
2019-12-19Run binary_hooks after binary_grub-efiRonny Standtke
That way it becomes possible to customize grub-efi files. Closes: #940846
2018-03-22Add options to build ONIE imagesLuca Boccassi
Open Network Install Environment is an open image format used by networking vendor to ship a standardised image for networking white box switches. ONIE hardware takes this image at boot and a script to chain load into the final environment via kexec. We can support Debian and derivatives on such systems by packing an ISO which then gets unpacked, kexec'ed and live-booted. A base ONIE system can be tested in QEMU by building a VM following these instrunctions: https://github.com/opencomputeproject/onie/blob/master/machine/kvm_x86_64/INSTALL Once built, boot onie-recovery-x86_64-kvm_x86_64-r0.iso in QEMU/libvirt and on the console there will be the terminal prompt. Check the IP assigned by libvirt and then scp the live image (ssh access is enabled as root without password...). Then the .bin can be booted with: ONIE-RECOVERY:/ # onie-nos-install /tmp/live.hybrid.iso-ONIE.bin The implementation is inspired by ONIE's own scripts that can be found at: https://github.com/opencomputeproject/onie/blob/master/contrib/debian-iso/cook-bits.sh A new option, --onie (false by default) can be set to true to enable building this new format in addition to an ISO. An additional option, --onie-kernel-cmdline can be used to specify additional options that the ONIE system should use when kexec'ing the final image. Note that only iso or hybrid-iso formats are supported. For more information about the ONIE ecosystem see: http://onie.org Signed-off-by: Erik Ziegenbalg <eziegenb@Brocade.com> Signed-off-by: Luca Boccassi <bluca@debian.org>
2016-07-31Added EFI support by the means of grub-efiAdrian Gibanel Lopez
This work is based on debian-cd team work and uses, as much as possible, the same mkisofs options than the Debian Installation CD disk does. It assumes that /boot/grub/grub.cfg (and other design items) is generated by: binary_loopback_cfg . It relies on efi-image and grub-cpmodules being setup as build scripts on live-build package. In the future event of these two files being moved to a binary package (they are originally from: src: live-installer) the binary_grub-efi script would have to be rewritten to take the new paths into account.
2015-08-30Loopback cfg support.Adrian Gibanel Lopez
Development details -------------------- * This patch has been based originally on: binary_grub2 . It has been improved thanks to some binary_syslinux bits. * This patch ensures that binary_loopback_cfg needs is run before binary_syslinux is run. The reason is that it reuses some code from binary_syslinux to avoid problems when binary_syslinux renames the kernel filenames. * This patch already supports CPU detection * I haven't tested all the possible scenarios for the script (with the latest version). When amd64 and 486 Gnu/Linux flavours is used and the bootloader is syslinux it works ok. * I have not implemented a disable switch for not generating it. Usually you always want loopback.cfg to be there. * Compared to binary_grub2 script I have removed the installation entries because I did not see any of them in binary_syslinux. How to test ----------- These are some steps to easily test if Looback cfg support is working ok. 0) We assume you have generated an iso 1) Make sure you have a partition that Grub understands. Plain ext4 or vfat should do it. 2) Create directory: /boot/boot-isos/ 3) Put the iso file into that directory making sure it has an ISO or iso extension. 4) Setup your computer to boot from cdrom and use: Super Grub2 Disk 2.00s2 (Hybrid version recommended) 5) Choose Boot manually... 6) Choose Bootable ISOs (in /boot- ... ) 7) Choose (the detected) GRUB Loopback Config (hdN,msodsN)/boot/boot-ios/name-of-the.iso 8) You will be presented your loopback.cfg. Choose anyone of the entries (unless it does not match your cpu architecture of course). 9) You should boot into your Debian Live without problems (thanks to findiso boot parametre). If you ever wanted to test from your grub2 installation instead from Super Grub2 Disk check: http://www.supergrubdisk.org/wiki/Loopback.cfg for an example.
2015-05-18Correcting leftover reference to binary_grub in binary.Daniel Baumann
2015-05-04Renaming grub2 helper to grub-pc for later grub-efi addition.Daniel Baumann
2015-05-03Dropping support for upstart.Daniel Baumann
Ubuntu switched to systemd too, no point in keeping upstart support arround anymore.
2015-01-04Updating year in copyright notices to 2015.Daniel Baumann
2014-08-28Moving partial python rewrite to separate branch, let's do it in the ↵Daniel Baumann
jessie+1 cycle rather than go with the current mixed code.
2014-02-08Updating copyright notices for 2014.Daniel Baumann
2013-11-04Rewriting binary_includes in python.Daniel Baumann
2013-11-04Switching to later submodule naming scheme for python stubs.Daniel Baumann
2013-08-07Removing obsolete starting of binary_debian-installer in binary.Daniel Baumann
2013-05-06Removing all references to my old email address.Daniel Baumann
2013-05-06Dropping powerpc bootloader support (yaboot), there is nobody actively ↵Daniel Baumann
maintaining this in live-build.
2013-05-06Dropping sparc bootloader support (silo), there is nobody actively ↵Daniel Baumann
maintaining this in live-build.
2013-05-06Updating year in all copyright notices.Daniel Baumann
2013-05-06Adding debian version 4.0~a1-1.debian/4.0_a1-1Daniel Baumann
2013-01-01Updating year in all copyright notices.Daniel Baumann
2012-09-29Including loadlin on d-i images on amd64 and i386.Daniel Baumann
2012-09-26Removing virtual-hdd image type.Daniel Baumann
Rather than a half broken image type, we'll bet our money on having proper partman recipies support implemented for hdd image types. Even if we don't make it for wheezy, it's better to not have virtual-hdd in there and tell users to use the jessie version for proper hdd images.
2012-08-27Dropping lb prefix from live-build scripts, not needed anymore.Daniel Baumann
Previously, we needed to keep the lb_* prefix as the scripts could also be executed standalone. Since the lb wrapper is mandatory since squeeze, we can drop this now.
2011-03-09Prefixing helper scripts to make 'out of source' usage usable (Closes: #572455).Daniel Baumann
2011-03-09Updating internal variables from lh to lb scheme, should be the last piece ↵Daniel Baumann
to finish the live-helper to live-build rename.
2011-03-09Updating internal calls to use live-build instead of live-helper.Daniel Baumann
2011-03-09Updating copyright headers for live-build.Daniel Baumann
2011-03-09Moving /usr/share/live-helper to /usr/share/live/build.Daniel Baumann
2011-03-09Rearranging helpers scripts in source tree.Daniel Baumann