Commit graph

646 commits

Author SHA1 Message Date
Gerd v. Egidy 755c5215cf Merge branch 'hosts-yaml' into 'main'
support configuring entries for the /etc/hosts file in the YAML config

See merge request systemrescue/systemrescue-sources!251
2022-12-11 20:19:41 +00:00
Gerd v. Egidy 58169f4ed2 support configuring entries for the /etc/hosts file in the YAML config
Example config:

sysconfig:
    hosts:
        "192.168.1.1": "example.net.lan"
        "192.168.1.10": "foo.net.lan foo"
2022-12-11 21:16:30 +01:00
Gerd v. Egidy f84d4aa6a1 Merge branch 'bash_history' into 'main'
support configuring the content of the bash_history in the YAML config

See merge request systemrescue/systemrescue-sources!250
2022-12-11 18:36:20 +00:00
Gerd v. Egidy 354b550524 support configuring the content of the bash_history in the YAML config
Allows to preconfigure common commands so that they can be accessed by just pressing
the up arrow key or searched with ctrl+r.

Move the "setkmap" command (which was previously hardcoded into .bash_history) into
100-defaults.yaml, allowing it to be overridden.

Example config:

sysconfig:
    bash_history:
        100: "setkmap"
        200: "reverse_ssh support.example.com 1234"

The Mapping / dict key is used for lexicographic reverse-ordering of the entries. Reverse-ordering
means the lowest key will show up first when pressing the up arrow key.
2022-12-11 19:26:14 +01:00
Gerd v. Egidy ab7d49f071 Merge branch 'systemd-gpt-auto-generator' into 'main'
remove systemd-gpt-auto-generator to prevent it automounting partitions

See merge request systemrescue/systemrescue-sources!249
2022-12-11 16:57:35 +00:00
Gerd v. Egidy ddcd287322 remove systemd-gpt-auto-generator to prevent it automounting partitions
Given some circumstances like matching IDs and partition setup, systemd-gpt-auto-generator
will auto-mount specially marked partitions. This would interfere with SystemRescue and also
go against the no-automount policy of SystemRescue.

