Commit Graph

152 Commits

Author SHA1 Message Date
Lyndon Brown 46b0d85021 grub2|loopback: avoid empty submenu
don't include the advanced menu at all if it's only entry - memtest - is
not included (you just get a menu entry that does nothing, which may
confused users into thinking that something is broken, as opposed to
showing an empty submenu as i expected).

Gbp-Dch: Short
2020-04-23 10:18:43 +02:00
Lyndon Brown 077d005a84 grub2|loopback: extract memtest menu entry creation to config file
backwards compatibility:

 1. the new file will be included alongside any user custom config
 2. rather than replace MEMTEST with an actual config entry, we replace it
    with a line to import the content of the new file, and thus will work
    just as before.

thus no backwards compatible breakage

Gbp-Dch: Short
2020-04-23 09:59:56 +02:00
Lyndon Brown 69093d9e3b grub2|loopback: extract install menu entries to config files
backwards compatibility:

 1. the new install.cfg and install_start.cfg files (chosen
    automatically from the install_*gui.cfg and install_*test.cfg
    files) will be included alongside any user custom config.
 2. the placeholders are now replaced with lines importing these files

thus everything will work just as before, i.e. no backwards
compatibility breakage.

Gbp-Dch: Short
2020-04-23 09:59:56 +02:00
Lyndon Brown 457e800c94 grub2|loopback: move advanced installer entries under own submenu
this takes a step forward in moving towards the same updated layout as
with syslinux; here we get:

 - <live entries>
 - Start installer
 - Advanced install options...
    - <full set of install options>
 - Advanced options...
    - Memory Diagnostic Tool (memtest86[+])

note that this only affects the default menu. custom configs are not
affected by this change.

further steps to complete the move to the updated layout will follow
later.

"Advanced options..." should perhaps be renamed later.

Gbp-Dch: Short
2020-04-23 09:59:51 +02:00
Lyndon Brown 04a0ffb2f4 grub2|loopback: add hotkey for advanced options submenu (a) 2020-04-23 09:12:52 +02:00
Lyndon Brown 40a076bf35 grub2|loopback: use '@' bookended placeholders
...for consistency with syslinux config placeholders and improved
clarity of what text is a placeholder.

the old placeholders without the bookends are still replaced for
user configs for backwards compatibility.

the new ones are little used just at the moment but are expected to
become used much more in later commits.

Gbp-Dch: Short
2020-04-23 09:12:24 +02:00
Lyndon Brown 8775c8075c syslinux: properly fix shortcut caret appearing in menu entries
this reverts commit 0cef87ffca though
retaining the 'advanced options' menu entry using a label rather than a
title.

despite having done a lot of testing back in 2015 with my bootloader
improvements, i notice now that in fact the syslinux caret fix has an
undesired side effect of modifying the title displayed above the menus. it
does not help that the text embedded into the splash overlaps with this
menu title; perhaps this explains why i missed this problem back in 2015.

purely reverting the implemented fix solves this title problem, but
restores the caret problem to the advanced options menu (in menu.cfg);
however that menu was using a caret in a title entry, unlike everywhere
else where they are only used with labels, which must have been the
original source of the problem all along. ensuring that this menu uses a
label instead of a title in this reversion leaves everything working
correctly afaict.

Gbp-Dch: Ignore
2020-03-25 01:25:50 +00:00
jnqnfe a25b77e099 bootloaders: remove old "video=vesa:ywrap,mtrr" kernel param, as done in d-i
d-i removed this in commit 0917b2dde3ff73a204d27dd2f2fffc8a41175ddd

Note: There was inconsistency between grub and syslinux in use of this, with
syslinux not having it on graphical rescue and auto modes while grub entries
did. The patch to fix that has been dropped since we're removing it everywhere
anyway.

