Commit graph

83 commits

Author SHA1 Message Date
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 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 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 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 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 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 66e5801538 remove qt 5 and 6 translations to reduce image size
Qt 5 and 6 package translation files for common widgets that programs
can opt to use. These translation files take up about 2 MB of the final
iso image.

When the translations are removed, qt is designed to show messages
in the default language, English.

SystemRescue currently contains 2 programs using qt5 and qt6. I
tested both with the default en_US.UTF-8 and custom de_DE.UTF-8 locales:

featherpad: contains it's own complete translation. It's UI uses the
configured locale and it works regardless if the qt-translations are
installed or not.

yubikey-personalization-gui: doesn't use the translations at all and
is always shown in English. Removing the qt translations doesn't change
anything.

So programs coming with SystemRescue by default aren't affected. Also
other qt programs the user could install won't be affected. Only if the
user also changes the default locale, parts of some programs might be
now shown in English, like many other parts of SystemRescue that don't
come with translations.
2022-07-31 13:02:45 +02:00
Gerd v. Egidy 7a5acd23ed remove KeepassXC documentation to reduce image size
The KeepassXC documentation takes up 5 MB of final iso image size.
This is quite excessive.

Removing the documentation doesn't impair program usage. The documentation
can easily be accessed online from the KeepassXC website, it is directly
linked in the help menu.
2022-07-31 12:57:04 +02:00
Gerd v. Egidy 359083a0cc configure firefox as default browser in xfce 2022-07-31 12:31:24 +02:00
Gerd v. Egidy 9a0e4acd16 deliver SystemRescue with an already initialized pacman key database
Initializing the pacman key database during boot can take considerable time
and there is no locking during this time against concurrent file access.
This can lead to problems when installing packages soon after reboot.
This also speeds up the boot process.

Additional disk space requirement is about 1 MByte.

Fixes #290
2022-07-24 23:11:11 +02:00
Gerd v. Egidy 95f9d88922 add a default config file to prevent remmina from showing an annoying popup on start 2022-06-08 20:54:22 +02:00
Francois Dupoux eb536c5a06 Merge branch 'workspace-count' into 'main'
xfwm4: Reduce number of default workspaces from 4 to 1.

See merge request systemrescue/systemrescue-sources!195
2022-05-09 11:30:15 +00:00
ProtoFoo f733e32f0c xfwm4: Reduce number of default workspaces from 4 to 1. 2022-04-30 01:55:27 +02:00
Gerd v. Egidy e87660beeb execute sysrescue-configuration.lua only once
Before this patch sysrescue-configuration.lua was executed twice each boot:
(1) during initramfs stage (2) in the regular system as sysrescue-configuration.service

While in theory both runs should create the same output, this isn't guaranteed and
differences could appear for example because of network issues. Finding and debugging
these is difficult because the output of sysrescue-configuration.lua created during
initramfs isn't available anymore when the final system is running.

This patch lets sysrescue-configuration.lua just run once during initramfs. The
output JSON file is then written to the new tmpfs mounted dir /run/archiso/config/.
This dir is also made the new default location for sysrescue-effective-config.json.

A symlink from /etc/sysrescue/sysrescue-effective-config.json to the new location
is created for compatibility with previous releases.
2022-04-25 20:31:18 +02:00
Gerd v. Egidy b614840213 store the "setkmap" command in bash_history to make it accessible without typing
When the correct keyboard map is not set yet, it might be difficult for the user
to type in the command. This way they just have to press the arrow up key to reach it.

