Commit Graph

1335 Commits

Author SHA1 Message Date
Lyndon Brown e3da1b6f8d debootstrap: remove redundant check
the check for existence of debootstrap here was completely redundant since
there is a check at the beginning of the file which already outputs an
appropriate error and exists if missing.
2020-03-10 17:47:41 +00:00
Lyndon Brown d79fd1e760 archives: fix typo
introduced in ee2bbe4578

Gbp-Dch: Ignore
2020-03-10 17:36:10 +00:00
Lyndon Brown 48df750411 config: improve documentation 2020-03-10 14:12:45 +00:00
Lyndon Brown 24f04a924b chroot: clarify stages
the cache restore/save script is not a chroot modification script unlike
the rest of the scripts that it was bunched up with. It is an actual
component part of the chroot build stage.

let's bring clarity to this with improved documentation.

Gbp-Dch: Short
2020-03-10 12:51:55 +00:00
Lyndon Brown 9f2b7b40e8 archives: always include enabled/disabled deb-src apt entries
LB_APT_SOURCE_ARCHIVES determines whether or not deb-src entries are
desired to be included in apt's sources.list. here, instead of excuding
them we always include them but commented out where they would previously
have been excluded. this means that if a user later changes their mind and
wants to make use of them all they have to do is uncomment them rather
than add the necessary lines.

Gbp-Dch: Short
Closes: #952929
2020-03-10 12:50:39 +00:00
Lyndon Brown ee2bbe4578 archives: simplification
as suggested by Raphaël

Gbp-Dch: Short
2020-03-10 12:49:36 +00:00
Lyndon Brown cf2a9b951c arguments: fix unreachable and poor argument error handling
all scripts use `set -e` which means that if getop fails, the subsequent
error check that would print an error in addition to any printed by getopt
itself would never actually be reached.

the first though here would be to remove the pointless error check, but
getopt does not include the word "error" with an unrecognised option
failure, nor does it use colour to highlight problems, both of which mean
that it is a little lacking in terms of highlighting problems to users.

thus we properly capture and use the exit code here and output an
appropriate message per invalid argument vs getopt internal error.

also, removed the redundant stderr redirection which is already done
by Echo_error().

Gbp-Dch: Short
2020-03-10 12:45:23 +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 158950b873 source: downloaded pkgs to a clean directory rather than chroot root
Closes: #952931
2020-03-10 12:44:11 +00:00
jnqnfe feec626274 source: minor tweaks
Gbp-Dch: Ignore
2020-03-10 12:44:11 +00:00
jnqnfe 532144ce66 chroot: improve directory creation/destruction efficiency
Closes: #952924
2020-03-10 12:41:15 +00:00
jnqnfe 0dee07f122 config: rename the config set/check functions for clarity
Gbp-Dch: Short
Closes: #952920
2020-03-10 12:39:37 +00:00
Lyndon Brown b4598b234c tidy script init (4/4) - top level cmd "auto redirect" handling
Partial fix for #952919

Gbp-Dch: Short
Closes: #952919
2020-03-10 12:39:37 +00:00
jnqnfe dff08fa3f7 tidy script init (3/4) - top level commands
Partialfix for #952919

Gbp-Dch: Short
2020-03-10 12:39:37 +00:00
jnqnfe 061d7cb340 tidy script init (2/4) - build stage scripts
Partial fix for #952919

Gbp-Dch: Short
2020-03-10 12:39:37 +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
Lyndon Brown 093a5ea99c installer: use boolean for clarity
Closes: #952930
2020-03-09 10:58:53 +00:00
Lyndon Brown 7ee59d408e fix consistency in binary execution and existance checking
- prefer using `which` over hard coded paths
 - it is redundant to check that the bin pointed to the return of
   `which` exists and is executable, `which` already gives us
   assurance of that if it returns true!
 - the redirection of output (`2>/dev/null`) seems to be
   unnecessary from my testing.

the instances relatnig to fdisk and losetup in functions/defaults.sh have
been left as they are since they get executed by `lb config` which can run
without sudo elevation unlike `lb build` and in that case `which` would
fail to find these binaries resulting in error.

this also fixes a bug showing an error for missing debootstrap - this tool
requires sudo privileges to run and thus is not found via a none elevated
which search.

Gbp-Dch: Short
Closes: #952927
2020-03-09 10:51:11 +00:00
Lyndon Brown 37f0432e98 fix inadequate chroot_archives validation
commit d74f2102a0 added a validation check
to chroot_archives for its 'pass' parameter. this was based upon finding
an instance where the wrong value was being submitted to the script and
wanting to ensure such mistakes would be caught.

unfortunately it seems that I made a mistake in misremembering the facts
surrounding the latter issue when constructing the validation check and
failed to double check with testing until it was already merged. a
correction is needed. the set of valid values is not limited to only
'source|binary' but actually 'source|binary|chroot'. I'd misremembered
'chroot' as being a completely invalid value.
2020-03-09 10:51:11 +00:00
jnqnfe 8008b57fc2 source: add output of config readme file to source image
To provide an explanation

Gbp-Dch: Short
Closes: #952921
2020-03-05 22:35:52 +00:00
Lyndon Brown 4d0c3a1169 firmware: enable caching for archive content file with firmware lists
the existing logic for obtaining a list of firmware packages always
downloaded a fresh copy of the archive content file, deleting the file
already in the cache. here we move to actually making use of the cache.

this helps when building multiple times, at least for the same distro. the
package list obtained is rarely going to change after all. it could of
course differ between distros, but the cache is per-distro, as it has
always been.

we of course here switch to caching each of the archive-area files
individually rather than having one file that gets overwritten (or
appended to in the case of when we kept the decompressed file).

Gbp-Dch: Short
Closes: #952911
2020-03-05 22:13:57 +00:00
Lyndon Brown a120bc5445 firmware: avoid potentially duplicate work
addressing an old fixme, should distro and parent-distro be identical (in
a derivative build) we want to avoid wasting effort downloading and
processing the same content files twice.