(#395040)

Gbp-Dch: Short
2020-03-22 19:43:56 +00:00
jnqnfe 38af959aa5 syslinux: use more dynamic memtest menu config file
Fixes the following
 - Correct version (memtest86/memtest86+) shown instead of fixed 'memtest86+' text
 - Ensure correct directory path always used by using replaceable placeholder

Gbp-Dch: Short
2020-03-16 23:08:26 +00:00
jnqnfe 31fa6abd36 syslinux: add memtest menu entry only if including memtest 2020-03-16 23:08:26 +00:00
jnqnfe 7ffd2288d9 syslinux: add install menu entries only if including installer 2020-03-16 23:08:26 +00:00
jnqnfe 0bf9d2d390 syslinux: expand list of install options 2020-03-16 23:08:26 +00:00
jnqnfe 24aab15d2a bootloaders: add install with speech synthesis menu entries
Following the official Debian install disks

Gbp-Dch: Short
2020-03-16 20:33:18 +00:00
Lyndon Brown eeedf10de5 syslinux: fix duplicate shortcut use 2020-03-16 17:49:43 +00:00
jnqnfe 396b1727ad syslinux: changed 'build' to 'built' in splash
Appears before a timestamp which reflects when the image was built, so 'built' is more correct than 'build' here.

Gbp-Dch: Short
2020-03-16 17:48:59 +00:00
jnqnfe 0cef87ffca syslinux: fix shortcut caret appearing in menu entries
also fixes the mistaken assignment of the same shortcut for both
entries in live.cfg.in

Gbp-Dch: Short
2020-03-16 17:48:51 +00:00
jnqnfe 7d4fc93205 grub2/loopback: fix highlight readability
Current splash makes it very difficult to read menu entries.
Black as a background color is actually interpreted as transparent,
so switching to something else so the highlighted menu entry can be
read more easily.

Gbp-Dch: Short
2020-03-16 16:29:00 +00:00
Luca Boccassi 015e6b65f3 Revert "Test for executables: replace 'which' with more robust 'command -v'"
This reverts commit 2d9ab1f7f8.

Causes test failure due to bashism.
2020-03-12 12:32:26 +00:00
johnraff 2d9ab1f7f8 Test for executables: replace 'which' with more robust 'command -v'
Instances of:
if [ $(which <command> ]
have been replaced with:
if command -v <command> >/dev/null
which is considered to be more robust in a range of environments.

scripts/build/chroot_archives: line 259:
	if [ "${LB_APT}" = "aptitude" ] && [ ! $(Chroot chroot "which aptitude") ]
has been left untouched because the chroot might require a more complex command
which would need more testing.

manpages/Makefile: line 42:
	@if [ ! -x "$$(which po4a 2>/dev/null)" ]; \
has been left untouched because I am not sufficiently familiar with makefiles.
2020-03-12 10:35:57 +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 9faf9bcbed hooks: run bin without explicit path
this got lost in reworking 7ee59d408e

Gbp-Dch: Short
2020-03-10 13:59:01 +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 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
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
Matthijs Kooijman f62a6f9dea Remove ldlinux.c32 for extlinux and syslinux
Since syslinux 5.00, this file is installed into the disk root by the
extlinux and syslinux installer commands. For pxelinux and isolinux,
these files still need to be added manually. This is documented at:

https://wiki.syslinux.org/wiki/index.php?title=Library_modules#All_Syslinux_variants_need_an_additional_ldlinux_module

Keeping these unused files around is probably only confusing, so better
to remove them.
2019-05-30 16:14:51 +02:00
Raphaël Hertzog 2fe6afe460 Initialize /etc/default/locale with LANG=C.UTF-8
That way we always have a valid UTF-8 locale even when we don't have
the "locales" (or "locales-all") package installed.
2017-08-29 12:26:33 +02:00
Raphaël Hertzog d18d0dfe2a Add keyboard shortcut on the "Advanced options" syslinux menu entry
Thanks to Daniel Reichelt <debian@nachtgeist.net> for the patch.

Closes: #864386
2017-06-09 13:41:13 +02: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 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 674794a8f4 Try to reuse /isolinux/splash.png in default grub configuration. 2016-11-28 20:58:18 +01:00
Raphaël Hertzog 1ccb416230 Add symlinks for libgpl.c32 and libmenu.c32
They are required for the "Hardware Detection Tool (HDT)" menu entry that
live-build adds in the advanced menu.

Sponsored-by: Offensive Security
2016-01-08 09:18:35 +01: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 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 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 1a5fda595f Adding hook to disable tmpfs on /tmp when using sysvinit, previously done by live-config. 2015-05-02 13:58:47 +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 ca758f9cb4 Adding hook to create locales files. 2015-02-23 22:41:52 +01:00
Daniel Baumann ba6b9adeff Updating d-i bootparameter separator for jessie. 2015-01-25 10:02:34 +01:00
Daniel Baumann 242aef5d83 Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
Daniel Baumann b5e99b5b14 Dropping support for wheezy. 2014-12-10 08:38:42 +01:00
Daniel Baumann ef03f67f81 Adding hook to enable cryptsetup (Closes: #767195). 2014-11-10 19:57:33 +01:00
Daniel Baumann a284af94db Dropping syslinux 6 symlinks from bootloader configs for wheezy.
In general there's no harm in having them as they are not used
on syslinux 4 distributions, however, but it's cosmetically nicer
and the path woudn't match anyway.

But.. since it turned out that we need the second copy of bootloaders
for wheezy anyway as wheezy and jessie are mutually exclusive
regarding paths where syslinux files are located, there's no
point in having them and confusing users with error messages
from cp -aL when stuff can't be dereferenced (which is ok).
2014-09-10 20:44:15 +02:00
Ben Armstrong 5fc57865a4 Exclude lib and non-main sections as tasksel does (Closes: #758218). 2014-08-27 23:03:39 +02:00
Daniel Baumann 7312ca2d2d Correcting wrong target for /etc/mtab symlink in create-mtab-symlink hook, thanks to Ben Armstrong <synrg@sanctuary.nslug.ns.ca>. 2014-08-22 17:11:30 +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
Simon McVittie 114a778b7a If /etc/mtab exists as a file, replace it with a symlink (Closes: #746570). 2014-06-25 20:52:08 +02:00
Daniel Baumann e84476a7e5 Adding hook to create /etc/mtab as a symlink to /proc/mtab if not already existing (Closes: #746570). 2014-05-01 17:40:11 +02:00