summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
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-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-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-08-10Add .disk/mkisofs file recording the xorriso command lineRaphaël Hertzog
Thanks to Thomas Schmitt <scdbackup@gmx.net> for the suggestion.
2017-08-07Drop the --hardlinks option from xorriso command line callRaphaë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-02Clean up grub configuration codeRaphaël Hertzog
* Use only long kernel names. * Put advanced options in a submenu. * Use distro-agnostic labels. * Don't generate entries with kernel version when we have a single version.
2016-12-02Instead of renaming kernel for syslinux, create hardlinksRaphaël Hertzog
2016-12-02Default for LB_UNION_FILESYSTEM is now "overlay" just like in live-boot.Raphaël Hertzog
2016-12-02Drop useless code in binary_grub-pcRaphaël Hertzog
2016-12-02Drop useless code in binary_grub-efiRaphaël Hertzog
2016-12-02Use a grub theme that integrates reasonably well with the current background ↵Raphaël Hertzog
picture.
2016-11-28Drop an optimization in chroot_archives that has undesired side-effectsRaphaël Hertzog
Thanks to jnqnfe for the patch. Closes: #775989
2016-11-28Get rid of useless bootstrap_archive-keys scriptRaphaël Hertzog
Closes: #773775
2016-11-28Copy sub-directories as well as files in grub config directoryRaphaël Hertzog
This is to cover the case of a theme included in that directory.
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
2016-11-28Set xorriso's "modification time" to SOURCE_DATE_EPOCHRaphaël Hertzog
Thanks to Chris Lamb <lamby@debian.org> for the patch. Closes: #831379
2016-11-28Pass components to debootstrap --second-stageSjoerd Simons
Commit e24e4b in debootstrap fixed setup_available to work in the --foreign case (iotw at the second stage). Unfortunately this breaks things if components aren't passed to the second stage _and_ your main component isn't called main. To fix this, pass --components to both the first and second stage debootstrap when needed. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2016-11-28Try to reuse /isolinux/splash.png in default grub configuration.Raphaël Hertzog
2016-10-28Handle packages.chroot with an explicitly trusted file:// repositorySophie Brun
Up to now we created a temporary GPG key that we registered with apt-key but with the switch to GnuPG 2 by default, this code broke. Now we stop doing that but we add the “trusted=yes“ attribute in sources.list so that APT knows that the repository can be trusted even if it's unsigned. Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2016-08-26Readded Installation boot entries to grub configuration files.Adrian Gibanel Lopez
2016-07-31Force the use of insmod all_video in grub.cfg so that we do not boot in ↵Adrian Gibanel Lopez
blind mode in UEFI mode.
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.
2016-07-31Handle multiple bootloaders properly in binary_iso . Force mkisofs to add an ↵Adrian Gibanel Lopez
additional eltorito entry if we have more than one bootloader.
2016-07-31Stolen efi-image and grub-cpmodules from src:live-installerAdrian Gibanel Lopez
These two scripts simplify the creation of efi images based on grub-efi. I have decided to simply steal them. If I had to include them thanks to a source package that would have mean that an src repo would have to be defined by default. TODO: Ask in a bug a RFE so that these two scripts are put into a binary that could be consumed by both live-installer and live-build packages.
2016-07-31binary_loopback_cfg now renders grub.cfg by default.Adrian Gibanel Lopez
The binary parts of grub-pc are left for the original binary_grub-pc. As a consequence both /boot/grub/grub.cfg and /boot/grub/loopback.cfg files will be present in any Debian Live CD. This might be useful to be reused from binary_grub-* bootloaders.
2016-07-31Added new multi bootloader helper functionsAdrian Gibanel Lopez
* Added: functions/bootloaders.sh . This file adds bootloader functions that are heavily used in efi scenarios where a bootloader can act as a first or an extra bootloader. Since the introduction of the new switch: --bootloaders you can setup it like this: --bootloaders=syslinux,grub-efi . This means that syslinux is the first bootloader and grub-efi is the extra bootloader. * Added new bootloader functions: Check_Non_First_Bootloader and Check_Non_Extra_Bootloader. These functions let each one of the bootloaders abort the build because they cannot perform a role either as a first bootloader or as an extra bootloader. * Added bootloader functions: Check_First_Bootloader_Role, Check_Extra_Bootloader_Role and Check_Any_Bootloader_Role These functions let bootloaders to force their default role in a single line. At the same time many binary bootloaders were rewritten to make use of the new bootloader role functions explained above. These roles were enforced: binary_grub-legacy : First bootloader binary_grub-pc : Either first or extra bootloader binary_syslinux : Either first or extra bootloader If a bootloader is tried to be used in a role that it's not meant to be used then the build fails because that might lead to a non-bootable system.
2016-07-31Remove repeated LB_PRIMARY_BOOTLOADER definitionAdrian Gibanel Lopez
2016-06-18Disable EXT4 64bit featuresKristian Klausen
e2fsprogs 1.43 enabled ext4 "64bit" feature as default, which broke ext4 HDD images as EXTLINUX doesn't support it.
2016-05-26Switch d-i.debian.org URIs from http to https.Kristian Klausen
Closes: #809699
2016-05-26Fix typo in binary_syslinuxKristian Klausen
Closes: #818916
2016-05-26Correct syslinux/extlinux mbr.bin path (second try)Kristian Klausen
dash doesn't support parameter expansion it seems. So implemented with "tr" as in binary_syslinus.
2016-05-26Correct syslinux/extlinux mbr.bin pathKristian Klausen
Fix #773833
2016-05-26Revert "Correct syslinux mbr.bin path."Kristian Klausen
This reverts commit 5161dcdf3bb50a8be7385f86fdfc60b0eb700bfa.
2016-01-05Better handle empty package lists.Raphaël Hertzog
The fix in a294a46fb9fe28e43686b18da7b22ec1c46b0d4f was not enough. This should finally resolve the problem when a package list ends up empty (most notably due to #if evaluating to false). Sponsored-By: Offensive Security
2015-12-15Remove 586 flavour for i386 architecture. (Closes: #807972)Ben Armstrong
2015-12-15scripts/build/binary_hdd: Fix code styleMaximilian Mehnert
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-09-23force link creation when diverting flash-kernelMaximilian Mehnert
"ln -s /bin/true chroot/usr/sbin/flash-kernel" fails if the target already exists.
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-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-08-27Adding missing file extension to hdd images.Carlos Zuferri
2015-08-10Correct syslinux mbr.bin path.Maximilian Mehnert
2015-08-10Updating stat calls to also give the right result in container setups, ↵Daniel Baumann
thanks to Kristian Klausen <klausenbusk@hotmail.com> (Closes: #789300).
2015-08-10Getting rid of hard-coded release numbers and using /etc/os-release instead ↵Daniel Baumann
(Closes: #790860). Unfortunately VERSION_ID on testing/unstable is currently not included in /etc/os-release, see #795124.
2015-07-26Fix check for presence of chroot hooksDaniel Reichelt
2015-07-15Drop elilo from list of d-i required packages on i386.Raphaël Hertzog
It's gone from unstable/testing and has never been really useful on non-ia64 systems.
2015-06-24Do not pass an empty version in APT::FTPArchive::Release::Version (Closes: ↵Raphaël Hertzog
#789800). This avoids live-build triggering an apt-ftparchive bug (#693092).