Commit Graph

615 Commits

Author SHA1 Message Date
Lyndon Brown c534ff52a4 defaults: ensure labels have defaults for derivatives 2020-03-20 10:19:33 +00:00
Lyndon Brown 945a166f75 strip progress-linux distro hacks
progress-linux, as discussed in MR #142 ([1]) is a little known distro,
which appears to be little more than a personal project of the original
author of live-build.

given that, the expense of maintaining all of these old hacks for it
cannot be justified. it is not known whether or not live-build is even
used with respect to it since the author abandoned live-build some
years ago.

also, at least one past change in live-build possibly broke progress-linux
compatibility anyway, which would have required progress-linux users of
live-build to use a custom progress-linux config, or a progress-linux
fork of live-build, and there is no knowing how much of the hacks in this
"upstream" codebase any user of progress-linux currently relies upon.
and again, progress-linux appears to just be a personal project of
Daniel's, with afaik very little userbase. (Daniel seems to be the only
developer working on the project which speaks to how small it is).

[1]: https://salsa.debian.org/live-team/live-build/-/merge_requests/142

Gbp-Dch: Short
2020-03-20 10:19:33 +00:00
jnqnfe 4fa83598a3 grub: remove old and unused splash code
The LB_GRUB_SPLASH variable is populated by the --grub-splash param
but is not actually used for anything.

Gbp-Dch: Short
2020-03-20 10:02:52 +00:00
Lyndon Brown d5dfe38bfb manpages: correct date & version
Gbp-Dch: Ignore
2020-03-17 02:46:13 +00:00
Lyndon Brown 49e68da5ee allow turning off colour
necessary to give control when colour is default enabled

Gbp-Dch: Short
2020-03-16 13:32:16 +00:00
Luca Boccassi 161e7c8223 Fix typo in lb_config.1 manpage
Gbp-Dch: ignore
2020-03-12 12:49:28 +00:00
Lyndon Brown 1e0339a4e3 remove obsolete loop-aes-utils related losetup hack
677415f6d7 (2007) in v1.0~a2-1 added a hack
relating to the loop-aes-utils package and losetup. this commit bundled
a bunch of changes, it was not specific to the hack, and so info about the
hack is limited to a brief comment included within the related change in
defaults:
```
# Workaround for loop-aes-utils divertion
# (loop-aes-utils' losetup lacks features).
```
though it is very similar to the removed fdisk hack in that it seems that
one package may replace a binary from another, moving the original to a
new location, and this hack gives the user the opportunity to select the
original instead of the one put in its place, for use in LB.

the comment mentions a package called loop-aes-utils as being the package
that performs such a diversion, and that the need for the hack was that
losetup itself lacked features, presumably encryption support, and it is
clear that it is the losetup binary that is the focus of the diversion.

