Commit Graph

61 Commits

Author SHA1 Message Date
Roland Clobus 567e03034b
Add support for dracut
Mini case:
`lb config --distribution sid --debian-installer none --cache-packages false --archive-areas "main" --initramfs dracut-live`

Support includes debian-installer and Calamares

Closes: #1031903
2024-10-25 11:39:28 +02:00
Roland Clobus d54ba390dd
binary_rootfs: Fixed test for /etc/mtab (Closes: #1032408) 2023-08-20 10:57:43 +02:00
Michał Prochera e420c83e4c Unconditional Remove_packages calls in binary_rootfs (Closes: #994982)
That prevents potential errors during future Remove_packages calls without APT indices available. In such cases, APT tries to remove packages with unrecognized names, which results in an error and fails the script execution. An example of this would be installing apt-utils in chroot_archives with --apt-indices option set to false.
2022-01-26 17:55:42 +00:00
Roland Clobus 06ee64b16a
Reactivate '--chroot-filesystem plain'.
This previously undocumented value for '--chroot-filesystem' creates the
uncompressed folder 'live/filesystem.dir'.
This will speed up the generation of live images a lot, because the
squashfs compression is skipped.

Example command line:
  lb config -b hdd --chroot-filesystem plain --binary-filesystem ext4
2022-01-22 17:53:38 +01:00
Ryan Finnie 5da4ff53be
Add initial riscv64 support
Notes:
- No bootloader is configured; images must be booted via direct kernel
  - Tested via qemu + opensbi fw_jump.elf + kernel/initrd
- As riscv64 is currently in ports, the following options are required:
    --distribution unstable
    --mirror-bootstrap http://ftp.ports.debian.org/debian-ports/
    --security false
    --debootstrap-options --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg
- Normally ports require stacking two dists, unstable and unreleased.
  debootstrap does not support doing this, but as of this writing, there
  is nothing in riscv64 unreleased which is required to bootstrap.
  However, this would not have been possible a year ago.
2021-11-14 09:22:41 -08:00
Thore Sommer 1cd901cfa2 Enable dm-verity support also for ext filesystems
Those need a block size of 4k to work.
2021-07-19 11:52:09 +02:00
Roland Clobus 3cc60e4f64 Removed filesystem.size for squashfs images.
See for more details https://lists.debian.org/debian-live/2021/03/msg00008.html
2021-03-29 09:08:35 +00:00
Ryan Finnie 8a8e11e5d1 No mksquashfs progress bar if stdin is not a terminal
Explicitly documented updated conditional, as "-t" is not a
commonly seen shell test.
2021-02-18 08:48:27 +00:00
Marcel Partap fdcdab72dc binary_rootfs stage: slightly lower mksquashfs nice levels (19 -> 17)
.. so its priority is low, but above BOINC grid computing (19).
2021-01-16 17:14:17 +01:00
Marcel Partap 0252065950 binary_rootfs stage: disable mksquashfs progress bar only in quiet mode 2021-01-16 17:09:52 +01:00
Marcel Partap 63c1a5997d binary_rootfs stage: give custom MKSQUASHFS_OPTIONS precedence
courtesy of
sed -i -r '/MKSQUASHFS_OPTIONS/ s/"(\$\{.*\}) ([^"]+)"/"\2 \1"/' scripts/build/binary_rootfs
2021-01-15 22:32:14 +01:00
Roland Clobus 037e93fe37 Preserve timestamps 2021-01-01 16:51:02 +00:00
Thore Sommer 9a26533a06 Add option to change compression algorithm and level for squashfs. 2020-10-12 13:35:16 +00:00
Ryan Finnie 13cf0e9ebe
Add initial ppc64el support
Note that this does not include grub-ieee1275 support so the images will
not be bootable, but it's a first step and produces ISOs without error.
2020-05-30 14:11:45 -07:00
Lyndon Brown 18eefdd6f3 s/Remove_package/Remove_packages/
it removes one or more, so should be plural for clarity

Gbp-Dch: Short
2020-05-05 19:55:28 +01:00
Lyndon Brown 919a464b64 s/Install_package/Install_packages/
it installs one or more, so should be plural for clarity

Gbp-Dch: Short
2020-05-05 19:55:28 +01:00
Lyndon Brown 6cc7250954 rename LB_ARCHITECTURES to LB_ARCHITECTURE
this was previously not done in 8b109ffb96
to keep the renaming simple, but leaving the variable plural is a cause
for confusion.

since this property is stored in the INI style config/build config file
rather than a shell script based one, at the property there is already
singular, there was no need for a backwards compatibility hack.

Gbp-Dch: Short
2020-04-23 15:54:19 +02:00
Lyndon Brown d171426ae4 binary_rootfs: use new chroot_prep helper 2020-04-23 09:38:02 +00:00
Lyndon Brown f24ed6ba3e binary_rootfs: fix missing handling of chroot_tmpfs 2020-04-23 09:38:02 +00:00
Lyndon Brown 11836c0c18 fix $@ parameter expansion issues
$@ when unquoted is subject to further word splitting. this fixes a bunch
of instances where it was incorrectly being used unquoted.

Gbp-Dch: Short
2020-04-23 09:38:01 +00:00
Lyndon Brown fb0790cc43 stagefiles: s/Require_stagefile/Require_stagefiles/
this function takes one or more required stage fileS _plural_, and exits
if any are missing (or at least it does now after the refactor).

let's rename it to make things more clear

Gbp-Dch: Short
2020-03-17 22:59:37 +00:00
Lyndon Brown fe9195b59c stagefiles: further robustify with auto filenames
as suggested by Raphaël

rather than have fixed stagefile filename strings at all in the scripts,
use `$(basename $0)` to use the name of the script (which is the same for
almost all cases anyway, and the stage files are supposed to be almost
exclusively unique per-script). we can thus simplify things by determining
the filename for most use cases within the functions themselves.

this does change the file used by a couple of scripts, affecting backwards
compatibility of executing live-build upon an existing partially or fully
completed build:
 - binary_grub-pc used "binary_grub"
 - chroot_includes used "includes.chroot"

care had to be taken for the following cases:
 - there are some cases like bootstrap_cache, source_debian and
   bootstrap_debootstrap which are dealing with more than one file, and/or
   otherwise a filename that is not specific to the script itself exactly,
   or should not be based upon its name.
 - some cases like chroot_cache, bootstrap_cache and
   chroot_install-packages need to append something to the end of the name
   depending upon which pass/action mode the script is being executed with.
 - furthermore in the bootstrap_cache case one of the filenames is used
   within the bootstrap_debootstrap and thus needs very careful handling
   to be certain that a change in filename of bootstrap_cache does not
   break bootstrap_debootstrap.

Gbp-Dch: Short
2020-03-17 18:57:02 +00:00
Lyndon Brown 04d9ee0211 stagefiles: simplify & robustify
- avoid all need to pass ".build/" path in stage file names into the
   functions
 - add a helper to remove a stage file (required to complete the above
   properly)
 - avoid duplicating filenames within scripts which makes them prone to
   mistakes (some instances of which I've actually encountered and had
   to fix)

Gbp-Dch: Short
2020-03-17 18:57:02 +00:00
Lyndon Brown a46985b08a fix comment typo
Gbp-Dch: Ignore
2020-03-13 16:19:59 +00:00
jnqnfe b27927724a locks: tidy lock acquisition
Combine the check+create done in each script. (The original functions
are still callable as before, but a new combined `Aquire_lockfile`
function can be called instead, as now used).

Note, a further simplification could be done in removing the passing of
the lock filename in as a parameter since every use of the functions is
with ".lock". The lock functions already have a fallback to ".build/lock"
though. Checking the history, the fallback used to be for a system wide
lock, which was then replaced with this config-tree specific one. As long
as that is not used implicitly by 3rd-party hooks then surely we are free
to change the fallback to ".lock" and further remove passing in a name as
a param...?

history:
db5d2b0dcd
0aa8289a37

Gbp-Dch: Short
Closes: #952918
2020-03-13 15:37:38 +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 d6096622f9 help/usage: remove pointless vars
build scripts never call Help() and so the empty HELP strings are pointless.
(when called with --help they call Man()).

Closes: #952859
Gbp-Dch: Short
2020-03-10 12:45:23 +00:00
jnqnfe b49abcc1a8 tidy script init (1/4) - arg and config processing
Partial fix for #952919

Gbp-Dch: Short
2020-03-10 12:39:37 +00:00
jnqnfe ed2d70bde1 simplify STAGE checks - use In_List
Closes: #952917
2020-03-10 00:02:43 +00:00
Lyndon Brown 8545c048c6 use actual boolean state for some simple vars
Gbp-Dch: Ignore
2020-03-09 11:21:24 +00:00
jnqnfe 055907592c cache: clarify and simplify package cache save/restore
These functions are specific to handling packages stored in the
cache, not other files. They are also always used with the same
`cache/packages.` prefix to the path.

Gbp-Dch: Short
Closes: #952916
2020-03-05 22:09:20 +00:00
jnqnfe a67e01638f help/usage: fix overly complex script description handling
Closes: #952887
2020-03-05 20:48:49 +00:00
jnqnfe 63f374b861 binary_rootfs: fix chmod of squashfs image only being applied when using chroot
Perhaps it is unnecessary in the other case, but not harm applying
in both to be certain.

Gbp-Dch: Short
Closes: #952850
2020-03-05 11:17:04 +00:00
jnqnfe eac4757a89 binary_rootfs: fix deletion of excludes file from wrong location in squashfs after use
Closes: #952849
2020-03-05 11:12:56 +00: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
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 242aef5d83 Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +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 1f7f6dd88a Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE). 2014-12-10 07:39:58 +01:00
Daniel Baumann eb336bb782 Updating copyright notices for 2014. 2014-02-08 17:47:24 +01:00
Daniel Baumann 59ce459f40 Removing all references to my old email address. 2013-05-06 14:50:06 +02:00
Daniel Baumann 04cec317cc Removing incomplete support for root-command. 2013-05-06 14:50:06 +02:00
Daniel Baumann 62d94a4454 Updating year in all copyright notices. 2013-05-06 14:50:03 +02:00
Daniel Baumann 6499442212 Moving off binary image architecture into new config tree format. 2013-05-06 14:50:03 +02:00
Daniel Baumann 5e07604353 Removing kubuntu mode, it's not different anymore to standard ubuntu mode. 2013-05-06 14:50:02 +02:00
Daniel Baumann d1047e809a Adding debian version 4.0~a1-1. 2013-05-06 14:48:46 +02:00
Daniel Baumann a203b86fdd Updating year in all copyright notices. 2013-01-01 00:13:01 +01:00
Daniel Baumann 7e8240cd5e Removing kubuntu mode, it's not different anymore to standard ubuntu mode. 2012-12-17 13:51:44 +01:00