Fixes #273
2022-04-10 21:56:01 +02:00
Francois Dupoux ca6bcd6548 Implement the primary configuration processing script in lua (#251) 2022-01-26 20:07:53 +00:00
Gerd v. Egidy 4df6386059 delete unnecessary files (stray kernel image, unnecessary grub picture) 2022-01-19 21:52:41 +01:00
Gerd v. Egidy 885dce5e11 add the SystemRescue website as offline documentation 2021-12-30 14:09:33 +00:00
Francois Dupoux 39056fe54c Merge branch 'pacman-snapshot' into 'master'
Use snapshot archive repo for pacman in SystemRescue by default

Closes #237

See merge request systemrescue/systemrescue-sources!124
2021-12-18 13:05:35 +00:00
Gerd v. Egidy 5799891875 disable the ldconfig run as it can unnecessarily slow down boot
The ldconfig service ("Rebuild Dynamic Linker Cache") updates /etc/ld.so.cache when it is
older than some preconfigured age. This increases boot time, especially when airootfs is
on a slower media, like a DVD-ROM drive or NFS. Since System Rescue doesn't change over time,
keeping the original file from release is fine.
2021-12-12 11:33:21 +01:00
Gerd v. Egidy 4421a2bc75 Use snapshot archive repo for pacman in SystemRescue by default
This prevents huge dependency downloads by pacman when the SystemRescue version gets older
by using a snapshot repo from the day the SystemRescue version is released.

The classic rolling repos from Arch are also available as option. Activate with the
"--config /etc/pacman-rolling.conf" option to pacman.

To allow switching on a per-command basis, two different sets of remote package databases
are required. But the local package database must be the same for both variants. This
is achived by using two different DBPaths in the pacman config files and bind-mounting
the local part together. pacman does not accept symlinks for this, so it must be a bind mount.
2021-12-06 21:06:23 +01:00
fdupoux d2742521c1 Fix for a filename change 2021-11-07 11:17:48 +00:00
fdupoux 083ce86feb Remove unneeded qcom firmware files (#219) 2021-11-07 08:39:57 +00:00
Marcos Mello 3180a29dc2 Disable kernel Audit
Fixes systemrescue/systemrescue-sources#200
2021-06-05 15:41:29 -03:00
fdupoux d2966b4a0f Dropped joe (package removed upstream) 2021-05-08 14:05:00 +01:00
Marcos Mello a7bfd16f54 Enable quiet login
Quiet ("hushed") login disables email check, last login printing and message of the
day. Neither of these are useful for SystemRescue. Arch's default configuration
(/etc/login.defs) only allows per user setting (~/.hushlogin).
2021-02-24 20:22:08 -03:00
fdupoux 0418e77fc3 Added /root/.config/mimeapps.list to associate PDF files with Firefox 2021-02-18 20:12:39 +00:00
fdupoux 0ed7569e05 Updated names for XFCE-4.16 desktop files 2020-12-25 16:00:01 +00:00
fdupoux 3ee74c3d82 The qemu guest agent service has been renamed 2020-11-08 12:23:10 +00:00
Marcos Mello 60d4b9a5c8 Increase xfwm4 double-click time
See:
https://git.launchpad.net/xubuntu-default-settings/commit/?id=cf68186a533512e62e7532223471dffb348edd47
2020-09-26 16:04:07 -03:00
fdupoux 45d27a0be6 Rename project : SystemRescueCd ==> SystemRescue 2020-09-12 11:47:11 +01:00
fdupoux c8c2e9f1c5 Add and enable qemu-guest-agent (#148) 2020-09-10 08:18:12 +01:00
fdupoux 0334c01a96 Created keyboard shortcuts (#146) 2020-09-08 19:18:22 +01:00
fdupoux 6f184a233f Revert xfce terminal colors to default (#143) 2020-09-07 18:12:08 +01:00
fdupoux 8350791321 Cleanup XFCE application menu 2020-08-22 16:52:44 +01:00
fdupoux 4f4bc82140 Update list of irrelevant firmware files 2020-08-22 16:37:49 +01:00
fdupoux fd151c61d0 Mask more irrelevant timer units (#140) 2020-08-19 08:01:11 +01:00
fdupoux fa1ed4e89f Renamed the custom package repository (custompkgs => sysrescuerepo) 2020-08-09 10:02:54 +01:00
fdupoux 3ec200b70a Added hexedit and ghex hexadecimal text editors (#135) 2020-08-09 09:27:58 +01:00
fdupoux e039170e31 Test binaries from custom packages during the build (#133) 2020-08-05 20:21:54 +01:00
Marcos Mello 835b45f3b1 Keep /root permissions as 750
d39e2ba41b
2020-08-04 21:46:11 -03:00
fdupoux 78a5b5f4d3 Remove new large firmware: /usr/lib/firmware/mrvl/prestera 2020-07-25 17:13:31 +01:00
Francois Dupoux a84d0fe040 Merge branch 'override-rename' into 'master'
Rename PulseAudio override files

See merge request fdupoux/sysresccd-src!60
2020-07-06 05:51:38 +00:00
Marcos Mello 937c13f91d Rename PulseAudio override files
Let's follow our style.
2020-07-05 15:59:31 -03:00
fdupoux b0c7e805c1 Do not replace /etc/resolv.conf 2020-07-04 14:57:30 +01:00
Francois Dupoux 063f25da02 Merge branch 'cleanup-gcclibs' into 'master'
Remove large gcc-libs libraries (libgphobos and libgfortran)

See merge request fdupoux/sysresccd-src!56
2020-07-04 13:11:41 +00:00
Marcos Mello efd0d23dd2 Drop netctl in favor of systemd-networkd and systemd-resolved
* Following upstream archiso

* NetworkManager stays as default in SystemRescueCd

* Explicitly symlink /etc/resolv.conf to /run/NetworkManager/resolv.conf
  to make clear NetworkManager is in charge

Closes fdupoux/sysresccd-src#75
2020-06-29 15:37:29 -03:00
fdupoux f5c2bc5598 Remove large gcc-libs libraries (libgphobos and libgfortran) 2020-06-28 09:35:10 +01:00
fdupoux 98142cc2ba Remove /usr/share/man/man3 (man pages related to development) to save 13MB 2020-06-27 14:59:50 +01:00