CD creation fails with "disk full", because of rounding errors.
The minimum size of data-allocation is a 'cluster', which is a
power-of-two multiple of sectors.
mkfs.msdos chooses minimum FAT and cluster size for image: FAT12<16G
mkfs.msdos uses block-count where a block is 1024 B, but must be rounded
up to track_size with 32 sectors.
Round up each file to clusters before summing.
A sub-directory entry needs 1 cluster minimum.
Previous changes enabled gzip compressed Linux kernels, but not 100%
sure that it works on all systems. Disable this compression for now.
Switch hppa to use xorriso by default instead of mkisofs. Xorriso
supports kernel command lines to be up to 1023 bytes, better than
mkisofs. mkisofs only supports the older palo version 4 header format
which can hold only 127 characters which might be too small.
Currently the ins loader (mostly HMC loading into an LPAR) only
supports kernels up to 8 MiB. The jessie kernel has 11 MiB, which
does not fit and hence gets its tail overwritten by the initrd
(root.bin) loaded at this address. This change bumps the load
address to 16 MiB, which should allow for some more growth of
the kernel.
Signed-off-by: Philipp Kern <pkern@debian.org>
Object code only modules date back to 2.2 and 2.4 kernel times, when
IBM did not release the source to certain kernel modules. Since many
years everything needed to boot and run the machine is actually
open source. It also got broken due to the kernel growing larger and
adding the oco.bin would overwrite parts of the kernel.
It's safe to say that nobody is actually using this.
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.
Remove un-needed boot$N in the xorriso command line, we don't have
crappy BIOS lomitations.
Remove support for older xorriso versions.
Use new -efi-boot-part --efi-boot-image options to make an
isohybrid-style images with an explicit EFI partition. Will hopefully
make d-i happier with our images from USB.
d-i has removed these files now, so don't look for them for kernel
params. Closes: #767223, #766411. Thanks to Prema and Vagrant for
(identical!) patches. :-)
tasksel now allows selecting the desktop, and d-i has dropped the boot
menu desktop selection, so we no longer need to have desktop boot
menus on CDs.
CD images for specific desktops (xfce/kde/mate/etc) should still
override the default tasksel desktop.
The code was assuming that the first line of output was something like
this (and this is the case of the cd builder machine that uses a custom
built xorriso):
> GNU xorriso 1.2.6 : RockRidge filesystem manipulator, libburnia project.
But the output of the version packaged in Debian does not have the GNU
string:
> xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
We fix this issue by extracting the version from the line starting with
"xorriso version" which does not have this discrepancy.
debian-installer now has extra steps to create a grub_embed file which
can be passed to xorriso's --embedded-boot option. Add corresponding
code in debian-cd to use it to make images USB bootable.
Patch from Samuel Thibault.