summaryrefslogtreecommitdiff
path: root/scripts/build/config
AgeCommit message (Collapse)Author
2019-06-03Reenabled the command line option for colored messages for lb_config. The ↵Roland Clobus
functionality was added 2008-11-01, but was not really active.
2019-03-14Fixed foreign architecture package support to linux kernel flavoursAdrian Gibanel Lopez
Before Stretch there was an special amd64 kernel in the i386 arch repo. So if you wanted to install an amd64 kernel alongside an i386 system you did not need an additional arch repo. Debian added multiarch support. That way you can install library packages from multiple architectures on the same machine. So there is no longer a need for having an amd64 kernel in i386 arch repo. You can add an amd64 arch repo to an i386 arch system and fetch the amd64 kernel from the am64 arch repo. live-build can be setup to use several linux kernel flavours in a single image. So in the days previous to this patch you could issue: lb config --linux-flavours "486 amd64" to use both 486 and amd64 kernel flavours. Adding additional arch support to linux flavours poses two problems: * Packages need to have its arch suffix (e.g. amd64:amd64). If the suffix is not there apt-get insists on search amd64 kernel package on i386 arch repo and, of course, fails to find it. * The rest of the code which handles labels (bootloader config files) or installed filenames (kernel images themselves) do not use the arch suffix. This patch adds foreign architecture package support to linux kernel flavours having taken those problems into account. Practical example usage: i386 system and extra amd64 kernel. First add amd64 foreign architecture in your i386 system thanks to: dpkg --add-architecture amd64 apt-get update . Finally enable amd64 kernel from amd64 arch alongside the i386 system's 686 kernel thanks to: lb config --architectures i386 --linux-flavours "686 amd64:amd64"
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-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
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-11-28Support “lb config --debootstrap-script <script>”Raphaël Hertzog
This option lets you use an alternate bootstrap script when running debootstrap. Thanks to Sjoerd Simons <sjoerd@debian.org> for the initial patch. Closes: #790033
2015-09-23Old BIOS: start partition at specific placeMaximilian Mehnert
Some BIOSes dont't boot from partitions starting at sector 1024. Some are even more peculiar and only start from sector 63. This patch adds an option for the binary_hdd target to manually configure the partition start.
2015-08-29Multi bootloader supportAdrian Gibanel Lopez
Note: OLDIFS use makes IFS to be reset to "" instead to it being unset. Either we need to detect if old IFS was unset to unset it or we need a proper way of setting it as a local variable. Even more IFS it's not currently used in Check_package (which it's called from: binary_hdd). we should have a clean way of resetting/unsetting IFS when calling Check_package. The other approach it's to explicitly define IFS with its default value in the places inside live-build code where we implicitly suppose that it's going to have its default value.
2015-06-05Correcting symlinking of hooks in lb config.Daniel Baumann
2015-05-20Splitting non-live specific hooks into their own subdirectory within hooks.Daniel Baumann
2015-05-04Renaming grub helper to grub-legacy for consistency.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-05-03Dropping automagics for ubuntu.Daniel Baumann
Future live-build versions will still allow to use casper, but its configuration will be done differently by a custom config tree, rather than embedded and maintenance intensive code in live-build itself.
2015-05-03Dropping automagics for casper.Daniel Baumann
Future live-build versions will still allow to use casper, but its configuration will be done differently by hooks in the config tree, rather than embedded and maintenance intensive code in live-build itself.
2015-05-02Moving hooks to hooks/live, both in live-build sources and live-build configs.Daniel Baumann
Really soon live-build will support building non-live images out-of-the-box. Therefore moving hooks into a live specific subdirectory.
2015-04-29Moving grub and grub2 templates into shared bootloader config directory.Daniel Baumann
2015-01-04Updating year in copyright notices to 2015.Daniel Baumann
2015-01-04Dropping manual include of dbus for live-config-systemd, it's a recommends now.Daniel Baumann
2014-12-23Dropping cdebootstrap support (Closes: #773657).Daniel Baumann
debootstrap is the official tool to bootstrap debian, cdebootstrap has had the one or other bug making it broken for times during the release cycles. The extra effort of supporting both debootstrap and cdebootstrap is hardly worth it since the bootstrap stage is cached anyway.
2014-12-10Cleaning up from python removal (LIVE_IMAGE_PARENT_ARCHIVE_AREAS).Daniel Baumann
2014-12-10Dropping support for wheezy.Daniel Baumann
2014-12-10Ugly hack to force dbus inclusion when using live-config-systemd (Closes: ↵Daniel Baumann
#769635).
2014-12-10Somewhat fixing sysvinit and casper legacy support, slightly improved patch ↵Daniel Baumann
from Rui Miguel P. Bernardo <rui.bernardo.pt@gmail.com> (Closes: #772522, #772651). This however will still not work properly building upstart based images but they have been broken/unsupported anyway since a long time.
2014-12-10Fix missing grub2 option in bootloader selection (Closes: #772671).jnqnfe
2014-12-10Avoid failing to autocreate live.list.chroot in lb config when using ↵Daniel Baumann
--clean, thanks to jnqnfe <jnqnfe@gmail.com> (Closes: #770637).
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHIVE_AREAS).Daniel Baumann
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE).Daniel Baumann
2014-09-09Making populating of live.chroot.list distribution specific.Daniel Baumann
2014-09-04Creating live.list.chroot with live packages in config.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-04-25Failing in lb config when config wasn't initialized first with lb init ↵Daniel Baumann
(Closes: #744365).
2014-02-08Updating copyright notices for 2014.Daniel Baumann
2013-11-06Moving live-build development disclaimer message from lb-config to lb-init.Daniel Baumann
2013-11-06Moving bootstrapping of derivative archive-keys from config to init.Daniel Baumann
2013-11-05Adding initial stub for lb init.Daniel Baumann
In the past, we had lb config for both creating a configuration directory and updating settings in there. With the rewrite in Python, we're now changing this finally to the more sane 'init' (create initial 'sample' configuration directory tree, taking most arguments that lb config did) and 'config' which will only be a get/set program to work on top of an already initialized configuration tree.
2013-11-05Dropping chroot_live-packages by moving logic outside of live-build into the ↵Daniel Baumann
config directory.
2013-11-04Creating all includes directories in config.Daniel Baumann
2013-11-04Stuffing bootstrapping of archive-keys for derivatives into lb_config, it's ↵Daniel Baumann
not a runtime thing and its logic should not be embedded in live-build but the config directory.
2013-11-03Automatically symlink hooks upon creation of the configuration tree.Daniel Baumann
2013-10-23Dropping incomplete and not really supported exposed root mode.Daniel Baumann
This might come back in future if there's demand for it and the base is sufficiently cleaned up first.
2013-10-17Adding note about outdated/unsupported versions in general ↵Daniel Baumann
develop-ment-version warning message.
2013-10-17Making warning about alpha version of live-build in lb_config conditional on ↵Daniel Baumann
the internal version.
2013-08-07Correcting wrong defaults setting for parent distribution in config/build.Daniel Baumann
2013-06-25Dropping global archive definitions shipped in ↵Daniel Baumann
/usr/share/live/build/archives (same as with packagelists, hidden archive 'magic' is gone now in favour of explicit config tree configuration).
2013-06-24Using includes.installer instead of includes.debian-installer.Daniel Baumann
2013-05-06Dropping now unused intermediate config/image.Daniel Baumann
2013-05-06Temporary hack for lb config to produce config/build until stuff is cleaned ↵Daniel Baumann
up properly.
2013-05-06Removing dedicated emdebian mode, this can entirely be handled with ↵Daniel Baumann
different defaults.
2013-05-06Renaming config/control to config/image.Daniel Baumann