So remove systemd-gpt-auto-generator during build.
2022-12-11 17:48:53 +01:00
Gerd v. Egidy a30ed60994 Merge branch 'dovnc-startx' into 'main'
automatically start x11 if "dovnc" option is given (#310)

See merge request systemrescue/systemrescue-sources!248
2022-12-10 21:16:11 +00:00
Gerd v. Egidy f57e608a69 automatically start x11 if "dovnc" option is given (#310)
VNC does not make much sense if X11 isn't running.

Automatically starting X11 on dovnc was done before SystemRescue 9.00, but
this logic seems to have been lost in the option handling code refactoring.
2022-12-10 22:13:01 +01:00
Gerd v. Egidy b3538193db Merge branch 'pacman-gpg-expire-fix' into 'main'
add "pacman-faketime" wrapper to work around expiring package signing keys (#313)

See merge request systemrescue/systemrescue-sources!247
2022-12-10 20:07:36 +00:00
Gerd v. Egidy 54bd03d4fd use new pacman-faketime wrapper in yay-prepare 2022-12-10 21:05:17 +01:00
Gerd v. Egidy f2134ca4ab add "pacman-faketime" wrapper to work around expiring package signing keys (#313)
Also disable gpg trust caching & regeneration to not "burn" the trust database by
running pacman without the faketime wrapper once.
2022-12-10 21:02:45 +01:00
Gerd v. Egidy d898b94680 Merge branch 'imageinfo' into 'main'
add sysresccd/.imageinfo file to the iso image, allows systemrescue-usbwriter to determine compatibility

See merge request systemrescue/systemrescue-sources!246
2022-11-23 21:54:04 +00:00
Gerd v. Egidy 00ccef7a07 add sysresccd/.imageinfo file to the iso image, allows systemrescue-usbwriter to determine compatibility
The upcoming systemrescue-usbwriter should work mostly independent of SystemRescue .iso version
and one systemrescue-usbwriter version should work for a wide range of SystemRescue versions.
For this to work, it has to exactly determine compatibility without any crude guesswork.
The necessary info for this is stored in the imageinfo file.

It also contains a "FORMAT_EPOCH" field that allows to explicitly declare incompatibility to older
versions of systemrescue-usbwriter in case automatic compatibility detection based on syslinux
version etc. doesn't work.
2022-11-23 22:46:05 +01:00
Gerd v. Egidy 100032695d Merge branch 'isomd5sum' into 'main'
embed checksum into the .iso files created (isomd5sum)

See merge request systemrescue/systemrescue-sources!245
2022-11-23 21:03:32 +00:00
Gerd v. Egidy 594bf47b77 embed checksum into the .iso files created (isomd5sum)
These embedded checksums can help against accidental image corruption,
for example due to bad cache data, broken mirror servers or bad media.
They are not digital signatures and do *not* help against bad actors
manipulating the .iso image.

Images can be checked manually with the "checkisomd5" command. This
is done automatically when using the Fedora media writer or the upcoming
systemrescue-usbwriter.
2022-11-23 21:57:04 +01:00
Francois Dupoux 09c553668b Merge branch 'release905' into 'main'
SystemRescue-9.05

See merge request systemrescue/systemrescue-sources!244
2022-10-21 16:12:14 +00:00
Francois Dupoux 4ca53aae72 SystemRescue-9.05 2022-10-21 17:11:34 +01:00
Gerd v. Egidy 75591c9551 Merge branch 'lua-copytoram' into 'main'
don't parse yaml files twice when using copytoram

See merge request systemrescue/systemrescue-sources!243
2022-10-19 18:26:46 +00:00
Gerd v. Egidy ac99cc791e Merge branch 'firefox-ads' into 'main'
disable advertising on the firefox new-tab / welcome page

See merge request systemrescue/systemrescue-sources!242
2022-10-19 18:25:05 +00:00
Gerd v. Egidy 3e74018b67 disable advertising on the firefox new-tab / welcome page 2022-10-19 20:23:33 +02:00
Gerd v. Egidy 711a9f6ea5 don't parse yaml files twice when using copytoram
since recently /run/archiso/copytoram is bind-mounted to /run/archiso/bootmnt.
This means sysrescue-configuration.lua should just load yaml files from
/run/archiso/bootmnt and not both, otherwise they would be loaded twice.
2022-10-19 20:20:13 +02:00
Gerd v. Egidy c0cb014d46 Merge branch 'sysrescue-initialize-xnet' into 'main'
Split initialization of SystemRescue into parts done before and in parallel to networking (#304)

See merge request systemrescue/systemrescue-sources!240
2022-10-16 10:34:43 +00:00
Gerd v. Egidy 5a32924e55 Split initialization of SystemRescue into parts done before and in parallel to networking (#304)
Configuring the nofirewall option by the sysrescue-initialize script must be done before the ip6?tables service.
Configuring the firewall should be finished before beginning to initialize the network.

But the rest of sysrescue-initialize should still be done in parallel to networking
being set up for a fast boot sequence. Also some services in sysrescue-initialize require
networking being online, for example load_srm with a remote url.

The proper way to accommodate all these needs is to split sysrescue:
sysrescue-initialize-prenet: must be finished before the network-pre.target
sysrescue-initialize-whilenet: started after sysrescue-initialize-prenet, can run in parallel
                               to networking being set up.
2022-10-16 12:33:25 +02:00
Gerd v. Egidy 6d7848cf5f Merge branch 'sysctl-fix' into 'main'
fix error handling when setting sysctl via yaml config

See merge request systemrescue/systemrescue-sources!239
2022-10-15 15:31:12 +00:00
Gerd v. Egidy 61576de220 fix error handling when setting sysctl via yaml config 2022-10-15 17:30:08 +02:00
Gerd v. Egidy 87e2abb28e Merge branch 'yay-prepare-exclude' into 'main'
yay-prepare: don't reinstall packages from the sysrescuerepo

See merge request systemrescue/systemrescue-sources!238
2022-10-11 20:37:54 +00:00
Gerd v. Egidy 98a9623a91 yay-prepare: don't reinstall packages from the sysrescuerepo
They aren't available by default. Also it is quite unlikely that a package
from AUR would actually need includes or libraries from one of them.
2022-10-11 22:36:44 +02:00
Gerd v. Egidy 77be9507fd Merge branch 'changelog' into 'main'
changelog entries for recent merges

See merge request systemrescue/systemrescue-sources!237
2022-10-11 19:44:40 +00:00
Gerd v. Egidy e1f4b77f39 changelog entries for recent merges 2022-10-11 21:43:48 +02:00
Gerd v. Egidy eac0842969 Merge branch 'yay' into 'main'
add yay AUR-helper (#139)

See merge request systemrescue/systemrescue-sources!235
2022-10-11 19:32:24 +00:00
Gerd v. Egidy 28274716e8 Merge branch 'autorun-yaml' into 'main'
Implement new autorun configuration ( #287)

See merge request systemrescue/systemrescue-sources!233
2022-10-11 19:29:13 +00:00
Gerd v. Egidy f4f582edb4 Implement new autorun configuration ( #287)
- Implement a new style configuring autorun scripts ("autorun.exec"), more suited to a YAML config file than the old style (#287)
- The old style autorun scripts are still fully supported, they are loaded into keys from "1000-autorun" to "1026-autorunF"
- change the default for ar_nowait to true
- add "shell" option for new autorun exec scripts: let bash interpret the command instead of directly forking it from python
- allow to wait for keypress with a countdown timer, all keys are accepted now (instead of just enter as in the past)
- fix is_elf_binary
- improve output and logging (#253)
- use curl instead of wget for downloading scripts from URLs
- bind-mount /run/archios/bootmnt in case of copytoram to create a stable path for the new-style scripts
- deprecate storing autorun scripts in the root of the boot disk (#252)
- don't check /var/autorun/cdrom for autorun scripts anymore, it was not documented and there are more than enough better alternatives
2022-10-11 19:29:13 +00:00
Gerd v. Egidy ae5707d9c3 Merge branch 'sysctl-yaml' into 'main'
Add sysctl option to the "sysconfig" scope of YAML config file

See merge request systemrescue/systemrescue-sources!236
2022-10-02 17:06:19 +00:00
Gerd v. Egidy 06f9d9d397 Add sysctl option to the "sysconfig" scope of YAML config file
Allows to customize sysctl entries of the kernel from the yaml config.
2022-10-02 19:04:41 +02:00
Gerd v. Egidy 704d7a9e5c add yay AUR-helper (#139)
- call yay through a wrapper to take care of root/sudo handling
- add yay-prepare to reinstall everything that was stripped for size (like /usr/include)
- yay-prepare creates a yay user and sudo rights
- the wrapper is installed in /usr/bin/yay, we want it to clash with yay-packages that aren't adapted to SystemRescue
2022-10-02 15:34:00 +02:00
Gerd v. Egidy 1df64290fa use binutils ar and strings commands
The binutils package is installed in SystemRescue for some time, so actually use it.

The busybox ar is inferior to the binutils one, causing problems when building
some packages with yay.
2022-10-02 15:26:10 +02:00
Gerd v. Egidy d01b5771cb Merge branch 'ipw2xxx-fw' into 'main'
remove ipw2100-fw and ipw2200-fw wifi firmware packages as they are no longer available in Arch

See merge request systemrescue/systemrescue-sources!234
2022-10-01 19:06:59 +00:00
Gerd v. Egidy 07211ae322 remove ipw2100-fw and ipw2200-fw wifi firmware packages as they are no longer available in Arch
The wifi chipsets they are from are from the early 2000s and the drivers for them aren't using the current
kernel interfaces.

See:
https://lists.archlinux.org/archives/list/arch-dev-public@lists.archlinux.org/thread/UKXPJEJZPU5PFKAPSATNL2DSWFGNEUCK/
and for some more background:
https://fedoraproject.org/wiki/Changes/RemoveWirelessExtensions
2022-10-01 20:54:29 +02:00
Gerd v. Egidy 69e118b660 Merge branch 'mkpasswd' into 'main'
add mkpasswd: hash a password for use in /etc/shadow or htpasswd

See merge request systemrescue/systemrescue-sources!232
2022-09-15 19:05:22 +00:00
Gerd v. Egidy dcc27afc06 add mkpasswd: hash a password for use in /etc/shadow or htpasswd
mkpasswd is finally available packaged on Arch, so add it to allow
manually replacing a password in /etc/shadow, for when chroots or
pam don't work as wanted. Also supports advanced hash algos like
yescrypt that can't be set via the pam stack yet.

Because the source for mkpasswd is part of the whois package, it
is currently packaged as part of whois. But it might get it's own
package in the future, so add a check for /usr/bin/mkpasswd during
build time.
2022-09-15 20:58:33 +02:00
Gerd v. Egidy d0946d6c3f Merge branch 'initramfs-pxe-http' into 'main'
don't keep airootfs.sfs in ram twice when using archiso_http_srv (#56)

See merge request systemrescue/systemrescue-sources!231
2022-09-14 20:50:55 +00:00
Gerd v. Egidy 17093ae1ef update changelog 2022-09-14 22:37:59 +02:00
Gerd v. Egidy 0f01ff896a allow using https urls in archiso_http_srv by disabling CA checks
archiso_http_srv is used in initramfs and we don't have a database
of trusted CAs there. So ignore all CA checks to allow downloading
from https at all.
2022-09-14 22:33:01 +02:00
Gerd v. Egidy ba97b5ce78 don't keep airootfs.sfs in ram twice when using archiso_http_srv (#56)
Without this patch, airootfs.sfs is downloaded to /run/archiso/httpspace
and then copied to /run/archiso/bootmnt. copytoram is automatically
activated, which copies it to /run/archiso/copytoram and removes
/run/archiso/bootmnt. The original /run/archiso/httpspace was kept,
wasting ram.

This patch gets rid of /run/archiso/httpspace and directly downloads
to /run/archiso/bootmnt. This is then copied to copytoram and bootmnt
removed, so we don't keep two copies in ram anymore.
2022-09-14 22:26:10 +02:00
Gerd v. Egidy 99b906f21f Merge branch 'mountall-settle' into 'main'
mountall: use udevadm settle to wait for newly opened cryptodisks to appear in /dev/mapper

See merge request systemrescue/systemrescue-sources!230
2022-09-06 18:42:01 +00:00
Gerd v. Egidy 3b0a91f7d7 update changelog 2022-09-06 20:39:51 +02:00
Gerd v. Egidy c52dcbeeb0 mountall: show target mountpoint in output 2022-09-06 20:24:46 +02:00
Gerd v. Egidy d8de1c8199 mountall: use udevadm settle to wait for newly opened cryptodisks to appear in /dev/mapper 2022-09-06 20:19:53 +02:00
Gerd v. Egidy 495fea0194 Merge branch 'rclone-sysconfig' into 'main'
Add rclone option to the "sysconfig" scope of YAML config file

See merge request systemrescue/systemrescue-sources!229
2022-08-24 11:24:54 +00:00
Gerd v. Egidy b0bd95a977 Add rclone option to the "sysconfig" scope of YAML config file
rclone needs a rclone.conf file before it can be used, it contains
the urls, login data and similar.

Use the sysconfig.rclone.config hierarchy instead of just sysconfig.rclone
to allow adding features later. These could be support for encrypted
rclone config files (these would then go into sysconfig.rclone.crypted_config)
or things like automounting.
2022-08-24 13:18:08 +02:00