since parent and non-parent have separate archive-area lists though we
should perhaps not just assume that they are identical or ignore any
differences; thus here in such a situation we ensure that we handle any
archive areas not already done for parent-distro handling in such a case,
while skipping those already done.

i notice that the fixme actually also refers to avoiding actual
overlapping of the cached files, however the cached files are (currently)
always ignored anyway, so this is of no concern. reusing the cached files
is an entirely separate issue.

Gbp-Dch: Short
Closes: #952909
2020-03-05 22:13:57 +00:00
Lyndon Brown 94d126c043 firmware: reorder firmware list construction
the 'manually add firmware-linux package' bit was stuck inbetween the
parent and non-parent logic, which was especially unhelpful before we
de-duplicated the logic into a common function.

Gbp-Dch: Short
2020-03-05 22:13:57 +00:00
Lyndon Brown aa745de0bb firmware: de-dup firmware list parsing
Edit: There were four copies of the same logic to keep in sync;
Originally this patch deduplicated each file, but leaving a copy of
the new function in each, thus reducing the duplication but not
eliminating it. A later patch moved it into a shared function file
following further enhancements to the code in question. This has
since been revised to have the function moved to a shared file here,
which simplifies and gives a cleaner diff.

Gbp-Dch: Short
Closes: #952908
2020-03-05 22:13:57 +00:00
Lyndon Brown 4933beffce firmware: delete pointlessly cached (large) file after use
the archive content file downloaded to obtain a list of firmware packages
is always deleted and downloaded afresh currently. it may not be ideal that
we do not make use of the cache here, however while that remains
unaddressed, we might as well delete the file after we've used it in order
to not pointlessly waste disk space.

note that this file is ~613 MB for sid-amd64 currently.

Gbp-Dch: Short
Closes: #952907
2020-03-05 22:13:57 +00:00
Lyndon Brown c53a949325 firmware: fix possible duplication in firmware package lists (inefficiency)
where multiple archive areas are used, the code here on each loop is:
  1) fetching the archive area contents file (compressed)
  2) **appending** the output to that of the previous loop
  3) searching the file for firmware references, adding to the list

since it appends rather than replaces, entries found in each loop get
re-added on each subsequent loop, resulting in duplication in the
resulting list

below I evaluate the possible solutions to explain why I chose the one
I chose, however the reader should not waste too much time worrying about
whether one of the other solution would have actually been better because
things are changed significantly in further commits shortly!

possible solutions:
  a) switching to output (>) rather than append (>>), but this might fail
     against an existing file
  b) removing the file on each loop, but this will complicate any future
     caching improvements that might be made here (currently the files are
     always deleted and thus downloaded fresh)
  c) allow the appending, evaluating the complete file after the loop

solution C warrants consideration of disk space consumption; currently the
compressed 'main' archive (for sid on amd64) expands to 592.3 MB (feb-2020),
'contrib' is 3.1 MB, and 'non-free' is 18.5 MB.

solution C was chosen here; the difference of accumulated file size vs.
max-single was minor enough to not be of particular concern (~613 vs.
~592 MB).

Gbp-Dch: Short
Closes: #952906
2020-03-05 22:13:57 +00:00
Lyndon Brown a951fe7ba6 firmware: construct file location once and reuse 2020-03-05 22:13:57 +00:00
Lyndon Brown c140efe41e firmware: avoid building unnecessary lists 2020-03-05 22:13:57 +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
Lyndon Brown 0869a890ae installer: download udebs directly from correct mirror
instead of trying all from derived mirror then falling back to parent upon
failure, which as pointed out by a message printed out can result in a
load of spurious 404 errors; actually get each udeb from the mirror it is
supposed to be retrieved from.

Partial fix for #952914, this is the last commit for it so closes it

Gbp-Dch: Short
Closes: #952914
2020-03-05 21:34:38 +00:00
Lyndon Brown b54bdd7fb1 installer: filter derived udebs from parent list
the existing logic just bundled the entire parent and derived udeb lists
together, ignoring the fact that there might thus be two instances of some
packages, and relying upon getting derived ones first and checking file
existence to avoid handling the overridden parent instances.

here we now actually filter the list of parent udebs to exclude packages
that are to be obtained from the derivative.

this enables avoiding the file existence checking

Partial fix for #952914

Gbp-Dch: Short
2020-03-05 21:34:38 +00:00
Lyndon Brown 2e3f195c38 installer: robustify udeb inclusion
move the code that checks whether a version of a given package has already
been obtained (to account for parent and derived both listing the same
package) to guard the copy from cache action also, not just the download
action.

in rare but possible scenarios it would have been possible to end up with
both the parent and derived copies of a package included.

Partial fix for #952914

Gbp-Dch: Short
2020-03-05 21:34:38 +00:00
Lyndon Brown 6997f99c9f installer: improve documentation a little
Gbp-Dch: Ignore
2020-03-05 21:34:38 +00:00
jnqnfe ac4ba405df archives: deduplicate apt sourcelist file construction
Geez :O

Gbp-Dch: Short
Closes: #952889
2020-03-05 21:08:53 +00:00
Lyndon Brown 450fb25fbd binary_onie: fix lack of newline on error
this script outputs a series of progressive dots as progress is made,
finally terminated with ' done.'. however if an error occurs then the
error would end up being printed directly on the end of this instead of
on a new line since newlines are not printed after each dot. this fixes
this oversight.

Gbp-Dch: Short
Closes: #952883
2020-03-05 21:04:23 +00:00
Lyndon Brown f3209fead2 binarie_onie: fix missing use of echo helpers
the '.' progress stuff has been left as is. perhaps that should be removed
since its use is inconsistent compared to other scripts?