looking into the history of loop-aes-utils a little, this package was
dropped from debian back in 2012 (#680748), favouring encrytion support of
dm-crypt/cryptsetup.

double checking file contents of packages, only the mount package carries
an /sbin/losetup file, so presumably this means that dm-setup/cryptsetup
do not perform such a diversion of losetup (i.e. their use is exclusively
done directly).

since the possible diversion is simply gone, that completely removes any
point in having the hack of giving users choice between losetup and the
diverted one. so let's remove this obsolete hack...
2020-03-12 10:31:39 +00:00
Lyndon Brown d9f353c737 remove obsolete fdisk hack
8321653cb3 (from 2007) introduced a hack to
work around bug #445304 in gnu-fdisk for users who may have replaced fdisk
with the classic gnu version. the hack allowed users to select an alternate
fdisk binary to use to work around the buggy binary.

bug #445304 is marked as found in v1.0-1 and fixed in v1.2-1, though may
have been fixe din v1.1. it was marked fixed in 2009.

checking the package archive, gnu-fdisk does not actually exist anymore
in debian, with one exception - it is available for arm64 on sid via
debports, and that version is 1.3 so thus includes the necessary fix
anyway.

it is thus pointless now that we still carry this hack.

Gbp-Dch: Short
2020-03-11 19:06:54 +00:00
Lyndon Brown dab716e079 "Live Systems" -> "Debian Live" 2020-03-11 15:23:31 +00:00
Lyndon Brown 7a4a9f94b8 amend copyright & licensing blocks
Current versions of the project files are built upon versions published
and licensed by Daniel Baumann, but are modified copies of those files and
thus need to be marked as such per licensing requirements (afaik he did
not pass along ownership / licensing rights to anyone when he left the
project). We should also be careful to not be misrepresenting such
modified copies as being attributed to Daniel.

Adding a new copyright line referring to "The Debian Live team" should
suffice for this.

The authorship block in man pages has also similarly been updated.

Notes:
 - tweaked a copy of daniel copyright lines stating 2014 instead of 2015.
   both of these cases were in files that i had personally introduced in
   some of my past merged commits that moved some code around. i don't know
   why they stated 2014.
 - binary_onie was introduced in 2018, so that has a 2018 date instead of
   2016 unlike the rest.
 - 'efi-image' is a 3rd-party (Canonical Ltd) work that we bundle, but it
   has been modified by 674794a8f4 and
   36a3ba7634 so I similarly added a
   debian live copyright line.
 - 'grub-cpmodules' is similar. it was only changed by the indentation fix
   of 36a3ba7634 but modification is
   modification, and this does help cover any possible future changes that
   might be made.
2020-03-11 13:51:19 +00:00
Lyndon Brown 8b109ffb96 config: rename --architectures to --architecture
this has only ever supported specifying a single arch, thus was confusing
being plural

Gbp-Dch: Short
Closes: #952892
2020-03-05 20:39:53 +00:00
jnqnfe fcafaede19 simplify --debian-installer choices
`false` and `none` make no sense as choices for this option. Here we
replace `false` with `none`, and remove `true`.

Note that `true` was treated as an alias for netinst (see the changes to
source_disk and and binary_disk).

For backwards compatibility we still allow `true` and `false` by converting
them to `netinst` and `none` respectively, whilst printing a warning to
encourage users to move to `netinst`/`none`.

Gbp-Dch: Short
Closes: #952864
2020-03-05 11:36:55 +00:00
Lyndon Brown a96107a3f1 manpage: fix missing mention of a config file
this is the last commit for the set reported as #952856 and thus closes it

Gbp-Dch: Ignore
Closes: #952856
2020-03-05 11:28:19 +00:00
Lyndon Brown cb0f943c43 manpage: better explain --distribution
some might think "distribution" refers to "debian"/"ubuntu"/"redhat"/etc

Gbp-Dch: Short
2020-03-05 11:28:19 +00:00
Lyndon Brown 09b24a5dd6 manpage: add non-free firmware note 2020-03-05 11:28:19 +00:00
Lyndon Brown ba08531da3 manpage: fix wrong description for --firmware-binary
--firmware-binary adds firmware to d-i, --firmware-chroot adds to live

Gbp-Dch: Short
2020-03-05 11:28:19 +00:00
Lyndon Brown 6b1f616824 manpage: fix typo
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown ace111863d manpage: clarification
"they" -> "who" (two uses of "they" referring to different things)

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 569d256162 manpage: clarification
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 54f19a3efe manpage: ubuntu support was dropped
...so remove obsolete mentions

Gbp-Dch: Short
2020-03-05 11:28:19 +00:00
Lyndon Brown b3f9580da2 manpage: fix missing stage mention
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 54f77db4f1 manpage: document --system default
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 78f361a571 manpage: clarify
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 887bb3ccd5 manpage: grammar
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown f15d1af0ea manpage: fix typo
"automatise" -> "automate"

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 888f63eb86 manpage: actually explain the purpose of the option in the description
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 1a8377de7d manpage: better explain --debian-installer-gui
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 3c5b687aed manpage: clarity
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 0d86c79880 manpage: clarity
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 3cb4608d2b manpage: fix package cache explanation
"from the local mirror" suggested that live-build is always used with a
local mirror, which is not the case.

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown bc4fc322b5 manpage: clarity
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 23bd035708 manpage: fix typo
"the their"

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown cdb44f4bcc manpage: fix typo
"of each packages" -> "of each package"

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 09c4f89263 manpage: fix typo
"to be build" -> "to be built"

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown c2fb7516ee manpage: source archives clarification
Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown 14a56deb0e manpage: use upper case acronyms
not sure that ISO is an acronym, but included anyway

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown aed4e0fef2 manpage: explain specifying multiple bootloaders 2020-03-05 11:28:19 +00:00
Lyndon Brown 009ddccaed manpage: fix poor bootloaders description 2020-03-05 11:28:19 +00:00
Lyndon Brown 28d2e88ba8 manpage: separate first and secondary build commands
`lb build` is a top level command and the one most users will want. listing
the secondary component build stages alongside it just confuses things.

here we clarify things by moving the second-level build stages to a
separate list.

Gbp-Dch: Short
2020-03-05 11:28:19 +00:00
Lyndon Brown 4037226376 manpage: fix typo
"know" -> "known"

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown a150e0573d manpage: fix typo
"some times" -> "sometimes"

Gbp-Dch: Ignore
2020-03-05 11:28:19 +00:00
Lyndon Brown d8ad687c36 manpage: fix outdated component list 2020-03-05 11:28:19 +00:00
Lyndon Brown 513befa3f5 manpage: fix possible parent installer values
the parent one allows "daily" also

Gbp-Dch: Short
2020-03-05 11:28:19 +00:00
jnqnfe 6adb5976b6 remove another redundant file
Originally removed in 42fb1e1976
Accidentally restored in bc50443cf0

(Closes #952835)
2020-03-01 08:38:05 +00:00
Raphaël Hertzog 44b9b0a650 Support --distribution-binary and --distribution-chroot
This makes it possible to build an image against a first distribution
(--distribution-chroot) and have the resulting image point to another
distribution (--distribution-binary). We can use this to build against a
snapshot and have the result use the original distribution that was
snapshotted.

Closes: #888507
2019-12-19 18:18:44 +01:00
Roland Clobus 1682c5c8d1
Manpage: Update the default values of --mirror-* and --parent-mirror-* 2019-06-22 13:58:54 +02:00
Roland Clobus 14d82a8065
Manpage: use 3rd person form when describing an option 2019-06-22 13:08:57 +02:00
Roland Clobus 137ec1559c
Manpage: simplify the description 2019-06-22 13:05:59 +02:00
Roland Clobus 6ed2715e23
Manpage: the configuration directory (config) cannot be modified 2019-06-19 13:26:16 +02:00
Roland Clobus a9dba166ad
Manpage: removed FIXME for the SYNOPSIS section, all options are now listed 2019-06-19 13:20:15 +02:00
Roland Clobus a2d2065dec
Manpage: removed incorrect mentioning of the -d command line option 2019-06-19 13:11:11 +02:00
Roland Clobus 5aaf2181b8
--mirror-binary* was not properly sorted 2019-06-19 13:07:10 +02:00
Roland Clobus e7a629fb02
Manpage: Use alphabetical order for the description of the command line options 2019-06-19 13:05:24 +02:00
Roland Clobus a50dbe2567
Manpage: typo 2019-06-19 12:27:06 +02:00
Roland Clobus 0a97e7c069
Manpage: consistent use of whitespace in the command line option list 2019-06-19 12:26:07 +02:00
Roland Clobus a957982203
Manpage: added missing \fR tags 2019-06-19 12:25:13 +02:00
Roland Clobus 1837f6a40b
Reordered the command line options to make them in alphabetical order 2019-06-16 13:12:06 +02:00
Roland Clobus a844199e30
Manpage: Added documentation for --bootstrap-qemu-[arch|exclude|static] 2019-06-16 12:47:29 +02:00
Roland Clobus 58a82854a4
Manpage: Added documentation for --loadlin 2019-06-16 12:47:29 +02:00
Roland Clobus aef1b75233
Manpage: Added documentation for --swap-file-path and --swap-file-size 2019-06-16 12:47:29 +02:00
Roland Clobus c8fddcd702
Manpage: Added documentation for --firmware-binary and --firmware-chroot 2019-06-16 12:47:29 +02:00
Roland Clobus 554c37fd9e
Manpage: --parent-archive-areas uses the same argument name as 'lb config --help' 2019-06-16 12:47:29 +02:00
Roland Clobus 7c02640b62
Manpage: --mode explicitly supports debian and progress-linux. Special handling for ubuntu was dropped 2015-05-03 2019-06-16 12:47:29 +02:00
Roland Clobus 05ed83a2b6
Manpage: Added documentation for --hdd-label, --hdd-size and --hdd-partition-start 2019-06-16 12:47:28 +02:00
Roland Clobus 6c6151d0c9
Manpage: Added documentation for --image-name 2019-06-16 12:47:28 +02:00
Roland Clobus c54aa22bf6
Manpage: Added documentation for --initsystem 2019-06-16 12:47:28 +02:00
Roland Clobus ab8c09eca1
--initramfs support none and live-boot 2019-06-16 12:47:28 +02:00
Roland Clobus e9af6d559f
Manpage: Removed references to command line options that are no longer
in the code:
--firmware-binary
--firmware-chroot
--hooks
--parent-mirror-chroot-updates
--parent-mirror-chroot-backports
--parent-mirror-binary-updates
--parent-mirror-binary-backports
--mirror-chroot-updates
--mirror-chroot-backports
--mirror-binary-updates
--mirror-binary-backports
--templates
2019-06-16 12:47:28 +02:00
Roland Clobus f8f09c77c7
Manpage: Added documentation for --zsync 2019-06-16 12:47:28 +02:00
Roland Clobus ae5a77aedb
Manpage: --config synchronised to 'lb config --help' 2019-06-16 12:47:28 +02:00
Roland Clobus 9a4c334a55
Manpage: --compression also accepts xz. The default is none 2019-06-16 12:47:27 +02:00
Roland Clobus 75733ac554
Manpage: Added documentation for --breakpoints 2019-06-16 12:47:12 +02:00
Roland Clobus 45e45a8a22
Matched the documentation of --checksums to the implementation in live-boot 2019-06-16 12:44:13 +02:00
Roland Clobus d9961a8a54
Manpage: --binary-filesystem also accepts ntfs 2019-06-04 08:04:42 +02:00
Roland Clobus c166c87497 Removed option none for --apt-indices, which was removed in 3.0.2-1. 2019-06-03 10:48:58 +00:00
Roland Clobus c4abbbcc7e Reenabled the command line option for colored messages for lb_config. The functionality was added 2008-11-01, but was not really active. 2019-06-03 10:48:58 +00:00
Roland Clobus c035b3f106
Updated URL in the LB_ISO_PUBLISHER field. 2019-04-17 21:29:34 +02:00
Roland Clobus f460533ca1
Updated URL in the LB_ISO_PREPARER field. 2019-04-17 21:27:04 +02:00
Roland Clobus 599ef4892e
Updated URL for po4a. 2019-04-17 21:06:58 +02:00
Roland Clobus 4503eddbed
Updated URL to the manual. 2019-04-17 21:03:23 +02:00
Roland Clobus d8eb2d4d1b
Updated homepage URL. 2019-04-17 21:00:02 +02:00
Matthijs Kooijman 3227d34966 Remove --templates from lb_config manpage
This option was removed in commit 7e633e77f (Moving grub and grub2
templates into shared bootloader config directory.), but the
documentation stayed around.
2019-04-16 17:25:12 +02:00
Adrian Gibanel Lopez 80aa5ab611 Fixed foreign architecture package support to linux kernel flavours
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"
2019-03-14 23:06:31 +01:00
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