Commit Graph

960 Commits

Author SHA1 Message Date
Luca Boccassi aa1ae83854 UEFI: use uppercase EFI directory name for Tianocore
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-09 20:57:54 +00:00
Luca Boccassi 035518ff69 UEFI: add support for Secure Boot on amd64 and arm64
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-09 20:57:54 +00:00
Luca Boccassi ac3ed23638 UEFI: add minimal grub.cfg to fat32 partition
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-09 10:43:39 +00:00
Steven Shiau 0effdbd8ef Add grub-based UEFI boot support for ARM64
Closes: #885692
Fixes: !2
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2018-03-02 09:09:29 +01:00
Rohan Garg 952ac834e4 Simplify bootstrapping of foreign architectures with qemu-debootstrap
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-24 17:52:44 +01:00
Raphaël Hertzog 842e971a65 Run mksquashfs with nice -n 19 to not overload the system
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-24 17:04:04 +01:00
Luca Boccassi 9a0c6102fd Fix build with local offline mirrors
Commit a15b579652 (#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-23 14:04:59 +00:00
Raphaël Hertzog 96e73960b3 Fix Check_package invocation in binary_hdd for ntfs-3g
/sbin/mkfs.nfts -> /sbin/mkfs.ntfs
2018-02-14 18:49:36 +01:00
Adrian Gibanel Lopez acafe6618b Failsafe entries rework at binary_loopback_cfg
[hertzog@debian.org:
- Fix conflicts due to renamed variables
]

Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-12-21 14:29:58 +01:00
Adrian Gibanel Lopez d3edb76ad4 Fix handling of multiple kernels in binary_loopback_cfg
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-21 14:22:36 +01:00
Adrian Gibanel Lopez f77034606e Updated binary_loopback_cfg so that it uses Stretch's 686 kernel instead of old 486 one.
[hertzog@debian.org:
Also rename the variables for consistency.
]

Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-12-21 14:16:57 +01:00
Raphaël Hertzog 9f3e5fe8d9 Fix the way the .disk/mkisofs file is created
Thanks to Daniel Reichelt <debian@nachtgeist.net> for the patch.

Closes: #881941
2017-11-20 22:20:53 +01:00
Balint Reczey dae94463e4 Don't fail when initramfs is not used
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2017-11-20 22:09:49 +01:00
Matthijs Kooijman 72ca3bcb20 Handle hardlinks in binary_hdd
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-01 10:29:20 +02:00
Matthijs Kooijman 036b6161f2 Check all dependencies independent of LB_BUILD_WITH_CHROOT
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-01 10:22:09 +02:00
Raphaël Hertzog ff71712590 Add .disk/mkisofs file recording the xorriso command line
Thanks to Thomas Schmitt <scdbackup@gmx.net> for the suggestion.
2017-08-10 14:53:53 +02:00
Raphaël Hertzog e38ad8ae66 Drop the --hardlinks option from xorriso command line call 2017-08-07 17:27:32 +02:00
Raphaël Hertzog 75aa6dec5b Minor updates to lb_config and its manual page
* Update the manual page with the missiong --bootappend-live-failsafe
  option.
* Keep supporting the former --bootloader (without s).
2016-12-16 10:00:36 +01:00
Raphaël Hertzog 50b6a29523 Cleanup binary_loopback_cfg and offer more freedom in overriding the default grub-pc configuration. 2016-12-14 12:33:07 +01:00
Raphaël Hertzog f7bb86fd58 Clean up grub configuration code
* 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-02 23:04:13 +01:00
Raphaël Hertzog 9c974b26bf Instead of renaming kernel for syslinux, create hardlinks 2016-12-02 15:42:59 +01:00
Raphaël Hertzog 7ad6c408e5 Default for LB_UNION_FILESYSTEM is now "overlay" just like in live-boot. 2016-12-02 15:10:19 +01:00
Raphaël Hertzog 58fd378005 Drop useless code in binary_grub-pc 2016-12-02 15:01:28 +01:00
Raphaël Hertzog 4204a74352 Drop useless code in binary_grub-efi 2016-12-02 14:57:45 +01:00
Raphaël Hertzog fb0d4e2a18 Use a grub theme that integrates reasonably well with the current background picture. 2016-12-02 14:50:21 +01:00
Raphaël Hertzog a15b579652 Drop an optimization in chroot_archives that has undesired side-effects
Thanks to jnqnfe for the patch.

Closes: #775989
2016-11-28 21:48:18 +01:00
Raphaël Hertzog d8ca2041ad Get rid of useless bootstrap_archive-keys script
Closes: #773775
2016-11-28 21:36:57 +01:00
Raphaël Hertzog 63af37b9c5 Copy sub-directories as well as files in grub config directory
This is to cover the case of a theme included in that directory.
2016-11-28 21:05:06 +01:00
Raphaël Hertzog 164f23368e Support “lb config --debootstrap-script <script>”
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-28 20:58:19 +01:00
Raphaël Hertzog 822459c7b2 Set xorriso's "modification time" to SOURCE_DATE_EPOCH
Thanks to Chris Lamb <lamby@debian.org> for the patch.

Closes: #831379
2016-11-28 20:58:19 +01:00
Sjoerd Simons c12f7d715e Pass components to debootstrap --second-stage
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-28 20:58:18 +01:00
Raphaël Hertzog 674794a8f4 Try to reuse /isolinux/splash.png in default grub configuration. 2016-11-28 20:58:18 +01:00
Sophie Brun e92dbc3696 Handle packages.chroot with an explicitly trusted file:// repository
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-10-28 08:57:37 +02:00
Adrian Gibanel Lopez 7667d5faa7 Readded Installation boot entries to grub configuration files. 2016-08-26 20:23:02 +02:00
Adrian Gibanel Lopez 2d61dcc53c Force the use of insmod all_video in grub.cfg so that we do not boot in blind mode in UEFI mode. 2016-07-31 15:09:13 +02:00
Adrian Gibanel Lopez 7becd08e4d Added EFI support by the means of grub-efi
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-31 15:09:13 +02:00
Adrian Gibanel Lopez 9cebad25f9 Handle multiple bootloaders properly in binary_iso . Force mkisofs to add an additional eltorito entry if we have more than one bootloader. 2016-07-31 15:09:13 +02:00
Adrian Gibanel Lopez 58a97219c9 Stolen efi-image and grub-cpmodules from src:live-installer
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-31 15:09:13 +02:00
Adrian Gibanel Lopez c4327f6138 binary_loopback_cfg now renders grub.cfg by default.
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-31 15:09:13 +02:00
Adrian Gibanel Lopez 9d1a983cc8 Added new multi bootloader helper functions
* 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-31 15:08:11 +02:00
Adrian Gibanel Lopez 0624064d44 Remove repeated LB_PRIMARY_BOOTLOADER definition 2016-07-31 14:59:33 +02:00
Kristian Klausen 489a09ba92 Disable EXT4 64bit features
e2fsprogs 1.43 enabled ext4 "64bit" feature as default, which broke ext4
HDD images as EXTLINUX doesn't support it.
2016-06-18 19:36:16 +02:00
Kristian Klausen 5a981664ed Switch d-i.debian.org URIs from http to https.
Closes: #809699
2016-05-26 21:58:03 +02:00
Kristian Klausen 6b0777c53e Fix typo in binary_syslinux
Closes: #818916
2016-05-26 21:57:19 +02:00
Kristian Klausen a8cc708427 Correct syslinux/extlinux mbr.bin path (second try)
dash doesn't support parameter expansion it seems.
So implemented with "tr" as in binary_syslinus.
2016-05-26 21:26:36 +02:00
Kristian Klausen ddc6659002 Correct syslinux/extlinux mbr.bin path
Fix #773833
2016-05-26 17:34:22 +02:00
Kristian Klausen 090c6f3cea Revert "Correct syslinux mbr.bin path."
This reverts commit 5161dcdf3b.
2016-05-26 17:33:20 +02:00
Raphaël Hertzog 4d67c64ba2 Better handle empty package lists.
The fix in a294a46fb9 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
2016-01-05 18:05:12 +01:00
Ben Armstrong 1f8975cc60 Remove 586 flavour for i386 architecture. (Closes: #807972) 2015-12-15 14:01:29 +00:00
Maximilian Mehnert 2c118b384c scripts/build/binary_hdd: Fix code style 2015-12-15 13:59:49 +00:00
Maximilian Mehnert 46920d22bd Old BIOS: start partition at specific place
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-23 10:48:46 +02:00
Maximilian Mehnert 8a52e569f5 force link creation when diverting flash-kernel
"ln -s /bin/true chroot/usr/sbin/flash-kernel" fails if the target
already exists.
2015-09-23 10:44:11 +02:00
Adrian Gibanel Lopez b6771e7360 Loopback cfg support.
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-30 00:04:04 +02:00
Adrian Gibanel Lopez d515ae5684 Multi bootloader support
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-29 23:56:41 +02:00
Carlos Zuferri d43874c405 Adding missing file extension to hdd images. 2015-08-27 10:17:22 +02:00
Maximilian Mehnert 5161dcdf3b Correct syslinux mbr.bin path. 2015-08-10 21:57:51 +02:00
Daniel Baumann 2dcb4dc06e Updating stat calls to also give the right result in container setups, thanks to Kristian Klausen <klausenbusk@hotmail.com> (Closes: #789300). 2015-08-10 21:45:00 +02:00
Daniel Baumann 421419c7fc Getting rid of hard-coded release numbers and using /etc/os-release instead (Closes: #790860).
Unfortunately VERSION_ID on testing/unstable is currently not included
in /etc/os-release, see #795124.
2015-08-10 21:31:21 +02:00
Daniel Reichelt 2a400dc63e Fix check for presence of chroot hooks 2015-07-26 13:44:16 +02:00
Raphaël Hertzog 2792097208 Drop elilo from list of d-i required packages on i386.
It's gone from unstable/testing and has never been really useful
on non-ia64 systems.
2015-07-15 12:05:52 +02:00
Raphaël Hertzog b2dce51156 Do not pass an empty version in APT::FTPArchive::Release::Version (Closes: #789800).
This avoids live-build triggering an apt-ftparchive bug (#693092).
2015-06-24 20:13:34 +02:00
Daniel Baumann f7d2e5a84b Correcting typos in chroot_hooks. 2015-06-15 07:11:03 +02:00
Daniel Baumann c8ccfbc1b3 Removing parent-directory too when cleaning up the config tree bind mount in chroot. 2015-06-05 23:15:19 +02:00
Daniel Baumann 64a82a486c Correcting execution of local source hooks. 2015-06-05 22:29:47 +02:00
Daniel Baumann 3d422634df Correcting execution of local binary hooks. 2015-06-05 22:28:50 +02:00
Daniel Baumann 2fec43b68a Correcting symlinking of hooks in lb config. 2015-06-05 21:35:59 +02:00
Daniel Baumann ca1a31dec6 Installing apt and dpkg updates (if any) first in derivatives mode, then doing dist-upgrade. 2015-05-23 12:42:16 +02:00
Daniel Baumann 50794b1de1 Splitting non-live specific hooks into their own subdirectory within hooks. 2015-05-20 08:19:56 +02:00
Daniel Baumann 1c3891775b Correcting leftover reference to binary_grub in binary. 2015-05-18 12:38:46 +02:00
Daniel Baumann 095e999d0c Removing broken samhain handling (Closes: #785264). 2015-05-14 13:15:45 +02:00
Daniel Baumann 9bf7c99eed Dropping obsolete template checks within grub helpers. 2015-05-04 20:37:00 +02:00
Daniel Baumann cf68abf417 Renaming grub helper to grub-legacy for consistency. 2015-05-04 20:36:20 +02:00
Daniel Baumann f93fa286d5 Renaming grub2 helper to grub-pc for later grub-efi addition. 2015-05-04 20:33:00 +02:00
Daniel Baumann 50b0b6f125 Dropping support for upstart.
Ubuntu switched to systemd too, no point in keeping
upstart support arround anymore.
2015-05-03 16:12:30 +02:00
Daniel Baumann 279a149d8a Dropping automagics for ubuntu.
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-03 16:03:10 +02:00
Daniel Baumann f93e83e351 Dropping automagics for casper.
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-03 15:50:03 +02:00
Daniel Baumann d18cb12cc1 Moving hooks to hooks/live, both in live-build sources and live-build configs.
Really soon live-build will support building non-live images out-of-the-box.
Therefore moving hooks into a live specific subdirectory.
2015-05-02 15:42:00 +02:00
Daniel Baumann 7e633e77f2 Moving grub and grub2 templates into shared bootloader config directory. 2015-04-29 07:52:56 +02:00
Daniel Baumann ed197cd852 Overwriting reather than appending content of autorun.inf (Closes: #777359). 2015-04-28 07:58:16 +02:00
Daniel Baumann d0219db4cf Calling lb config in lb build to support building a all-default-image with a simple lb build (Closes: #778327). 2015-04-28 07:58:16 +02:00
Daniel Baumann b1a8ae2e7c Correcting wrong tar command for tarball images, thanks to Yadickson Soto <yadickson@gmail.com> (Closes: #780627). 2015-04-28 07:58:16 +02:00
Daniel Baumann d32a3ed292 Removing temporary hack to exclude prism2-usb-firmware-installer, the download homepage seems to work again (Closes: #783433). 2015-04-27 07:50:52 +02:00
Daniel Baumann 319866567a Applying patch from jnqnfe <jnqnfe@gmail.com> to correct grub2 bootloader directory within the binary images (Closes: #775316). 2015-02-07 06:56:34 +01:00
Daniel Baumann 0c94983071 Using same logic to create the source/.disk/archive_trace for binary/.disk/archive_trace too (Closes: #774200). 2015-02-07 06:50:28 +01:00
Daniel Baumann e51315ae1e Switching to default to linux-image-586 on i386. 2015-01-26 06:30:49 +01:00
Daniel Baumann 673a8da58b Using -iso-level 3 option for xorriso to work with image sizes beyond 4 GB (Closes: #775424). 2015-01-25 12:17:50 +01:00
Daniel Baumann 1cb6743d1c Correcting typo in stagefile check for includes.chroot. 2015-01-25 10:27:26 +01:00
Daniel Baumann 1b4424f72f Adding check for isolinux build-depends in chroot. 2015-01-07 10:57:00 +01:00
Daniel Baumann affa96f63e Removing spurious .grep.swp temporary file in source tree. 2015-01-05 18:36:12 +01:00
Daniel Baumann 242aef5d83 Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
Daniel Baumann 1354704cad Dropping manual include of dbus for live-config-systemd, it's a recommends now. 2015-01-04 19:53:11 +01:00
Daniel Baumann 2309994612 Correcting dependency checks in binary_package-lists (Closes: #774336). 2015-01-04 19:50:58 +01:00
Daniel Baumann 90024a0391 Applying slightly modified patch from jnqnfe <jnqnfe@gmail.com> to show correct win32-loader ico file on windows (Closes: #772781). 2015-01-04 19:37:21 +01:00
Daniel Baumann 93592a81b6 Dropping some sparc leftovers (Closes: #774196). 2015-01-04 18:58:35 +01:00
Daniel Baumann 30122125be Adding wget dependency in chroot_firmware. 2015-01-04 18:22:53 +01:00
Daniel Baumann 501a2817a5 Updating wget dependency in installer_debian-installer to look for wget on the host system rather than the chroot. 2015-01-04 18:22:03 +01:00
Daniel Baumann fdc9250bca Changing package dependency checks within chroot to work outside as well. 2015-01-04 18:19:47 +01:00
Daniel Baumann b814f4e07e Dropping cdebootstrap support (Closes: #773657).
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-23 22:54:41 +01:00
Daniel Baumann cb7e5f256c Cleaning up from python removal (LIVE_IMAGE_PARENT_ARCHIVE_AREAS). 2014-12-10 09:19:07 +01:00
Daniel Baumann 07253b661c Updating misc settings for progress-linux. 2014-12-10 09:01:06 +01:00
jnqnfe 31dbf95d86 Address "should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch" fixme. 2014-12-10 08:44:05 +01:00
Jan Blunck 9d5639e9a0 Bind local repository into chroot directory.
If a local repository path is given as a mirror URL lets bind it into the
chroot. The local repository will be unmounted while processing "remove" or
latest by the exit function.
2014-12-10 08:43:02 +01:00
Daniel Baumann b5e99b5b14 Dropping support for wheezy. 2014-12-10 08:38:42 +01:00
Daniel Baumann 8233dd2c4f Ugly hack to force dbus inclusion when using live-config-systemd (Closes: #769635). 2014-12-10 08:23:26 +01:00
Daniel Baumann 048c0827ae Somewhat fixing sysvinit and casper legacy support, slightly improved patch 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-10 08:19:48 +01:00
jnqnfe 0e9d949c3d Fix typo in variable name (LH_LINUX_FLAVOURS instead of LB_LINUX_FLAVOURS) in installer_debian-installer script, affecting the armel architecture (Closes: #770796). 2014-12-10 07:58:02 +01:00
Daniel Baumann 57dd8c6376 Correcting typo in apt.conf.d directory name, thanks to jnqnfe <jnqnfe@gmail.com> (Closes: #771392). 2014-12-10 07:56:10 +01:00
Daniel Baumann 703b6d1f1f Correcting stage name check in chroot_includes, thanks to jnqnfe <jnqnfe@gmail.com> (Closes: #771377). 2014-12-10 07:54:30 +01:00
jnqnfe ef9b1e8487 Fix missing grub2 option in bootloader selection (Closes: #772671). 2014-12-10 07:51:50 +01:00
jnqnfe 6577c386ae Fix chroot_package-lists script saving to wrong cache (Closes: #771002). 2014-12-10 07:50:00 +01:00
Daniel Baumann 0290727086 Avoid failing to autocreate live.list.chroot in lb config when using --clean, thanks to jnqnfe <jnqnfe@gmail.com> (Closes: #770637). 2014-12-10 07:45:14 +01:00
Daniel Baumann 2eecd1b814 Cleaning up from python removal (LIVE_IMAGE_ARCHIVE_AREAS). 2014-12-10 07:41:29 +01:00
Daniel Baumann 1f7f6dd88a Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE). 2014-12-10 07:39:58 +01:00
Raphaël Hertzog 7b6dfd9d16 binary_syslinux: correct the path used to check if the bootloader is available.
The {iso,pxe,ext,sys}linux packages use /usr/lib/{ISO,PXE,EXT,SYS}LINUX/
directories and not /share/{ISO,PXE,EXT,SYS}LINUX/.
2014-12-10 06:26:55 +01:00
Raphaël Hertzog a294a46fb9 Properly support empty package lists.
The user might not have created any package list or it might have
created a packages list that end up being empty due to various #if tests.
We should not fail in those cases.
2014-12-10 06:24:02 +01:00
Daniel Baumann e9c1580178 Dropping prism2-usb-firmware-installer which fetches firmware from (at least) temporarily broken website. 2014-11-28 10:38:48 +01:00
Daniel Baumann 61a166adea Applying patch from Gabriele Gristina <gabriele.gristina@gmail.com> to fix automated checks for using aptitude. 2014-11-10 19:48:53 +01:00
Daniel Baumann 7c00b1b4ac Removing source_includes from toplevel source script, it was a python stub and will come back at a later point. 2014-09-11 06:40:15 +02:00
Daniel Baumann 8eaba8ea5c Making populating of live.chroot.list distribution specific. 2014-09-09 21:00:56 +02:00
Daniel Baumann d1eae01577 Creating live.list.chroot with live packages in config. 2014-09-04 04:49:05 +02:00
Daniel Baumann 50f2ef8712 Dropping leftover testroot call in bootstrap_cdebootstrap and bootstrap_debootstrap. 2014-08-28 23:07:31 +02:00
Daniel Baumann bc50443cf0 Moving partial python rewrite to separate branch, let's do it in the jessie+1 cycle rather than go with the current mixed code. 2014-08-28 00:59:28 +02:00
Daniel Baumann 2a829562c9 Adding second set of bootloader templates for wheezy. 2014-07-24 05:02:11 +02:00
Daniel Baumann dd47358700 Unconditionally replacing bootloader symlinks with syslinux 6 from jessie, this will break building wheezy images (so we have to come up with something better than that prior upload). 2014-07-22 20:26:06 +02:00
Daniel Baumann 1606ed3c5a Enabling syslinux 6 support for jessie as well. 2014-07-22 20:11:56 +02:00
Daniel Baumann 6cfcbbb576 Updating isohdpfx handling for syslinux 6. 2014-06-30 21:05:57 +02:00
Daniel Baumann e8cbbb09d3 Enabling syslinux 6 support for sid. 2014-06-13 08:39:22 +02:00
Daniel Baumann 4b815ee833 Also creating source stagefile in source_debian. 2014-05-07 07:59:44 +02:00
Daniel Baumann 6bfcd3689a Adding wheezy legacy handling for syslinux. 2014-05-07 05:27:23 +02:00
Daniel Baumann 604d5f1416 Only removing stage files in lb clean --stage and keep .build around in order for init to detect initialized config directories properly. 2014-05-07 05:22:30 +02:00
Simon McVittie 5d6574552f Add support for making ext[234] or btrfs hdd images bootable with extlinux (Closes: #745816)
extlinux configuration for the bootable image is installed to
/boot/extlinux, matching the extlinux-install script in Debian.

From the configuration point of view it's still called "syslinux",
the same as the rest of the syslinux family (pxelinux, isolinux etc.)
2014-04-27 12:37:37 +02:00
Daniel Baumann 10a6e8e579 Cleaning /etc/hosts as in previous live-build versions (Closes: #744939). 2014-04-27 12:30:02 +02:00
Daniel Baumann d3a0022d00 Calling init in build as well when automatically populating a new config tree. 2014-04-27 07:18:06 +02:00
Daniel Baumann b30ee01e8a Abort early in installer_preseed if d-i is not included on the image (Closes: #745855). 2014-04-26 08:05:32 +02:00
Daniel Baumann 057a9097e5 Updating sha1sum for recompressed initrd images (Closes: #745205). 2014-04-26 08:05:32 +02:00
Daniel Baumann 9db58d9489 Dropping superfluous comment about recompression initrd images in chroot_hacks. 2014-04-26 08:05:32 +02:00
Daniel Baumann 1867dc1e52 Using cp -a on all non-fat filesystems to copy content into the binary image (Closes: #745824). 2014-04-26 08:05:29 +02:00
Daniel Baumann d86fb1aeb4 Failing in lb config when config wasn't initialized first with lb init (Closes: #744365). 2014-04-25 21:05:37 +02:00
Daniel Baumann cce1e47ce8 Correcting required installer package determination to avoid extra packages, thanks to Benjamin Moody <benjamin.moody@gmail.com> (Closes: #739729). 2014-04-25 21:00:56 +02:00
Daniel Baumann 7a52186c1b Only automatically do replacements within syslinux configs when they are not directories (as they can be in the pxelinux.cfg case), thanks to Antony Messerli <amesserl@rackspace.com> (Closes: #745760). 2014-04-25 20:51:14 +02:00
Kiel Christofferson c9a09a282c Only call shift if args are not empty.
Some shells (like dash) will exit fatally when the shift builtin is called
beyond the last option.
2014-03-02 06:22:19 +01:00
Kiel Christofferson 3c69e6b56c Auto-detect foreign architectures in packagelist.
* Add function to output unique list of foreign architectures from an
  expanded package list.
* If foreign architectures are detected, add unique architectures
  to dpkg and update apt.
* This requires users to explicitly list at least _one_ package of a
  foreign architecture in their package list (e.g. foo:arch) for any other
  foreign arch dependencies to be handled appropriately.
2014-03-02 06:22:13 +01:00
Kiel Christofferson 9240aa3d3e Only grab the latest version of kernel+initrd pair. 2014-02-21 12:56:43 -05:00
Kiel Christofferson a934c03e06 Use LB_INITRAMFS case instead of assuming "live". 2014-02-21 12:56:43 -05:00
Daniel Baumann eb336bb782 Updating copyright notices for 2014. 2014-02-08 17:47:24 +01:00
Daniel Baumann 5733ae0fe1 Explicitly building iso images with rock ridge extension. 2013-12-29 12:03:39 +01:00
Daniel Baumann 6ceaaa1e93 Silencing copying of syslinux themes since users get always distracted about syslinux 6 files not being dereferenced (which can be totally ignored if you're using syslinux 4). 2013-11-26 08:03:57 +01:00
Daniel Baumann aeaaf8709e Moving live-build development disclaimer message from lb-config to lb-init. 2013-11-06 09:48:30 +01:00
Daniel Baumann 038b1fa8f6 Moving bootstrapping of derivative archive-keys from config to init. 2013-11-06 08:16:31 +01:00
Daniel Baumann 960de852b7 Adding initial stub for lb init.
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-05 12:20:11 +01:00