summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-28Bump Standards-Version to 4.1.3.Luca Boccassi
2018-03-28Use HTTPS in debian/copyright (policy 4.0.0).Luca Boccassi
2018-03-23ONIE: detect initrd compression instead of hard-codingLuca Boccassi
Instead of hard-coding the decompression and compression formats, detect them at runtime. Install the required dependencies as well - they were mistakenly left out. Gbp-Dch: Ignore
2018-03-23Add Acquire::AllowInsecureRepositories to fix apt-secure in sidLuca Boccassi
The apt-secure option does not work anymore when building a sid image, as with apt 1.6 the existing options are no longer enough to get apt to accept an unsigned repository, which is necessary when using a local cached repository (offline build). Pass Acquire::AllowInsecureRepositories "true"; together with the other options when --apt-secure false is used to fix the issue.
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>
2018-03-22Add NEWS file to warn users about change of live-boot mount pathsLuca Boccassi
2018-03-09UEFI: use uppercase EFI directory name for TianocoreLuca Boccassi
The Tianocore reference UEFI implementation, used for example by Qemu, wants the EFI directory name to be uppercase in the fat32 partition when Secure Boot is enabled, and will fail to load otherwise.
2018-03-09UEFI: add support for Secure Boot on amd64 and arm64Luca Boccassi
Support for UEFI Secure Boot is modelled after how it currently works in Ubuntu and on how it is going to work on Debian. A minimal bootloader, shim, is used as the first-stage and it then loads grub. Both have to be signed. shim-signed is already available in Debian so the filenames are already established, and the grub2 repository and packaging is common between the 2 distros so we can already be reasonably sure of what it is going to be. So if both are available, copy /usr/lib/shim/shim[x64|aa64].efi.signed as boot[x64|aa64].efi so that UEFI loads it first, and copy /usr/lib/grub/[x86_64|arm64]-efi-signed/grub[x64|aa64].efi.signed as grub[x64|aa64].efi. This grub2 EFI monolithic image is currently hard-coded in grub2's repository to look for a config file in efi/debian, so make a copy of the previously added minimal grub.cfg that loads the real one in that directory in both the fat32 and ISO 9660 partitions. The new option --uefi-secure-boot can be set to auto (default, enable or disable. In auto, the lack of the signed EFI binaries is intentionally left as a soft failure - live-build will simply fallback to using the locally generated non-signed grub2 monolithic EFI binary as the only bootloader. Given the difficulties surrounding the Secure Boot signing infrastructure this approach gives the most flexibility and makes sure things will "just work" once the packages are available, without the need to change anything in the configuration. This will also greatly help downstream distributions and users who want to do self-signing. The enable or disable options work as expected. Closes: #821084
2018-03-09UEFI: add minimal grub.cfg to fat32 partitionLuca Boccassi
On some UEFI implementations, like the AMI found in the Supermicro X10SDV-TP8F development board, the fat32 partition will be loaded first and so Grub will set it the root, and then drop to the console as it cannot find any config on it. Add a minimal grub.cfg that allows Grub to find the main config on the ISO 9660 partition and load it. Closes: #892406
2018-03-02Add grub-based UEFI boot support for ARM64Steven Shiau
Closes: #885692 Fixes: !2 Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2018-02-24Update changelogRaphaël Hertzog
2018-02-24Simplify bootstrapping of foreign architectures with qemu-debootstrapRohan Garg
We already require qemu-user-static for this case, we might as well rely on the qemu-debootstrap script that this package provides. Closes: #847919
2018-02-24Run mksquashfs with nice -n 19 to not overload the systemRaphaël Hertzog
Machines tend to become unresponsive during the mksquashfs step. Avoid this by lowering the priority of the process. Thanks: Ronny Standtke for the patch. Closes: #867539
2018-02-23Merge branch 'fix_offline_repo' into 'master'Raphaël Hertzog
Fix build with local offline mirrors See merge request live-team/live-build!1
2018-02-23Fix build with local offline mirrorsLuca Boccassi
Commit a15b579652e64 (#775989) dropped an early exit from the chroot_archives remove step in case the parent mirror chroot and binary parameters are the same and introduced a regression, as with the following live-build now fails when the parent mirror is using a file:/ local apt repository (for example when the build worker is offline and uses a pre-built cache of packages). Example config: lb config --mirror-bootstrap "file:/pkgs" \ --mirror-chroot "file:/pkgs/" \ --mirror-binary "file:/pkgs" \ --parent-mirror-bootstrap "file:/pkgs" \ --parent-mirror-chroot "file:/pkgs/" \ --parent-mirror-binary "file:/pkgs" \ ... with /pkgs being a directory with the packages for the installation and the apt metadata (Packages/Sources/Release). The problem is that, with such a setup, the /pkgs directory is bind mounted inside the chroot as an optimisation in the install step, and umounted as one of the first actions in the remove step for chroot_archives. Before that fix, the script terminated immediately. But now it progresses and at the end it tries to run apt update inside the chroot which will fail since the repository directory has been umounted, and thus the packages and the apt metadata are no longer available, while still being listed in /etc/apt/sources.list. The proposed solution is to umount the local directory at the end of the remove step, rather than at the beginning. Closes: #891206
2018-02-14Fix Check_package invocation in binary_hdd for ntfs-3gRaphaël Hertzog
/sbin/mkfs.nfts -> /sbin/mkfs.ntfs
2018-02-14Add e2fsprogs to Suggests along with mtd-utils, partedRaphaël Hertzog
Closes: #887278
2018-02-09Repo moved to salsaSteve McIntyre
2017-12-21Failsafe entries rework at binary_loopback_cfgAdrian Gibanel Lopez
[hertzog@debian.org: - Fix conflicts due to renamed variables ] Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-12-21Fix handling of multiple kernels in binary_loopback_cfgAdrian Gibanel Lopez
Now grub.cfg shows all the kernel options. Before this patch when you had more than two kernels it only showed the auto option. Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-12-21Updated binary_loopback_cfg so that it uses Stretch's 686 kernel instead of ↵Adrian Gibanel Lopez
old 486 one. [hertzog@debian.org: Also rename the variables for consistency. ] Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-12-07Prepare release to unstabledebian/1%20171207Raphaël Hertzog
2017-11-20Fix the way the .disk/mkisofs file is createdRaphaël Hertzog
Thanks to Daniel Reichelt <debian@nachtgeist.net> for the patch. Closes: #881941
2017-11-20Don't fail when initramfs is not usedBalint Reczey
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-11-20Use $SOURCE_DATE_EPOCH when updating timestamps of manual pagesRaphaël Hertzog
This makes the package reproducible at build time. Closes: #879169
2017-09-20Prepare for releasedebian/1%20170920Raphaël Hertzog
2017-09-18Replace "kirkwood" and "orion5x" armel flavors with the new "marvell" oneRaphaël Hertzog
As done by the linux source package since its version 4.4.
2017-09-01Handle hardlinks in binary_hddMatthijs Kooijman
To generate an hdd image, binary_hdd first estimates the needed size of the image using du. By default, when du finds multiple hardlinked copies of a file, it counts them only once. However, when the target filesystem is FAT, which does not support hardlinks, these files will take up more space when finally copying the contents, breaking the build: P: Copying binary contents into image... cp: error writing 'chroot/binary.tmp/live/initrd.img-4.9.0-3-amd64': No space left on device cp: error writing 'chroot/binary.tmp/efi/boot/bootx64.efi': No space left on device cp: error writing 'chroot/binary.tmp/efi/boot/bootia32.efi': No space left on device cp: cannot create directory 'chroot/binary.tmp/boot/grub': No space left on device cp: cannot create directory 'chroot/binary.tmp/isolinux': No space left on device To fix this, pass --count-links to du when the target is FAT, to make the space estimation correct. This problem is exposed by commit 9c974b26b (Instead of renaming kernel for syslinux, create hardlinks), which might need to be separately fixed (to not waste space on FAT targets), but binary_hdd should at least handle hardlinks more gracefully.
2017-09-01Add changelog entryRaphaël Hertzog
2017-09-01Check all dependencies independent of LB_BUILD_WITH_CHROOTMatthijs Kooijman
Since commit fdc9250bc (Changing package dependency checks within chroot to work outside as well), Check_package automatically checks for LB_BUILD_WITH_CHROOT and works inside as well as outside of the chroot, so no need to check LB_BUILD_WITH_CHROOT before calling them. Install_package and Remove_package are just a no-op when building without chroot, so they can also be called unconditionally. Restore_cache and Save_cache do not check LB_BUILD_WITH_CHROOT but it it should not hurt to call them when not needed (which already happened in some cases). This commit makes all Check_package calls unconditional on LB_BUILD_WITH_CHROOT. For binary_syslinux, this fixes the check (which used outdated paths outside the chroot since 7b6dfd9d1), for binary_grub-efi, binary_package-lists and chroot_package-lists this simplifies the code (but also causes the check to become package-based instead of file-based on apt-based systems), and for binary_loadlin and binary_win32-loader this adds the check outside the chroot which was previously missing.
2017-09-01Error out when needed packages are missing on the hostMatthijs Kooijman
Previously, Check_package would only show an error when host packages are missing on a non-apt system. On apt system, the packages would be added to _LB_PACKAGES, which causes them to be installed in the chroot, not in the host (or not at all if Install_package is not called). This behaviour could break the build. This applies to either packages that must be present in the host (as checked with `Check_package host ...`), as well as packages that can be either in the chroot or host (as checked with `Check_package chroot`) when LB_BUILD_WITH_CHROOT=false.
2017-09-01Pass --partscan to losetupMatthijs Kooijman
Recent versions of Linux, parted or some other bit of software cause partition devices, like /dev/loop0p1 to be created when running parted mkpart. However, these devices are not cleaned up when running losetup -d to remove /dev/loop0 later, so they linger around and confuse mkfs (which refuses to make a filesystem, thinking there are partitions): mkfs.fat 4.1 (2017-01-24) mkfs.vfat: Partitions or virtual mappings on device '/dev/loop0', not making filesystem (use -I to override) To prevent this behaviour, pass --partscan to losetup when adding a new partition, to clean up any lingering partitions. It seems losetup does not accept --partscan when deleting a loop device, to clean up at that point, but since binary_hdd mounts the partition last, there should not be any lingering partition devices after live-build is done. The --partscan option is available since util-linux 2.21 (released in 2012), so it should be fairly safe to pass it unconditionally.
2017-08-29Update changelogRaphaël Hertzog
2017-08-29Auto-update version strings in manual pages.Raphaël Hertzog
2017-08-29Fix version strings in manual pagesRaphaël Hertzog
2017-08-29Update PREPARER data for consistencyRaphaël Hertzog
2017-08-29Prepare release to unstabledebian/1%20170829Raphaël Hertzog
2017-08-29Drop all references to live-systems.org and update copyright fileRaphaël Hertzog
Also fix the version string in the manual pages. Closes: #859290
2017-08-29Initialize /etc/default/locale with LANG=C.UTF-8Raphaël Hertzog
That way we always have a valid UTF-8 locale even when we don't have the "locales" (or "locales-all") package installed.
2017-08-10Add .disk/mkisofs file recording the xorriso command lineRaphaël Hertzog
Thanks to Thomas Schmitt <scdbackup@gmx.net> for the suggestion.
2017-08-07Prepare release to unstabledebian/1%20170807Raphaël Hertzog
2017-08-07Drop the --hardlinks option from xorriso command line callRaphaël Hertzog
2017-06-09Add keyboard shortcut on the "Advanced options" syslinux menu entryRaphaël Hertzog
Thanks to Daniel Reichelt <debian@nachtgeist.net> for the patch. Closes: #864386
2017-02-13Prepare release to unstabledebian/1%201702131.2.9-S1cruxRaphaël Hertzog
2017-02-13Drop the versatile kernel flavour on armel. It's no longer built since Linux ↵Raphaël Hertzog
4.9.
2016-12-16Prepare release to unstabledebian/1%20161216Raphaël Hertzog
2016-12-16Fix english mistakes in lb_config(1)Raphaël Hertzog
2016-12-16Minor updates to lb_config and its manual pageRaphaël Hertzog
* Update the manual page with the missiong --bootappend-live-failsafe option. * Keep supporting the former --bootloader (without s).
2016-12-14Cleanup binary_loopback_cfg and offer more freedom in overriding the default ↵Raphaël Hertzog
grub-pc configuration.
2016-12-02Prepare release to unstabledebian/1%20161202Raphaël Hertzog