Gbp-Dch: Short
Closes: #952882
2020-03-05 21:04:23 +00:00
Lyndon Brown c90749056f binary_iso: fix wrong echo helper
Closes: #952881
2020-03-05 21:04:23 +00:00
jnqnfe a45dcf46f6 fix missing use of echo helpers
Closes: #952876
2020-03-05 21:04:22 +00:00
jnqnfe a67e01638f help/usage: fix overly complex script description handling
Closes: #952887
2020-03-05 20:48:49 +00:00
jnqnfe aa858eb2c8 binary_disk: refactor
Avoid all of the duplication for each installer case

Note, what is done for the netboot case (which was previously missing)
still needs addressing

Gbp-Dch: Short
Closes: #952865
2020-03-05 20:42:31 +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 49e4608cff chroot: fix redundant usage line
Closes: #952885
2020-03-05 20:38:36 +00:00
jnqnfe 5a00487872 fix capitalisation of some output messages
Closes: #952875
2020-03-05 20:36:54 +00:00
jnqnfe 512dd58240 archives: fix mount local repo comments
Closes: #952873
2020-03-05 20:36:21 +00:00
Lyndon Brown 5c3679c882 add missing shebangs to temp generated shell code files
Closes: #952863
2020-03-05 19:25:13 +00:00
Lyndon Brown 7fb46c464b chroot_dpkg: start-stop-daemon simplification
inspired by what it does for `/usr/sbin/flash-kernel`

Gbp-Dch: Short
Closes: #952891
2020-03-05 11:52:01 +00:00
Lyndon Brown 2f5ae873b0 bootloaders: fix ignoring LB_DEBIAN_INSTALLER_GUI in menu creation
LB_DEBIAN_INSTALLER_GUI defines whether or not to provide the graphical
installer. the installer_debian-installer script pays attention to it and
does not download it if not wanted. the actual bootloaders however
(both grub2/loopback and syslinux) ignore it, which leaves broken and
unwanted menu entries. this fixes that.

Gbp-Dch: Short
Closes: #952890
2020-03-05 11:48:04 +00:00
Lyndon Brown 3840ac2005 memtest: better handle obsolete LB_MEMTEST value
available values currently are memtest86+|memtest86|none; "false" is
presumably handled for backwards compatibility

there is no need to handle this in individual scripts. the right place
to handle it is in Set_Defaults as now done

Gbp-Dch: Short
Closes: #952866
2020-03-05 11:39:57 +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 6002f89b67 source: fix mistaken append instead of overwrite
Closes: #952862
2020-03-05 11:34:17 +00:00
Lyndon Brown 2511fff259 don't unnecessarily convert exit codes to strings
Closes: #952861
2020-03-05 11:33:12 +00:00
Lyndon Brown f3544ff68e installer: de-dup daily DI url
Closes: #952860
2020-03-05 11:32:14 +00:00
Lyndon Brown 36a3ba7634 fix indentation
including:
 - spaces replaced with tabs for consistency
 - alignment of `;;` in some case statements changed for consistency

