Even if they won't boot directly from CD/DVD, make it easy for people
using our images by giving them all the bits they'll need to get them
booting somehow.
Replace "alpha" with "a" and "beta" with "b". We've only got 32
characters to use here, so we need to shorten this. This way we can
specify DEBVERSION as a useful long string like "stretch-DI-alpha1" as
a version to appear in file/directory names, but without overflowing
at the VOLID level. May need more tweaks later here, but for now this
seems to do what we need.
FTAOD: this won't change "alpha" in the architecture name, as that is
added later.
Make sure that the package we're told about exists before we look for
its size - a number of the dependencies and recommends may not exist
and this will cause errors for us.
Also list the configured max_pkg_size at the top of the script, to
help with debugging later.
Previously, the code would only check sizes for packages explicitly
listed but packages brought in due to dependency resolution would not
be checked. Now fixed.
Call cpp directly on our input task file instead of using it in a
pipeline. Not clear why this was ever done, and it obscures errors
like ENOENT (if the specified task file is missing).
When we've got multiple copies of the same initramfs hard-linked
together, gzip gets unhappy when we start modifying things
later. Explicitly break the links to fix that.
This code was using "-efi-boot-part", which works fine for booting but
creates images that d-i can't use: only the full disk or the ESP
partition would contain working filesystems, and d-i doesn't like that.
Instead, switch to appending the ESP as an extra partition on the end
of the image. This will take a small amount of extra space, but will
at least work reliably!
Split the code up and use BOOT_EFI and BOOT_BIOS to control which
goes where. We now support:
* BOOT_BIOS=1 BOOT_EFI=0 for BIOS boot only via an ElTorito boot
record (like debian-cd used to be before EFI support was added)
* BOOT_BIOS=1 BOOT_EFI=2 for standard BIOS boot as
primary ElTorito boot record and EFI as an alternate ElTorito boot
record (common case, just like we've been doing for amd64 in
debian-cd for a while)
* BOOT_BIOS=0 and BOOT_EFI=1 for *only* EFI boot as the primary
ElTorito boot record (new case, might be useful for some
Macs *maybe*)
Set BOOT_METHODS in the debian-cd environment to determine which of
these cases is desired in a given build.
Also removed the support for the "old" syslinux packaging layout, it's
not been around for a while now.