Commit Graph

482 Commits

Author SHA1 Message Date
Luca Boccassi 46c9596926 Add options to build ONIE images
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-22 16:14:01 +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
Raphaël Hertzog 1f1dce740e Use $SOURCE_DATE_EPOCH when updating timestamps of manual pages
This makes the package reproducible at build time.

Closes: #879169
2017-11-20 22:04:35 +01:00
Raphaël Hertzog 37840d9cb2 Fix version strings in manual pages 2017-08-29 15:07:32 +02:00
Raphaël Hertzog c5a334deb8 Update PREPARER data for consistency 2017-08-29 15:06:35 +02:00
Raphaël Hertzog 3f909bf486 Drop all references to live-systems.org and update copyright file
Also fix the version string in the manual pages.

Closes: #859290
2017-08-29 14:12:33 +02:00
Raphaël Hertzog 10a5580c3a Fix english mistakes in lb_config(1) 2016-12-16 10:03:45 +01: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 53eab12a24 Fix lintian warning about bad whatis entry 2016-11-28 23:23:24 +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 2ea1329746 Drop left-over translation files for removed lb_testroot command. 2016-11-28 20:58:19 +01:00
Raphaël Hertzog 6c6f34d92d Manual pages updates
Thanks to jnqnfe for the patch.

Closes: #774730
2016-11-28 20:58:19 +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
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
Ben Armstrong 1f8975cc60 Remove 586 flavour for i386 architecture. (Closes: #807972) 2015-12-15 14:01:29 +00:00
trebmuh 89040368a8 [l10n] Update French translation for manpages. 2015-12-15 14:00:26 +00:00
Carlos Zuferri 90a4410cf9 Using 'Live Systems Project' as default project in .pot files. 2015-12-15 14:00:25 +00:00
Daniel Baumann 4789428101
Releasing debian version 5.0~a11-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-08-23 10:58:02 +02:00
Daniel Baumann 44ab759038
Releasing debian version 5.0~a10-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-08-10 19:36:25 +02:00
Daniel Baumann 06fb96a10c
Releasing debian version 5.0~a9-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-06-06 06:40:39 +02:00
Daniel Baumann 3c303e7f53
Releasing debian version 5.0~a8-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-05-19 06:27:05 +02:00
Daniel Baumann 66d8b61303
Releasing debian version 5.0~a7-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-05-14 13:16:48 +02:00
Daniel Baumann 9280926b11 Switching from http.debian.net to httpredir.debian.org as default binary mirror. 2015-05-10 19:10:28 +02:00
Daniel Baumann ffb463f775
Releasing debian version 5.0~a6-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-05-04 20:04:23 +02:00
Daniel Baumann 7f6b1d71f8
Releasing debian version 5.0~a5-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-04-28 07:58:18 +02:00
Daniel Baumann 9c51918b3b
Releasing debian version 5.0~a4-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-04-26 20:21:09 +02:00
victory 994b335f53 Unfuzzy Japanese translation. 2015-04-09 05:23:27 +09:00
Daniel Baumann ba53a1f948
Releasing debian version 5.0~a3-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2015-02-07 06:57:48 +01:00
Daniel Baumann e51315ae1e Switching to default to linux-image-586 on i386. 2015-01-26 06:30:49 +01:00
Daniel Baumann 242aef5d83 Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +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 2841d696c0
Releasing debian version 5.0~a1-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2014-12-10 08:39:45 +01:00
Daniel Baumann a767601f25
Releasing debian version 4.0.4-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2014-12-10 08:24:49 +01:00
jnqnfe ef9b1e8487 Fix missing grub2 option in bootloader selection (Closes: #772671). 2014-12-10 07:51:50 +01:00
Daniel Baumann a157fbb361
Releasing debian version 4.0.3-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2014-10-25 14:39:17 +02:00
Daniel Baumann afef2c271e
Releasing debian version 4.0.2-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2014-09-12 13:42:57 +02:00
Daniel Baumann 9c3b8eb08a Dropping incomplete German manpage translations. 2014-09-09 21:01:54 +02:00
Daniel Baumann cfaa08dfd2 Making check target in manpages makefile comply with the rest. 2014-09-09 21:01:53 +02:00
victory 75ba99dd27 Add Japanese translations. 2014-09-09 21:00:53 +02:00
victory c736a9743d Fix typos in lb_config.1. 2014-09-09 21:00:49 +02:00
Daniel Baumann b1ce772ab7
Releasing debian version 4.0.1-1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
2014-08-28 23:26:04 +02:00
Daniel Baumann c1d85328f8 Restoring old manpages since we're back to the non-python implementation (Closes: #745134). 2014-08-28 01:01:31 +02:00
Daniel Baumann 5c16b340e5 Releasing debian version 4.0~alpha39-1. 2014-07-24 05:06:08 +02:00
Daniel Baumann 802741f84a Releasing debian version 4.0~alpha38-1. 2014-06-25 21:08:54 +02:00
Carlos Zuferri 6f8f7f96d2 Adding '--package-version' to po4a options. 2014-05-26 21:25:13 +02:00
Carlos Zuferri 446190515c Adding .po integrity check target to manpages/Makefile. 2014-05-25 14:35:55 +02:00
Daniel Baumann 9cbb6865c1 Releasing debian version 4.0~alpha37-1. 2014-05-07 07:01:54 +02:00
Daniel Baumann 4b5d831313 Releasing debian version 4.0~alpha36-1. 2014-04-28 19:51:41 +02:00
Daniel Baumann eca7aca936 Releasing debian version 4.0~alpha34-1. 2014-04-26 08:05:32 +02:00
Daniel Baumann 145418141e Releasing debian version 4.0~alpha33-1. 2014-03-31 21:48:33 +02:00