This ensures that they can be installed by finish-install.d/08hw-detect
when virtualization is detected. Otherwise the lack of network breaks
this step.
By default, when you don't have any network or when you didn't enable
a network mirror, your sources.list is empty. We don't want this
so we hook into the finish-install step to make sure to set it up
if it's empty.
We move the default preseed to the kali profile so that the default
preseed can actually again enable simple-cdd-profiles that we need
because we want the other profiles to have their preseed and postinst
working (and they work through the script run when simple-cdd-profiles
is installed).
We add an offline profile that disables the network mirror (but not
the networking!) and we add a "postinst" script that is run in the
finish-install step to actually configure /etc/apt/sources.list that
is empty due to the preseed.
In theory, this change is not really needed here because the
package is not installed by d-i, it's already installed by live-build
in the live image. But I want this file to be consistent with the
version in debian-installer...
Those are never copied into live-build's config directory and actually
the "packages" file is clashing with a "packages" directory which results
in a failure of the "rm -f" call.
the theme needs explicitly applying for submenus otherwise they are just
displayed with a default layout with a black background.
with the theme setting commands moved to a separate file, we can now
simply `source` that into each submenu.
this of course assumes that live-theme/theme.txt is suitable for submenus.
as done in upstream live-build MR #135.
the intention here is to prepare to fix application of the theme for submenus,
as addressed next.
we could accomplish that just by the theme.cfg portion of the split, but why
not do the config.cfg bit also now. this is similar to how syslinux is broken
up, and a part of the live-build MR #135 changes are to merge config/bootloader
files on top of the default set, rather than use them instead, thus
user/derivative configs only need to carry the bootloader files they actually
want to replace. breaking up grub.cfg helps towards this, so eventually kali
can drop carrying files that are identical to upstream ilve-build's.
live-build commit 24aab15d2a133075992ce3a216b1c3476dc7bd4c has added
generation of speech synth entries. this ensures that with the next
release of live-build, the kali one is not added as a duplicate.
we have to take a different approach here than for syslinux. the approach
relies upon an expectation that in the next live-build release the grub
config will include an install.cfg file containing install entries, like
syslinux, as a result of changes awaiting merge in MR #135 ([1]).
[1]: https://salsa.debian.org/live-team/live-build/-/merge_requests/135
live-build commit 24aab15d2a133075992ce3a216b1c3476dc7bd4c has added
generation of speech synth entries. this ensures that with the next
release of live-build, the kali one is not added as a duplicate.
note that live-build commit a25b77e0998ac455b48c8c523a08bd282229fb49
removes "video=vesa:ywrap,mtrr" from the entries it generates, so lack of
that is deliberate should you later compare the differences and wonder
about it.
ref: debian bug #775128
done in live-build auto-generated menu entries back in v5.0a3 for syslinux
(ba6b9adeff634845a9ab7cbd5218257a7aa254ab). was missing for grub entries
until a33938f8d47f23c23335ecf671b1db9afcd0b726 and
aadf8c4cacecc4664412c6bbc7b8e039e1dd772a.
The default installer image now includes the packages for all the
options available in tasksel during initial installation, so all
the kali-linux-* except kali-linux-everything and most of the
kali-desktop-*.
The netinst installer is causing too many issues for unexperienced
users that are installing without enabling the network. They are ending
up in a console and are stuck there. See https://bugs.kali.org/view.php?id=6053
and the many duplicates.
The live installer is not offering close control on what metapackage
gets installed but at least you are sure to have a usable system at the
end.
Debian defaults to linux-image-686 for i386 on all levels (simple-cdd,
debian-cd, debian-installer). Kali modified debian-installer to use
linux-image-686-pae in debian-installer (for the benefit of the live
image mainly!). We have to adjust simple-cdd (by way of the
kernel_packages configuration item) and debian-cd (with some live
patching of a copy).
The lack of "locales" resulted in a non-configured locales on initial
installation. The lack of eject means the ISO is never ejected at the
end of the installation. The lack of pciutils/usbutils likely has other
bad consequences.
In the live-build code, netinst and netboot have the same meaning,
and it means netboot, an installer that fetches the d-i udebs over
the network. But we don't want that, we want the udeb to be available
in the ISO so that it keeps working even after a kernel update in
kali-rolling.
It adds no value over the current setup. IIRC it was there to enable
completion by default but it's already enabled by default nowadays.
Also fixes the permission on /root as reported in
https://bugs.kali.org/view.php?id=5922