Gbp-Dch: Short
Closes: #952857
2020-03-05 11:29:01 +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
jnqnfe c48caf36fd binary: fix missing handling of disk info for netboot case
The specifics of what whould be done for it, beyond the disk info
label, needs addressing. (fixme comment left). (#952854).

Partial fix for #952846

Gbp-Dch: Short
Closes: #952846
2020-03-05 11:22:20 +00:00
jnqnfe 42a9deb871 source: fix missing handling of disk info for netboot case
Partial fix for #952846

Gbp-Dch: Short
2020-03-05 11:22:20 +00:00
Lyndon Brown fde401a9ac installer: fix unquoted string
Gbp-Dch: Ignore
Closes: #952851
2020-03-05 11:18:20 +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
jnqnfe 769cf6e7b7 bootstrap: only output message where actually applicable
Gbp-Dch: Ignore
Closes: #952848
2020-03-05 11:10:45 +00:00
jnqnfe 849873daca bootstrap: drop obsolete check for `--no-check-gpg` support in debootstrap
This has been present in debootstrap since version 1.0.30.

Gbp-Dch: Short
Closes: #952847
2020-03-05 11:09:41 +00:00
jnqnfe 0d4b464370 binary: fix missing use of chroot_dpkg in binary stage
update feb-2020: the bug report is marked as fixed in version 5.0-a7-1,
however there is no such patch merged for that tagged release, nor at all
in master, so this properly closes it.

Gbp-Dch: Short
Closes: #776532
2020-03-05 11:07:28 +00:00
jnqnfe 2791a0d1e4 grub2: fix using wrong directory in certain cases
Update feb-2020:
Both grub2 and syslinux were affected by this issue. Someone else's
patch fixing syslinux only just recently got merged in
2735f3bd38 but grub2 was still
affected. I had made patches for both in 2015 which never got
merged. This is the grub2 one.

Gbp-Dch: Short
Closes: #952843
2020-03-05 11:06:30 +00:00
Lyndon Brown 9c062e1f8b archives: fix deb-src entry exclusion
the sed commands were missing '-i' to actually modify the file (rather
than output to stdout)

Gbp-Dch: Short
Closes: #952842
2020-03-05 09:46:56 +00:00
Lyndon Brown 666dc9f6f2 bootstrap_archives: remove unnecessary param default
all uses of this script pass in a suitable 'pass' param, and a previous
commit added a validation check. Having a fallback to 'binary' should a
param not be supplied is completely unnecessary.

fyi, this script is only ever called from the bootstrap stage and with
'binary' as the param, thus supporting being called with 'source' and
indeed having a 'pass' param at all is surely utterly pointless in itself.

Gbp-Dch: Ignore
2020-03-05 02:41:48 +00:00
Lyndon Brown d74f2102a0 archives: add 'pass' param validation check
if this had already been in place then it would have caught
bug #952837.

Gbp-Dch: Short
Closes: #952841
2020-03-05 02:41:26 +00:00
Lyndon Brown ae2012953b archives: fix incorrect usage string
Gbp-Dch: Ignore
Closes #952839
2020-03-05 02:40:59 +00:00
jnqnfe f3ebc44e13 archives: fix removal of chroot/root/packages.chroot package list
Gbp-Dch: Short
Closes: #952838
2020-03-05 02:40:42 +00:00
jnqnfe 25b44ac8df source: fix wrong action value for script execution
valid values are binary|source, and source should have been
used here.

Gbp-Dch: Short
Closes: #952837
2020-03-05 02:39:52 +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
jnqnfe 1efc6d5adf remove redundant file
18e0a2f325 "rebranded live sources" which
included renaming `source_debian-live` to `source_live` but accidentally
left the old file in place.

(Closes #952834)
2020-03-01 08:37:22 +00:00
David Hewitt 2735f3bd38 binary_syslinux: Acommodate LB_INITRAMFS not live-boot 2020-02-17 10:37:27 +00:00
Raphaël Hertzog 2127283494 Standardize on having the GUI installation first in boot menus
debian-cd changed it that way, we already have it that way in EFI
boot, let's be consistent.
2020-01-23 16:47:04 +01:00
Raphaël Hertzog f64b73a718 Revert some Kali-specific change
That change was erroneously committed as part of
44b9b0a650
2019-12-19 21:05:54 +01:00
Raphaël Hertzog 30b9a391ac Fix "--debian-installer cdrom" and its interaction with binary_package-lists
apt-ftparchive is not able to differentiate between .deb and .udeb so
we have to install them in different pool directories so that we can
regenerate the Packages files without having the .udeb show up
unexpectedly.

Since binary_package-lists can overwrite the Packages files generated
in installer_debian-installer we have to ensure that it also updates
the Release file created formerly.

Ideally we should find a way to avoid the duplication of this logic.

Gbp-Dch: Full
2019-12-19 19:07:59 +01:00
John Estabrook b6ad08c270 Add local archive keys before configuring local package repository
In the binary stage, chroot is restored from cache/bootstrap, which contains
neither custom repo lists, nor keys. If local packages are present,
chroot_archives will call 'Apt chroot update' after adding custom repo lists
without adding keys. apt-get will then fail instead of warn as of apt version
1.5.

Closes: #941691
2019-12-19 18:52:05 +01:00
Ronny Standtke 97e8070b72 Run binary_hooks after binary_grub-efi
That way it becomes possible to customize grub-efi files.

Closes: #940846
2019-12-19 18:24:55 +01: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
Raphaël Hertzog bca7af4ecb installer_debian-installer: don't mess with /var/lib/dpkg/status
Use a similar trick as for chroot_live-packages.

Relates to #944983.
2019-12-19 16:53:30 +01:00
Raphaël Hertzog 0647e985fa chroot_live-packages: use dpkg-query to see if a package is installed
Closes: #944983
2019-12-19 16:21:58 +01:00
Raphaël Hertzog 04ea46d07b binary_package-lists: avoid messing with dpkg's status file
Instead of emptying the file temporarily, just tell APT to use /dev/null
instead of /var/lib/dpkg/status. Relates to #944983
2019-12-19 15:54:54 +01:00
Roland Clobus 5aaf2181b8
--mirror-binary* was not properly sorted 2019-06-19 13:07:10 +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 c8fddcd702
Manpage: Added documentation for --firmware-binary and --firmware-chroot 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 ab8c09eca1
--initramfs support none and live-boot 2019-06-16 12:47:28 +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 a5f69d0d73 Fixed a typo for --clean in 'lb config --help' 2019-06-03 10:48:58 +00:00
Roland Clobus 8466086428 Mention --breakpoints in 'lb config --help' 2019-06-03 10:48:58 +00:00
Roland Clobus 3c88667c2d Removed option --bootstrap, which is not implemented. 2019-06-03 10:48:58 +00:00
Roland Clobus 3607219f69 Do not store _QUIET in the configuration file, otherwise the overrides
in the command line get ignored. Adds a documentation line for the other
command line options as well.
2019-06-03 10:48:58 +00:00
Roland Clobus 0e03c34edb Removed obsolete short command line options.
-f was --filesystem
-l was --language
-p was --package-list
-e was --encryption
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
adrian15 39038173a8 Readd findiso parametre to loopback.cfg generation. 2019-04-21 18:59:29 +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 f108fdfa71 UEFI: remove the EFI/debian/grub.cfg, not necessary anymore
Turns out gcd works fine after adding /boot/grub/grub.cfg in the img,
as that's the path that gets hardcoded, and adding the EFI/debian/
grub.cfg was not necessary, so remove it.
2018-09-19 11:35:17 +01:00
Steven Shiau c22f1f5b71 Use gcd{x64.aa64}.efi.signed for amd64/arm64 arch.
For secured boot in binary_grub-efi, the gcdx64.efi.signed is
the boot loader for removable device, like CD or USB flash drive,
while grubx64.efi.signed is for hard drive. Therefore for live system,
use gcdx64.efi.signed for amd64 and gcdaa64.efi.signed for arm64.
2018-09-19 11:34:22 +01:00
Marcel Partap 8403487d4e copy keys to /etc/apt/trusted.gpg.d with appropriate extension for them to not be ignored. 2018-09-13 16:25:09 +01:00
Raphaël Hertzog 5290842288 Handle includes.chroot files installed over symlinked directories
With the merged /usr feature now enabled in debootstrap, we have
/bin and /lib which are symlinks to /usr/bin and /usr/lib. If
the live-build configuration provides files in
config/includes.chroot/lib/ or config/includes.chroot/bin/ then
lb chroot_includes will replace the /lib or /bin symlink with real
directories having only the content provided in chroot.includes and
problems will follow... the build will usually fail later with a
cryptic error message (for example a hook failing to execute
/usr/bin/env).

Work around the issue by creating a tarball of the files to install
and by unpacking that tarball from within the chroot with appropriate
options.
2018-07-27 10:51:49 +02:00
Luca Boccassi 316b128158 UEFI: parse vendor from Grub package metadata
When using Secure Boot, grub2 as built by Debian will now load a config
file from EFI/$VENDOR instead of having EFI/debian hardcoded.
$VENDOR comes from dpkg-vendor or from the user building grub2.
The vendor string is stored in the control metadata as Efi-Vendor, so
retrieve it when building the EFI image.
2018-06-07 11:34:26 +01:00
Luca Boccassi e5492b1c70 Avoid apt-key add and just drop the key in /etc/apt/trusted.gpg.d
Only gnupgv is part of the deboostrap set these days, but apt-key needs
the full gpg (with gpg-agent) which is just a recommends.
Instead just drop the key with an .asc suffix in /etc/apt/trusted.gpg.d
which is supported since apt version 1.4
2018-06-03 22:06:36 +01:00
Luca Boccassi 186765e3fd lb clean: remove ONIE image 2018-04-17 11:39:26 +01:00
Luca Boccassi 277f0cec71 Reconfigure bootstrapped packages after preseeding.
live-build supports preseeding configuration, but the configuration has
to be installed after bootstrapping since it needs the debconf tools to
be applied. But packages that have already been installed and configured
in the bootstrap step will then ignore those preseeded configs.

After applying each preseed file, parse the package list and manually
reconfigure the relevant package(s) so that the configuration will be
applied.
2018-04-10 21:58:00 +01:00
Luca Boccassi 050e637b2c ONIE: do not use package cache, only runs on host
Gbp-Dch: Ignore
2018-04-05 16:24:36 +01:00
Luca Boccassi e47652d841 ONIE: missing dependency on file
A very minimal build worker might not have it, so check for its
presence as well.
2018-04-04 19:57:49 +01:00
Luca Boccassi 2aff516e1f ONIE: Check_package in the host, not the chroot
The binary_onie script works on the host, not in the chroot (if used),
so don't check that the required packages for the script are installed
in the chroot (if present) as they won't be useful.
Check instead on the host.
2018-04-04 19:56:41 +01:00
Luca Boccassi c1948b4183 ONIE: detect initrd compression instead of hard-coding
Instead of hard-coding the decompression and compression formats,
detect them at runtime.
Install the required dependencies as well - they were mistakenly left
out.

Gbp-Dch: Ignore
2018-03-23 20:01:58 +00:00
Luca Boccassi 0e91aeea42 Add Acquire::AllowInsecureRepositories to fix apt-secure in sid
The apt-secure option does not work anymore when building a sid image,
as with apt 1.6 the existing options are no longer enough to get apt
to accept an unsigned repository, which is necessary when using a
local cached repository (offline build).

Pass Acquire::AllowInsecureRepositories "true"; together with the
other options when --apt-secure false is used to fix the issue.
2018-03-23 16:02:52 +00: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 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
Daniel Baumann 42fb1e1976 Dropping chroot_live-packages by moving logic outside of live-build into the config directory. 2013-11-05 11:16:39 +01:00
Daniel Baumann 3e0c126e2a Creating all includes directories in config. 2013-11-04 19:48:25 +01:00
Daniel Baumann 4fa62f53fa Adding bootstrap-includes. 2013-11-04 18:59:23 +01:00
Daniel Baumann 8e0188c72c Adding sources-includes. 2013-11-04 18:46:56 +01:00
Daniel Baumann 1e04939721 Rewriting binary_includes in python. 2013-11-04 18:33:48 +01:00
Daniel Baumann fee4e8b349 Rewriting chroot_includes in python. 2013-11-04 17:51:36 +01:00
Daniel Baumann 9e3863aa8f Switching to later submodule naming scheme for python stubs. 2013-11-04 17:10:22 +01:00
Daniel Baumann 5603355e1d Handling bootstrap cache inside the bootstrap stubs itself. 2013-11-04 14:02:40 +01:00
Daniel Baumann 83dacd9b39 Stuffing bootstrapping of archive-keys for derivatives into lb_config, it's not a runtime thing and its logic should not be embedded in live-build but the config directory. 2013-11-04 13:34:43 +01:00
Daniel Baumann 35919637af Moving testroot into lb wrapper itself. 2013-11-04 13:00:12 +01:00
Daniel Baumann 52122b2845 Moving python stubs to their own subdirectory within the source tree. 2013-11-04 07:06:08 +01:00
Daniel Baumann db331a3c5a Rewriting source_hooks in python. 2013-11-04 06:43:40 +01:00
Daniel Baumann 90fd3636a4 Rewriting binary_hooks in python. 2013-11-04 06:37:31 +01:00
Daniel Baumann 1bcc449483 Automatically symlink hooks upon creation of the configuration tree. 2013-11-03 21:18:10 +01:00
Daniel Baumann cec85c5598 Rewriting chroot_hooks in python. 2013-11-03 20:51:15 +01:00
Daniel Baumann f03f05097e Also processing config/hooks/*.hook in bootstrap_hooks, if any. 2013-11-03 20:51:12 +01:00
Daniel Baumann 258f506b96 Rewriting bootstrap_hooks in python. 2013-11-03 19:24:04 +01:00
Daniel Baumann d83a3d3c30 Updating rsvg calls in binary_syslinux for newer versions of librsvg2-bin, thanks to Roberto Carlos Morano <rcmorano@emergya.com> (Closes: #728030). 2013-10-28 08:31:02 +01:00
Daniel Baumann 006e38d955 Weakening mode on pts for compliance with eglibc 2.18 within containers during build. 2013-10-23 21:01:22 +02:00
Daniel Baumann 955175ac4b Dropping incomplete and not really supported exposed root mode.
This might come back in future if there's demand for it
and the base is sufficiently cleaned up first.
2013-10-23 10:47:48 +02:00
Daniel Baumann c7462c4043 Depending on python3, thanks to Richard Nelson <unixabg@gmail.com> (Closes: #726806) 2013-10-21 19:05:29 +02:00
Daniel Baumann 3afd2fb9cb Adding note about outdated/unsupported versions in general develop-ment-version warning message. 2013-10-17 16:58:20 +02:00
Daniel Baumann 49b6f1efb2 Updating descriptions in python stubs. 2013-10-17 14:59:08 +02:00
Daniel Baumann 75df65480f Sorting todo items in python stubs. 2013-10-17 14:55:11 +02:00
Daniel Baumann 4afbc74f34 Calling parted with optimal aligning. 2013-10-17 12:27:42 +02:00
Daniel Baumann 28dba93085 Harmonize comments in python stubs. 2013-10-17 11:24:27 +02:00
Daniel Baumann d18a85705a Using 4 instead of 4.0 for unreleased 4.x versions as version number in python stubs. 2013-10-17 11:10:32 +02:00
Daniel Baumann ac880ca145 Making warning about alpha version of live-build in lb_config conditional on the internal version. 2013-10-17 09:38:54 +02:00
Daniel Baumann cfdd08c6e1 Moving /selinux to /sys/fs/selinux to accomodate newer selinux in debian. 2013-10-16 20:40:27 +02:00
Daniel Baumann 93c041ec4a Depending on python only for the time being, rather than python3.3. 2013-10-15 12:29:07 +02:00
Daniel Baumann b32d972a42 Adding bootstrap hooks. 2013-10-15 12:24:48 +02:00
Daniel Baumann 4c2f7491dc Updating to python 3.3 (Closes: #723702). 2013-09-19 09:09:16 +02:00
Daniel Baumann aa7939e085 Removing unused description variable in syslinux configs. 2013-09-18 11:43:49 +02:00
Jan Blunck ddb8ad5dae Selectively remove chroot-only APT configuration and preferences instead of wiping everything. 2013-09-18 10:48:21 +02:00
Jan Blunck 4d9c77d20e Remove chroot-only configured apt sources in chroot_archives remove.
If an archive is configured with *.chroot extension remove it when
deconfiguring chroot/etc/apt/sources.list.d directory.
2013-09-18 10:36:31 +02:00
Daniel Baumann 1cdc2fc5b4 Making workaround for apt-get source actually working in backports-included-but-not-enabled scenarios. 2013-09-18 09:49:03 +02:00
Daniel Baumann 5ecae6eb90 Updating hardcoded defaults for syslinux splash descriptions for progress-linux. 2013-09-06 17:18:48 +02:00
Raphaël Hertzog 2d12d83527 Ensure xfsprogs and jfsutils are available in the ISO when d-i is used.
Otherwise users opting for XFS and JFS filesystems and installing without
network won't have them and the (first) boot can be interrupted due to
this.

Sponsored-by: Offensive Security
2013-08-26 19:02:20 +02:00
Daniel Baumann 1577d46064 Updating syslinux flavour detection for progress-linux. 2013-08-19 17:52:05 +02:00
Daniel Baumann 0dc87d1170 Updating binary repository prefix for progress-linux. 2013-08-19 08:57:25 +02:00
Daniel Baumann a12212ee53 Correcting wrong installer directory moving check in progress-linux mode. 2013-08-07 20:06:47 +02:00
Daniel Baumann d75e7b75c0 Renaming some leftover pieces from binary_debian-installer to installer_debian-installer. 2013-08-07 18:14:23 +02:00
Daniel Baumann d758af1392 Removing obsolete starting of binary_debian-installer in binary. 2013-08-07 18:14:23 +02:00
Daniel Baumann afd1060395 Correcting wrong defaults setting for parent distribution in config/build. 2013-08-07 17:50:20 +02:00
Daniel Baumann 0c10bd5318 Calling bootstrap_archives with correct pass argument. 2013-08-07 16:50:47 +02:00
Daniel Baumann e94e9699b6 Stripping backports from sources.list temporarily when obtaining sources to workaround apts disregard of pinning for the cases where backports are included but not enabled. 2013-08-07 12:25:43 +02:00
Daniel Baumann af16834f28 Updating linux-image package names for 3.0 in installer_debian-installer. 2013-07-30 18:13:57 +02:00
Daniel Baumann 383d4d26b7 Expanding all variables in all syslinux configuration files, rathern than on some selected ones only. 2013-07-12 16:34:46 +02:00
Daniel Baumann 18e0a2f325 Debranding live sources. 2013-07-01 16:50:08 +02:00
Daniel Baumann b77349b8ce Moving caching out of bootstrap_{c,}debootstrap to own helper for future unification with chroot caches helper. 2013-07-01 16:27:12 +02:00
Daniel Baumann eab1da72ed Handling dist-upgrade right after bootstrap with copy of chroot_archives as bootstrap_archives in preparation for a future multi-archive bootstrap.
It is important for derivatives that the bootstrap cache is setup completely,
it is re-used in several places and thus cannot consist of the parent
distribution only.

Until there's a supportable way to bootstrap from multiple archives at the same time
(and multistrap doesn't work for that as discussed in the past), we're going to run
a lot of duplicated code here to massage the apt sources for the time being.
2013-07-01 16:24:32 +02:00
Daniel Baumann 4e9c7ee662 Removing some leftovers in chroot_archives from --archives removal. 2013-07-01 16:08:33 +02:00
Daniel Baumann 613f8cfd6d Dropping global archive definitions shipped in /usr/share/live/build/archives (same as with packagelists, hidden archive 'magic' is gone now in favour of explicit config tree configuration). 2013-06-25 09:12:03 +02:00
Daniel Baumann 57d26a0758 Using includes.installer instead of includes.debian-installer. 2013-06-24 14:27:48 +02:00
Daniel Baumann ec01ef8e68 Adding note about live-build version in build to get the lb version into build logs. 2013-06-24 14:02:30 +02:00
Daniel Baumann 966afa2d64 Splitting out preseed handling from main installer script. 2013-06-20 11:24:12 +02:00
Daniel Baumann 001612cdc7 Breaking out installer integration into an own stage. 2013-06-20 10:57:56 +02:00
Daniel Baumann 79af3c1580 Extending wget calls with options variable in bootstrap_archive-keys too (Closes: #712710). 2013-06-19 08:01:03 +02:00
Daniel Baumann bc35323876 Updating versioning scheme references to match new scheme since wheezy. 2013-05-31 13:53:30 +02:00
Daniel Baumann d26dea3710 Sorting imports in python stubs. 2013-05-15 22:49:13 +02:00
Daniel Baumann d61c044ec0 Moving creation of chroot.files manifest in lb chroot after pseudo-filesystems have been unmounted to avoid loops, thanks to Michal Suchanek <hramrach@gmail.com>. 2013-05-15 14:56:17 +02:00
Daniel Baumann 2bad1bd9c8 Sorting kernel versions in reverse order (newest first) in syslinux configurations in consistency with normal bootloader behaviours. 2013-05-13 12:57:35 +02:00
Daniel Baumann ee674162da Adding ls -lR files as .files output. 2013-05-06 14:50:08 +02:00
chals 36a44c849a Changing how syslinux files are copied to make netboot images work properly. 2013-05-06 14:50:08 +02:00
Daniel Baumann 9a15cd0114 Skipping loadlin inclusion on netboot images. 2013-05-06 14:50:08 +02:00
Daniel Baumann 4155fd9641 Updating todo in python stubs. 2013-05-06 14:50:08 +02:00
Daniel Baumann 02ebd3f0c2 Updating derivatives archive-key signature validiation to look by default at both debian and debian-maintainers keyrings. 2013-05-06 14:50:08 +02:00
Daniel Baumann 39ef5a723c Writing errors to stderr in Python stubs. 2013-05-06 14:50:08 +02:00
Daniel Baumann 73c892d114 Switching argument and configuration handling order in Python stubs. 2013-05-06 14:50:08 +02:00
Daniel Baumann 8f293ccd9c Dropping now unused intermediate config/image. 2013-05-06 14:50:07 +02:00
Daniel Baumann 06dac65ee3 Removing bootstrap_cache, not needed anymore. 2013-05-06 14:50:07 +02:00
Daniel Baumann 680109fdad Temporary hack for lb config to produce config/build until stuff is cleaned up properly. 2013-05-06 14:50:07 +02:00
Daniel Baumann 4a41852f82 Updating bootstrap for Python stubs. 2013-05-06 14:50:07 +02:00
Daniel Baumann c229d39dc8 Replacing bootstrap_cdebootstrap with Python stub. 2013-05-06 14:50:07 +02:00
Daniel Baumann a06eea85ad Replacing bootstrap_debootstrap with Python stub. 2013-05-06 14:50:07 +02:00
Michael Stummvoll 428da01aea Using LB_HDD_SIZE to determine the size of the image.
If LB_HDD_SIZE is "auto" the size will be determined automatically as before
else it will be the given size in MB.

Also setting the default for this to "auto"
2013-05-06 14:50:07 +02:00
Daniel Baumann ff8e4ef6aa Unifying append options in binary_syslinux when processing configuration files. 2013-05-06 14:50:07 +02:00
Daniel Baumann 86e15f61c0 Stripping out comments in package lists. 2013-05-06 14:50:07 +02:00
Daniel Baumann 7406724344 Aborting early in chroot_package-lists if no package list is found. 2013-05-06 14:50:07 +02:00
Daniel Baumann d0bb1a3ade Cleaning up installer file locations for progress-linux. 2013-05-06 14:50:07 +02:00
Daniel Baumann f1410a0945 Replacing strings in all syslinux config files, not just certain hardcoded ones. 2013-05-06 14:50:07 +02:00
Daniel Baumann a00211e9c6 Removing dedicated emdebian mode, this can entirely be handled with different defaults. 2013-05-06 14:50:07 +02:00
Daniel Baumann 60739bfbd8 Renaming config/control to config/image. 2013-05-06 14:50:07 +02:00
Daniel Baumann 68700f466c Dropping dedicated updates (formerly volatile) mirror handling, not needed anymore. 2013-05-06 14:50:07 +02:00
Daniel Baumann dd15ade8bb Dropping dedicated backports mirror handling, not needed anymore with the move of backports.d.o into ftp.d.o. 2013-05-06 14:50:07 +02:00
Daniel Baumann 17d85e1452 Using ntfs-3g to mount ntfs partitions. 2013-05-06 14:50:07 +02:00
Daniel Baumann 2c54c44610 Adding generic live-build handle in chroot_dpkg for other live packages to act upon. 2013-05-06 14:50:07 +02:00
Daniel Baumann 5a00aa4482 Using dpkg-divert for other diversions too to handle upgrades of the diverted stuff during build. 2013-05-06 14:50:07 +02:00
Daniel Baumann 20f042f923 Using dpkg-divert in chroot_upstart script to handle upgrades of upstart during the build (Closes: #702537). 2013-05-06 14:50:07 +02:00
Daniel Baumann c287072126 Debranding package for derivatives. 2013-05-06 14:50:07 +02:00
Daniel Baumann 1083985682 Correcting typo directory when dereferencing syslinux symlinks when building chrooted, thanks to Luigi Capriotti <l.capriotti@xbmc.org>. 2013-05-06 14:50:07 +02:00
Daniel Baumann 59ce459f40 Removing all references to my old email address. 2013-05-06 14:50:06 +02:00
Raphaël Hertzog 20855871d2 Fixing win32-loader.ini by including the GTK related entries.
The check protecting their addition was wrong. Also fix the actual keys
with the correct architecture instead of hardcoding i386.
2013-05-06 14:50:06 +02:00
Daniel Baumann c1a7b496bf Correcting spelling typos, thanks to Adam D. Barratt <adam@adam-barratt.org.uk>. 2013-05-06 14:50:06 +02:00
Daniel Baumann d4f8b95cdf Adding source_hooks for hooks on source images like already supported on binary images. 2013-05-06 14:50:06 +02:00
Daniel Baumann 20d3ef51ba Making some more debian source-selections conditional on certain image options. 2013-05-06 14:50:06 +02:00
Daniel Baumann 48939b9ac9 Harmonize handling of pre-existing gnupg dotfiles in chroot when handling fake signing keys for local repository. 2013-05-06 14:50:06 +02:00
Daniel Baumann 11b07e9a41 Making messages about reading system conffiles in lb config more accurate. 2013-05-06 14:50:06 +02:00
Daniel Baumann 7f972f31ce Also showing distribution in lb config initial messages. 2013-05-06 14:50:06 +02:00
Daniel Baumann cca7563257 Removing non-existent --apt-indices none references. 2013-05-06 14:50:06 +02:00
Daniel Baumann dbfe7b10d7 Removing incomplete support for fakeroot. 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 3f3d05b2e6 Updating d-i suite symlink for wheezy release. 2013-05-06 14:50:05 +02:00
Daniel Baumann 137c224579 Dropping powerpc bootloader support (yaboot), there is nobody actively maintaining this in live-build. 2013-05-06 14:50:05 +02:00
Daniel Baumann 3e23aaacde Dropping sparc bootloader support (silo), there is nobody actively maintaining this in live-build. 2013-05-06 14:50:05 +02:00
Daniel Baumann 6f39d25611 Allowing to use parted its automatic offset handling at the beginning of a disk, rather than to harcode it to first block (Closes: #647607). 2013-05-06 14:50:05 +02:00
Daniel Baumann 85e9887e0b Converting splash.svg not just splash.svg.in files as syslinux bootsplashes. 2013-05-06 14:50:05 +02:00
Daniel Baumann 7595fb6f61 Correctly remove binary contents and packages file in clean script. 2013-05-06 14:50:05 +02:00
Daniel Baumann 516cf8299f Dropping theme package support, themes are either in the config tree or the embedded one from live-build is used. 2013-05-06 14:50:05 +02:00
Daniel Baumann 0290d0be6b Updating binary_debian-installer for newer append replacement variables used in syslinux configs. 2013-05-06 14:50:05 +02:00
Daniel Baumann 2fb4009a8c Updating syslinux configurations and handling for syslinux 5. 2013-05-06 14:50:05 +02:00
Daniel Baumann d06b25079f Adding bootrap_archive-keys to establish secure trust-chain on top of debian-keyring for derivatives. 2013-05-06 14:50:05 +02:00
Daniel Baumann d4186c841d Correcting install path in loadlins install.bat for the gtk d-i flavour. 2013-05-06 14:50:05 +02:00
Daniel Baumann 4d95bc6e79 Escaping quotes to workaround a false-positive of checkbashisms in binary_debian-installer. 2013-05-06 14:50:05 +02:00
Daniel Baumann dc11169a06 Avoiding to unconditionally adding whitespace seperator to config/control for existing configs. 2013-05-06 14:50:04 +02:00
Daniel Baumann 09e65e406b Applying slightly modified patch from Raphaël Hertzog <hertzog@debian.org> to fix automatic firmware inclusion when using debian-installer with live-installer and having firmware packages installed in the live system already. 2013-05-06 14:50:04 +02:00
Daniel Baumann df797b7cda Making xorriso option handling a bit more readable. 2013-05-06 14:50:04 +02:00
Daniel Baumann 07ffebc750 Correcting apt-key cleanup of local dummy signing keys when using local packages, thanks to jhcha54008 <jhcha54008@free.fr>. 2013-05-06 14:50:04 +02:00
Daniel Baumann 6d3b6b7b9b Updating samhain workaround in chroot_dpkg to work if live-build is being used with sudo or fakeroot (Closes: #698423). 2013-05-06 14:50:04 +02:00
Daniel Baumann 63a747b0c2 Cleaning up binary_loadlin. 2013-05-06 14:50:04 +02:00
Daniel Baumann 46dc41a701 Using cat instead of echo to workaround incompatible and conflicting uses in escaping of \t in dash and bash, and less importantly to workaround a false-positive in checkbashisms. 2013-05-06 14:50:04 +02:00
Daniel Baumann 36efad274a Dropping pre-wheezy handling for win32-loader files. 2013-05-06 14:50:04 +02:00
Daniel Baumann 7908cea0c3 Adding support for sha512 checksums. 2013-05-06 14:50:04 +02:00
Daniel Baumann fc9df81463 Removing all checksum files in lb clean. 2013-05-06 14:50:04 +02:00
Daniel Baumann 2731b83bae Correcting legacy filename for checksum files. 2013-05-06 14:50:04 +02:00
Daniel Baumann d4f5dd6df9 Updating win32-loader.ini for wheezy. 2013-05-06 14:50:04 +02:00
Daniel Baumann eaa015ed35 Only including gtk d-i in win32-loader config if available on the target image. 2013-05-06 14:50:04 +02:00
Daniel Baumann 1402ce72a9 Creating install.bat for loadlin. 2013-05-06 14:50:04 +02:00
Daniel Baumann d878fa2947 Dropping stable and unstable dist symlinks for d-i in dists for wheezy. 2013-05-06 14:50:04 +02:00
Daniel Baumann e3289119c2 Creating autorun.inf in binary_win32-loader. 2013-05-06 14:50:04 +02:00
Daniel Baumann 565b1ea291 Also ignoring legacy checksum filenames when creating checksum files. 2013-05-06 14:50:04 +02:00
Daniel Baumann 449a338ffa Correcting spelling typo in help text within the binary checksums file. 2013-05-06 14:50:04 +02:00
Daniel Baumann de261256c5 Defaulting to obsolete filenames for checksums on debian, as debians cdrom-check in d-i only supports legacy filenames (Closes: #697082). 2013-05-06 14:50:04 +02:00
Daniel Baumann 07fb58ba52 Don't fail when adding symlinks for firmware in binary/firmware for debian-installer and the symlink already exists (Closes: #696688). 2013-05-06 14:50:03 +02:00
Daniel Baumann 62d94a4454 Updating year in all copyright notices. 2013-05-06 14:50:03 +02:00