Compare commits

...

68 commits

Author SHA1 Message Date
Nick Chevsky 023ef86591 SystemRescue+ZFS 12.00+2.3.1
🌎 External changes:
- 🚀 Upgrade SystemRescue to v12.00 and archzfs to v2.3.1.
-  Add a no-firewall boot entry to the GRUB and SYSLINUX menus.
  (If you'd like to vote for this to become the default boot entry,
  leave a 👀 reaction on this release.)
- 🪶 Replace Firefox with the more lightweight GNOME Web (`epiphany`).
- ✂️ Remove packages `b43-fwcutter`, `darkhttpd`, `discount`, `dkms`,
  `geany`, `irssi`, `keepassxc`, `linux-atm`, `qtpass`, `xorg-bdftopcf`,
  `xorg-mkfontscale`, `xorg-sessreg`, `xorg-smproxy`, `xorg-x11perf`,
  `xorg-xcmsdb`, `xorg-xcursorgen`, `xorg-xdriinfo`, `xorg-xgamma`,
  `xorg-xkbevd`, `xorg-xkbprint`, `xorg-xkbutils`, `xorg-xlsatoms`,
  `xorg-xlsclients`, `xorg-xpr`, `xorg-xrefresh`, `xorg-xsetroot`,
  `xorg-xvinfo`, `xorg-xwd`, `xorg-xwud`, `yubikey-manager`, and
  `yubikey-personalization-gui`.
- 🛠️ Fix reference to Featherpad (now Mousepad) left behind in
  `issue(5)` by v11.02+2.2.6.
- 🛠️ Make the image's volume label ISO-9660-compliant.

Closes #17.
2025-04-07 21:46:59 -05:00
Francois Dupoux eeccf5792b Merge branch 'release1200' into 'main'
SystemRescue-12.00

See merge request systemrescue/systemrescue-sources!321
2025-03-15 09:54:28 +00:00
Francois Dupoux de1b85339b
SystemRescue-12.00 2025-03-15 09:29:21 +00:00
Francois Dupoux 9acb66fd2e Merge branch 'comrepo' into 'main'
Remove the community repository (#409)

See merge request systemrescue/systemrescue-sources!320
2025-03-15 08:12:02 +00:00
Francois Dupoux b3a96e065a
Remove the community repository (#409) 2025-03-15 08:10:43 +00:00
Francois Dupoux 9c6c354465 Merge branch 'changelog' into 'main'
Updated ChangeLog

See merge request systemrescue/systemrescue-sources!319
2025-03-09 20:00:31 +00:00
Francois Dupoux 720b186151
Updated ChangeLog 2025-03-09 19:59:38 +00:00
Francois Dupoux f4a98567cf Merge branch 'grub' into 'main'
Apply workaround to avoid possible display issues affecting grub (#399)

See merge request systemrescue/systemrescue-sources!318
2025-03-09 19:52:38 +00:00
Francois Dupoux 7eac4876ca
Apply workaround for display issue affecting grub (#399) 2025-03-09 19:48:57 +00:00
Francois Dupoux e8fa4ad655 Merge branch 'oldpkg' into 'main'
Remove packages that have been dropped

See merge request systemrescue/systemrescue-sources!316
2025-02-09 08:35:40 +00:00
Francois Dupoux e0d5c9b9c7
Remove packages that have been dropped 2025-02-09 08:34:38 +00:00
Francois Dupoux 9fdce1fa70 Merge branch 'release1103' into 'main'
SystemRescue-11.03

See merge request systemrescue/systemrescue-sources!315
2024-12-07 06:44:06 +00:00
Francois Dupoux d244cdf36d
SystemRescue-11.03 2024-12-07 06:42:51 +00:00
Francois Dupoux 9212986197 Merge branch 'fixbuild' into 'main'
Various minor fixes

See merge request systemrescue/systemrescue-sources!314
2024-12-06 19:42:34 +00:00
Francois Dupoux 6c0d70f47b
Update hugo command line to build docs 2024-12-06 19:40:50 +00:00
Francois Dupoux a5aeab0123
Drop python-pythondialog (package removed from upstream repository) 2024-12-06 19:39:40 +00:00
Francois Dupoux f4743da599 Merge branch 'shebang' into 'main'
Update shebang in scripts to improve portability

See merge request systemrescue/systemrescue-sources!313
2024-12-06 17:14:35 +00:00
Francois Dupoux 4ed9e06281
Update shebang in scripts to improve portability 2024-12-06 17:03:18 +00:00
Francois Dupoux 6e15e90ad8 Merge branch 'release1102' into 'main'
SystemRescue-11.02

See merge request systemrescue/systemrescue-sources!312
2024-08-29 17:44:54 +00:00
Francois Dupoux decadc0184
SystemRescue-11.02 2024-08-29 18:43:43 +01:00
Francois Dupoux 0839936717 Merge branch 'release1101' into 'main'
SystemRescue-11.01

See merge request systemrescue/systemrescue-sources!309
2024-05-04 17:15:45 +00:00
Francois Dupoux 62d99ff2ed
SystemRescue-11.01 2024-05-04 18:14:24 +01:00
Francois Dupoux c18766ed9f Merge branch 'fix-qlogic-nic' into 'main'
Add support for Qlogic Card requiring firmwares

See merge request systemrescue/systemrescue-sources!308
2024-04-05 06:24:11 +00:00
Frédéric Brin 97a03ec965 Add support for Qlogic Card requiring firmwares
Fix #374

Some qlogic cards requires a firmware to be up
Add `linux-firmware-qlogic` to the packages list
2024-04-04 14:30:56 +02:00
Francois Dupoux 582e9b093c Merge branch 'fix-podman-build' into 'main'
Fix Iso build issue with podman

See merge request systemrescue/systemrescue-sources!307
2024-04-04 07:51:38 +00:00
Frédéric Brin 5caf9bea7d Fix Iso build issue with podman
Pids Limits is too low on podman (2048).
It breaks the full packages installation.

Bump the pids limit to 4096
2024-04-03 21:16:28 +02:00
Francois Dupoux 7bad4678c6 Merge branch 'changelog' into 'main'
Updated the ChangeLog

See merge request systemrescue/systemrescue-sources!306
2024-03-02 11:05:51 +00:00
Francois Dupoux d0fff8b490
Updated the ChangeLog 2024-03-02 11:03:53 +00:00
Francois Dupoux 572d25242c Merge branch 'feature/build-zfs' into 'main'
Add build-zfs-srm, a script to build ZFS support for SystemRescue

See merge request systemrescue/systemrescue-sources!305
2024-03-02 10:18:18 +00:00
Daniel Richard G dbc09046b4 Add build-zfs-srm, a script to build ZFS support for SystemRescue 2024-02-27 22:27:19 -05:00
Francois Dupoux 53b50c42e1 Merge branch 'release1100' into 'main'
SystemRescue-11.00

See merge request systemrescue/systemrescue-sources!304
2024-01-28 09:31:59 +00:00
Francois Dupoux bd1aaf5477 SystemRescue-11.00 2024-01-28 09:31:16 +00:00
Francois Dupoux 53c42cf1fe Merge branch 'nm-applet' into 'main'
Remove /root/.config/autostart/nm-applet.desktop

See merge request systemrescue/systemrescue-sources!303
2024-01-27 14:15:27 +00:00
Francois Dupoux cc19b334a9 Remove /root/.config/autostart/nm-applet.desktop because of duplicate nm-applet icon (#366) 2024-01-27 14:14:37 +00:00
Francois Dupoux b31ccb8c4a Merge branch 'memtest' into 'main'
Removed reference to file which has been removed (#368)

See merge request systemrescue/systemrescue-sources!302
2024-01-21 06:56:43 +00:00
Francois Dupoux 24e212c134 Removed reference to file which has been removed (#368) 2024-01-20 17:58:11 +00:00
Francois Dupoux 9071f3a5e4 Merge branch 'docker-base' into 'main'
Use the most up to date docker image from archlinux

See merge request systemrescue/systemrescue-sources!301
2024-01-01 17:43:27 +00:00
Francois Dupoux 9efffb03c7 Use the most up to date docker image from archlinux 2024-01-01 17:42:57 +00:00
Francois Dupoux 82143fd91e Merge branch 'reorder' into 'main'
Reorder packages in the list

See merge request systemrescue/systemrescue-sources!300
2023-12-25 14:41:03 +00:00
Francois Dupoux a2596e8321 Reorder packages in the list 2023-12-25 14:40:30 +00:00
Francois Dupoux a12d431258 Merge branch 'blocksync-fast' into 'main'
Added blocksync-fast (Block device sync tool for block-based backups) (#361)

See merge request systemrescue/systemrescue-sources!299
2023-12-25 14:39:23 +00:00
Francois Dupoux 40a2aaa4a6 Added blocksync-fast (Block device sync tool for block-based backups) (#361) 2023-12-25 14:38:41 +00:00
Francois Dupoux d9ce29f8c6 Merge branch 'dstat' into 'main'
Package dstat has been replaced with dool which is a fork of dstat

See merge request systemrescue/systemrescue-sources!298
2023-12-24 18:47:48 +00:00
Francois Dupoux f19ca75fa4 Package dstat has been replaced with dool which is a fork of dstat 2023-12-24 18:27:36 +00:00
Francois Dupoux 2730aa5970 Merge branch 'xfce-panel' into 'main'
Update xfce panel configuration

See merge request systemrescue/systemrescue-sources!297
2023-12-18 21:14:21 +00:00
Francois Dupoux a0fda2e85e Update xfce panel configuration 2023-12-18 20:50:55 +00:00
Francois Dupoux 7bc538444b Merge branch 'xfce-config' into 'main'
Update XFCE Configuration

See merge request systemrescue/systemrescue-sources!296
2023-12-17 13:36:47 +00:00
Francois Dupoux 1a736439ed Updated ChangeLog 2023-12-17 13:36:00 +00:00
Francois Dupoux c2717519b6 Adding the battery icon to the panel 2023-12-17 13:11:51 +00:00
Francois Dupoux a9a30e5913 Enabled the screensaver to save energy 2023-12-17 13:11:15 +00:00
Francois Dupoux 3f3a0be760 Merge branch 'bcachefs' into 'main'
Add bcachefs-tools (file system utilities for bcachefs)

See merge request systemrescue/systemrescue-sources!295
2023-11-04 07:45:37 +00:00
Francois Dupoux 4102875d6c Add bcachefs-tools (file system utilities for bcachefs) 2023-11-04 07:23:54 +00:00
Gerd v. Egidy 4d8a709218 Merge branch 'ssh_host_keys' into 'main'
Add new option "ssh_known_hosts" to the sysconfig section of the yaml config

See merge request systemrescue/systemrescue-sources!294
2023-10-03 18:22:00 +00:00
Gerd v. Egidy 5cf652ec56 Add new option "ssh_known_hosts" to the sysconfig section of the yaml config
It allows to preconfigure a list of known host keys.
But the primary use case will probably be trusting signatures from SSH CAs for host keys.

Example:
---
sysconfig:
    ssh_known_hosts:
        myhost.example.org: "ssh-ed25519 AAAAC3NzaC1l...JJTO48B"
        "@cert-authority *.mydomain.org": "ssh-rsa AAAAB3NzaC1y...Zhk0="
2023-10-03 20:17:14 +02:00
Gerd v. Egidy 592d5e0869 Merge branch 'findroot-fixes' into 'main'
Fix findroot issues #340 and #342

See merge request systemrescue/systemrescue-sources!293
2023-09-25 20:34:15 +00:00
Gerd v. Egidy 4869d2c2f8 Fix findroot loop when the password to any encrypted device is unknown (#342)
Do this by asking max 6 times for a password, then continue with the next device.

Also fix a bug when an encrypted device on LVM leads to the same device
name for the encrypted and unencrypted device.
2023-09-25 22:30:58 +02:00
Gerd v. Egidy 99fb673748 Fix using findroot when /sbin/init is an absolute symlink (#340)
Also add basic safeguards against bad usrmerge implementations:
that would be when /sbin is a absolute symlink instead of a relative one.
2023-09-25 21:44:03 +02:00
Francois Dupoux aa8a7b0aa2 Merge branch 'fix-changelog' into 'main'
Update ChangeLog for version 10.03

See merge request systemrescue/systemrescue-sources!292
2023-09-16 20:22:21 +00:00
Francois Dupoux 4c47a26264 Update ChangeLog for version 10.03 2023-09-16 21:21:50 +01:00
Gerd v. Egidy c82322b922 Merge branch 'new-packages' into 'main'
Add new packages : timeshift + sleuthkit

See merge request systemrescue/systemrescue-sources!290
2023-09-16 20:13:09 +00:00
Francois Dupoux ec1578da8d Merge branch 'release-1002' into 'main'
SystemRescue-10.02

See merge request systemrescue/systemrescue-sources!291
2023-09-16 20:04:29 +00:00
Francois Dupoux 96ff1524af SystemRescue-10.02 2023-09-16 21:03:21 +01:00
Gerd v. Egidy 0a36513381 add changelog entries 2023-09-16 16:23:29 +02:00
Gerd v. Egidy 19e9bd08e1 add timeshift and sleuthkit packages (#349, #350) 2023-09-16 15:08:32 +02:00
Francois Dupoux 10f799bf1b Merge branch 'add-libldm' into 'main'
Added libldm (Tools for managing Microsoft Windows Dynamic Disks) (#348)

See merge request systemrescue/systemrescue-sources!289
2023-09-14 20:10:14 +00:00
Francois Dupoux 17469bd92c Added libldm (Tools for managing Microsoft Windows Dynamic Disks) (#348) 2023-09-14 21:09:28 +01:00
Francois Dupoux 6a1f48bcab Merge branch 'add-nmon' into 'main'
Add nmon (Nigels Performance Monitoring tool for Linux) #351

See merge request systemrescue/systemrescue-sources!288
2023-09-14 20:05:41 +00:00
Francois Dupoux 377cdcb3f5 Added nmon (Nigels Performance Monitoring tool for Linux) #351 2023-09-14 21:04:54 +01:00
32 changed files with 353 additions and 203 deletions

View file

@ -1,6 +1,54 @@
SystemRescue ChangeLog
======================
------------------------------------------------------------------------------
12.00 (2025-03-15):
------------------------------------------------------------------------------
* Updated the kernel to the Long-Term-Supported linux-6.12.19
* Support for bcachefs (kernel module + file system tools + support in GParted)
* Applied workaround to avoid possible display issues affecting grub (#399)
* Updated disk utilities: GParted-1.7.0, nwipe-0.38, dump-0.4b49
------------------------------------------------------------------------------
11.03 (2024-12-07):
------------------------------------------------------------------------------
* Updated the kernel to the Long-Term-Supported linux-6.6.63
* Updated custom packages: blocksync-fast-1.0.6, firefox-esr-128.5.1
------------------------------------------------------------------------------
11.02 (2024-08-29):
------------------------------------------------------------------------------
* Updated the kernel to the Long-Term-Supported linux-6.6.47
* Updated custom packages: blocksync-fast-1.0.5, firefox-esr-128.1.0, nwipe-0.37
------------------------------------------------------------------------------
11.01 (2024-05-04):
------------------------------------------------------------------------------
* Updated the kernel to the Long-Term-Supported linux-6.6.30
* Added helper script to add support for ZFS in a custom SystemRescue ISO (#359)
* Added firmwares for Qlogic Cards: linux-firmware-qlogic (#374)
* Updated disk utilities: GParted-1.6.0, nwipe 0.36
------------------------------------------------------------------------------
11.00 (2024-01-28):
------------------------------------------------------------------------------
* Updated the kernel to the Long-Term-Supported linux-6.6.14
* Added option "ssh_known_hosts" in yaml config to trust SSH CAs signatures on host keys
* Fix the "findroot" boot option when /sbin/init is an absolute symlink (#340)
* Fix the "findroot" loop when the password to any encrypted device is unknown (#342)
* Update XFCE Configuration (enabled screen saver, added battery icon)
* Package "dstat" has been replaced with "dool" which is a fork of dstat
* Added bcachefs-tools (file system utilities for bcachefs, no kernel module yet)
* Added blocksync-fast (block device sync tool for block-based backups) (#361)
* Added sleuthkit (tools for raw file system inspection) (#349)
* Added timeshift (snapshot-based backup program) (#350)
------------------------------------------------------------------------------
10.02 (2023-09-16):
------------------------------------------------------------------------------
* Added nmon (Nigel's Performance Monitoring tool for Linux) (#351)
* Added libldm (Tools for managing Microsoft Windows Dynamic Disks) (#348)
------------------------------------------------------------------------------
10.01 (2023-05-27):
------------------------------------------------------------------------------

2
FUNDING.yml Normal file
View file

@ -0,0 +1,2 @@
custom: ['http://cash.app/$nchevsky', 'http://paypal.me/nchevsky', 'https://account.venmo.com/u/nchevsky']
github: nchevsky

112
README.md
View file

@ -1,69 +1,75 @@
# SystemRescue
# Overview
## Project website
Homepage: https://www.system-rescue.org/
**SystemRescue+ZFS** is a fork of the [SystemRescue](http://www.system-rescue.org/) distribution (based on [Arch Linux](https://archlinux.org/)) with the following improvements:
## Project sources
This git repository contains SystemRescue sources files. This is based on
https://gitlab.archlinux.org/archlinux/archiso/
- [ZFS](https://github.com/archzfs/archzfs/) supported out of the box
- [Serial console](#serial-console) enabled for all boot options, including [Memtest86+](https://www.memtest.org/)
- EFI boot progress indicators for the kernel/initramfs/system stages
- [ISO image](https://github.com/nchevsky/systemrescue-zfs/releases) below 1 GiB in size
## Building SystemRescue
SystemRescue can be built for x86_64 or i686 architectures. It must be built
on archlinux if you want to build a 64bit edition, or archlinux32 if you want
to create a 32bit edition. The following packages must be installed on the
build system: archiso, grub, isomd5sum, mtools, edk2-shell, hugo.
# Serial console
You need to use a modified version of archiso for the build to work. This
version is provided in the custom `sysrescuerepo` repository. See the
`pacman.conf` file in the source. Either copy the `sysrescuerepo` section
into your `/etc/pacman.conf` or replace the whole `/etc/pacman.conf` file with
the one from the source. Install archiso afterwards.
A serial terminal is enabled out of the box on `ttyS0`/`COM1` at 115,200 baud. If these settings are unsuitable, adjust the configuration of the appropriate bootloader and the [kernel](https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html), then [build](#building) a new image.
The package list contains packages which are not part of the official binary
package repositories from Arch Linux. These packages are also provided in the
`sysrescuerepo` repository. If you want to rebuild them, see
[systemrescue-custompkg](https://gitlab.com/systemrescue/systemrescue-custompkg).
Create a local repository out of them with `repo-add`, host it on a webserver
and then adapt pacman.conf.
## Bootloader
The build process requires the systemrescue-website repository which is included
as git submodule. So when checking out this repository, make sure to check out
the submodule too. This can be done for example with
`git clone --recurse-submodules https://gitlab.com/systemrescue/systemrescue-sources.git`
| [GRUB](https://www.gnu.org/software/grub/manual/grub/grub.html) (EFI boot) | [SYSLINUX](https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX) (legacy boot) |
| --- | --- |
| 📍 [`efiboot/grub/grubsrcd.cfg`](efiboot/grub/grubsrcd.cfg)<br/>`serial --unit=0 --speed=115200 …` | 📍 [`syslinux/sysresccd_head.cfg`](syslinux/sysresccd_head.cfg)<br/>`SERIAL 0 115200` |
The build process can be started by running the build.sh script. It will create
a large "work" sub-directory and the ISO file will be written in the "out"
sub-directory.
## Kernel
## Building SystemRescue with docker
If you are not running archlinux, you can run the build process in docker
containers. You need to have a Linux system running with docker installed
and configured. You can use the scripts provided in the `docker` folder of
this repository.
📍 [`build.sh`](build.sh)<br/>`consoles='console=ttyS0,115200 …'`
You must export the environment variable named `sysrescuearch` before you
run the two helper scripts. It should be set as either `x86_64` or `i686`
depending on the target architecture for which you want to build the ISO image.
# Building
After this, you need to run the script which builds a new docker image, and
then the script which uses this docker image to builds the ISO image. The second
script will pass the arguments it receives to the main `build.sh` script.
For example you can build a 64bit version of SystemRescue in docker using these commands:
```
export sysrescuearch="x86_64"
./docker/build-docker-image.sh
./docker/build-iso-image.sh -v
```sh
$ sudo ./build.sh [-d] [-v]
```
## Including your SystemRescueModules
If you want to include your own [SystemRescueModules][srm], place their srm files
in the [srm](./srm) directory of the repository before running the build script.
- `-d`: Use fast compression, significantly speeding up development builds.
- `-v`: Print more information while building (strongly recommended).
[srm]: https://www.system-rescue.org/Modules/
## Dependencies
## Project sponsors
[Arch Linux](https://archlinux.org/download/) with the following packages installed:
- `arch-install-scripts`
- `archiso` from the custom [SystemRescue repository](https://sysrescuerepo.system-rescue.org/) ⚠️
- `base-devel`
- `edk2-shell`
- `grub`
- `hugo`
- `isomd5sum`
- `mtools`
Infrastructure for SystemRescue is sponsored by:
## Rebuilds
|&nbsp;&nbsp;&nbsp; [<img src="https://www.system-rescue.org/images/fastly_logo_large.png" width=150 alt="fastly">](https://www.fastly.com)&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; [<img src="https://www.system-rescue.org/images/netcup_logo_large.png" width=150 alt="netcup">](https://www.netcup.eu)&nbsp;&nbsp;&nbsp; |
The state of successful [build steps](#steps) is persisted in `work/build.make_*` files. If such a file exists for a given build step, `build.sh` skips that step indefinitely. State files must be manually deleted for any steps that one wants reexecuted.
### Full rebuild
```sh
$ sudo rm work/build.make_*
```
### Partial rebuild
Delete the state file for the desired step **and any downstream steps**. For example, if you have customized the GRUB configuration, you must remove `build.make_efi` and its successors `build.make_efiboot` and `build.make_iso`.
## Steps
1. `make_pacman_conf`
2. `make_basefs`
3. `make_documentation`
4. `make_packages`
5. `make_customize_airootfs`
6. `make_setup_mkinitcpio`
7. `make_boot`
8. `make_boot_extra`
9. `make_syslinux`
10. `make_isolinux`
11. `make_efi`
12. `make_efiboot`
13. `make_prepare`
14. `make_imageinfo`
15. `make_iso`

View file

@ -1 +1 @@
10.01
12.00+2.3.1

View file

@ -17,12 +17,15 @@ run_hook() {
if cryptsetup isLuks ${curdev} >/dev/null 2>&1
then
echo "A passphrase is required to access device ${curdev}:"
local cryptname="${curdev##*/}"
local cryptname="luks-${curdev##*/}"
local cryptargs=""
while ! eval cryptsetup open --type luks ${curdev} ${cryptname} ${cryptargs}
do
sleep 2;
done
if ! cryptsetup open --type luks ${curdev} ${cryptname} ${cryptargs}; then
if ! cryptsetup open --type luks ${curdev} ${cryptname} ${cryptargs}; then
# each cryptsetup call offers 3 tries to enter a valid password
# all 6 failed failed, so continue with the next device
continue
fi
fi
if [ ! -e "/dev/mapper/${cryptname}" ]
then
err "Password succeeded but ${cryptname} creation failed, aborting..."
@ -45,7 +48,15 @@ run_hook() {
echo "Checking for ${init} on device ${curdev} ..."
if mount -r ${curdev} ${newroot} 2>/dev/null
then
if test -x ${newroot}/${init}
# check if /sbin is a symlink and if it is absolute or relative
if test -L "${newroot}/sbin" && readlink "${newroot}/sbin" | grep -q "^/"
then
echo "Absolute /sbin symlink on device ${curdev}"
echo "This usrmerge layout is currently not supported by findroot."
umount ${newroot}
continue
fi
if test -x ${newroot}/${init} || test -L ${newroot}/${init}
then
echo "Found ${init} on device ${curdev}"
rootcount=$((rootcount + 1))

View file

@ -1,14 +1,13 @@
\e[01;31m ========= \e[01;37mSystemRescue %ISO_VERSION% (%ISO_ARCH%)\e[01;31m ======== \e[01;37m\l\e[00;37m/6\e[01;31m =========
\e[00;31mhttps://www.system-rescue.org/
\e[01;31m============== \e[01;37m%ISO_APPLICATION% %ISO_VERSION%\e[01;31m --- \e[01;37m\l \e[01;31m==============
\e[01;31m%ISO_URL%
\e[00;31m*\e[01;31m Console environment\e[00;37m :
Run \e[01;37msetkmap\e[00;37m to choose the keyboard layout (also accessible with the arrow up key)
Run \e[01;37mmanual\e[00;37m to read the documentation of SystemRescue
\e[00;31m*\e[01;31m Graphical environment\e[00;37m :
Type \e[01;37mstartx\e[00;37m to run the graphical environment
X.Org comes with the XFCE environment and several graphical tools:
\e[00;31m-\e[00;37m Partition manager: .. \e[01;37mgparted\e[00;37m
\e[00;31m-\e[00;37m Web browser: ........ \e[01;37mfirefox\e[00;37m
\e[00;31m-\e[00;37m Text editor: ........ \e[01;37mfeatherpad\e[00;37m
\e[00;31m*\e[01;31m Console environment:\e[00;37m
Run \e[01;37msetkmap\e[00;37m or press ↑ to choose the keyboard layout.
Run \e[01;37mmanual\e[00;37m to read the SystemRescue documentation.
\e[00;31m*\e[01;31m Graphical environment:\e[00;37m
Run \e[01;37mstartx\e[00;37m to start the graphical environment.
X.Org comes with the XFCE environment and several graphical tools:
\e[00;31m-\e[00;37m Partition manager: \e[01;37mGParted\e[00;37m
\e[00;31m-\e[00;37m Web browser: \e[01;37mWeb\e[00;37m
\e[00;31m-\e[00;37m Text editor: \e[01;37mMousepad\e[00;37m

View file

@ -92,5 +92,3 @@ Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist

View file

@ -90,5 +90,3 @@ Include = /etc/pacman.d/mirrorlist-snapshot
[extra]
Include = /etc/pacman.d/mirrorlist-snapshot
[community]
Include = /etc/pacman.d/mirrorlist-snapshot

View file

@ -404,6 +404,38 @@ if 'sysconfig' in config and 'authorized_keys' in config['sysconfig'] and \
print(e)
errcnt+=1
# ==============================================================================
# configure SSH known hosts
# do this after late-loading SRMs because we want to add to what is contained in a SRM
# ==============================================================================
if 'sysconfig' in config and 'ssh_known_hosts' in config['sysconfig'] and \
config['sysconfig']['ssh_known_hosts'] and isinstance(config['sysconfig']['ssh_known_hosts'], dict):
print(f"====> Adding SSH known hosts ...")
# create list of key lines we want to add
keylines = []
for key, value in config['sysconfig']['ssh_known_hosts'].items():
keylines.append(f"{key} {value}")
try:
if os.path.exists("/etc/ssh/ssh_known_hosts"):
# check if we already have one of our keylines in the file: don't add it again
with open("/etc/ssh/ssh_known_hosts", "r") as khfile:
for line in khfile:
line = line.strip()
# iterate backwards through the list to make deletion safe
for i in range(len(keylines)-1, -1, -1):
if line == keylines[i]:
del keylines[i]
if keylines:
with open("/etc/ssh/ssh_known_hosts", "a") as khfile:
# append all our keylines
for line in keylines:
khfile.write(f"{line}\n")
except Exception as e:
print(e)
errcnt+=1
# ==============================================================================
# configure bash_history
# do this after late-loading SRMs because we want to add to what is contained in a SRM

View file

@ -1,5 +1,4 @@
[Default Applications]
application/pdf=firefox-esr.desktop
[Added Associations]
application/pdf=firefox-esr.desktop;
application/pdf=org.gnome.Epiphany.desktop
x-scheme-handler/http=org.gnome.Epiphany.desktop
x-scheme-handler/https=org.gnome.Epiphany.desktop

View file

@ -1,2 +1 @@
WebBrowser=custom-WebBrowser
WebBrowser=epiphany

View file

@ -1,7 +1,7 @@
[Desktop Entry]
Name=Manual
Comment=SystemRescue manual
Exec=firefox-esr file:///usr/share/sysrescue/html/manual/index.html
Exec=epiphany file:///usr/share/sysrescue/html/manual/index.html
Icon=help-browser
Terminal=false
Type=Application

View file

@ -1,18 +1,12 @@
[Desktop Entry]
Name=FeatherPad
Name=Mousepad
GenericName=Text Editor
Comment=Lightweight Qt5 text editor
Exec=featherpad %F
Icon=featherpad
Comment=Simple Text Editor
Exec=mousepad
Icon=org.xfce.mousepad
Terminal=false
Type=Application
MimeType=text/plain;
Categories=Qt;Utility;TextEditor;
Categories=Utility;TextEditor;
X-KDE-StartupNotify=false;
Keywords=Text;Editor;Plaintext;
Actions=new-window;
X-XFCE-Source=file:///usr/share/applications/featherpad.desktop
[Desktop Action new-window]
Name=New Window
Exec=featherpad --win

View file

@ -33,7 +33,6 @@
<property name="&lt;Primary&gt;Escape" type="string" value="xfdesktop --menu"/>
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
<property name="&lt;Super&gt;p" type="string" value="xfce4-display-settings --minimal"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;f" type="string" value="firefox-esr"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;g" type="string" value="gparted"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;t" type="string" value="xfce4-terminal"/>
<property name="override" type="bool" value="true"/>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-notifyd" version="1.0">
<property name="log-max-size-enabled" type="bool" value="true"/>
<property name="applications" type="empty">
<property name="known_applications" type="array">
<value type="string" value="org.freedesktop.network-manager-applet"/>
<value type="string" value="Xfce volume control"/>
<value type="string" value="xfce4-power-manager"/>
<value type="string" value="xfce4-settings-helper"/>
</property>
</property>
</channel>

View file

@ -18,7 +18,6 @@
<value type="int" value="11"/>
<value type="int" value="6"/>
<value type="int" value="7"/>
<value type="int" value="8"/>
<value type="int" value="9"/>
<value type="int" value="10"/>
</property>
@ -36,7 +35,7 @@
</property>
<property name="plugin-3" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="15552315792.desktop"/>
<value type="string" value="/usr/share/applications/org.gnome.Epiphany.desktop"/>
</property>
</property>
<property name="plugin-4" type="string" value="launcher">
@ -59,17 +58,21 @@
<property name="expand" type="bool" value="true"/>
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-8" type="string" value="pulseaudio">
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
</property>
<property name="plugin-9" type="string" value="systray">
<property name="icon-size" type="int" value="0"/>
<property name="known-legacy-items" type="array">
<value type="string" value="network"/>
<value type="string" value="networkmanager applet"/>
<value type="string" value="xfce4-power-manager"/>
</property>
<property name="known-items" type="array">
<value type="string" value="nm-applet"/>
</property>
</property>
<property name="plugin-10" type="string" value="clock">
<property name="digital-format" type="string" value="%T">
<property name="digital-format" type="string" value="%T"/>
<property name="digital-time-format" type="string" value="%T"/>
<property name="digital-layout" type="uint" value="3"/>
</property>
</property>
</channel>

View file

@ -5,9 +5,14 @@
<property name="power-button-action" type="uint" value="4"/>
<property name="blank-on-ac" type="int" value="0"/>
<property name="blank-on-battery" type="int" value="0"/>
<property name="dpms-on-ac-sleep" type="uint" value="0"/>
<property name="dpms-on-battery-sleep" type="uint" value="0"/>
<property name="dpms-on-ac-sleep" type="uint" value="5"/>
<property name="dpms-on-battery-sleep" type="uint" value="5"/>
<property name="dpms-on-ac-off" type="uint" value="0"/>
<property name="dpms-on-battery-off" type="uint" value="0"/>
<property name="brightness-switch-restore-on-exit" type="int" value="0"/>
<property name="brightness-switch" type="int" value="0"/>
<property name="brightness-on-battery" type="uint" value="9"/>
<property name="general-notification" type="bool" value="true"/>
<property name="show-tray-icon" type="bool" value="true"/>
</property>
</channel>

View file

@ -26,11 +26,8 @@ sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf
sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf
sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf
# PulseAudio takes care of volume restore
ln -sf /dev/null /etc/udev/rules.d/90-alsa-restore.rules
# config symlink
mkdir /etc/sysrescue/
mkdir -p /etc/sysrescue/
ln -sf /run/archiso/config/sysrescue-effective-config.json /etc/sysrescue/sysrescue-effective-config.json
# Services
@ -42,7 +39,6 @@ systemctl enable sshd.service
systemctl enable sysrescue-initialize-prenet.service
systemctl enable sysrescue-initialize-whilenet.service
systemctl enable sysrescue-autorun.service
systemctl enable qemu-guest-agent.service
systemctl enable var-lib-pacman\\x2drolling-local.mount
systemctl set-default multi-user.target
@ -62,6 +58,9 @@ ln -sf /dev/null /etc/systemd/system-generators/systemd-gpt-auto-generator
# setup pacman signing key storage
/usr/bin/pacman-key --init
pacman-key --recv-keys 3A9917BF0DED5C13F69AC68FABEC0A1208037BE9 DDF7DB817396A49B2A2723F7403BD972F75D9D76 # archzfs (experimental, stable)
pacman-key --lsign-key 3A9917BF0DED5C13F69AC68FABEC0A1208037BE9 # archzfs (experimental)
pacman-key --lsign-key DDF7DB817396A49B2A2723F7403BD972F75D9D76 # archzfs (stable)
/usr/bin/pacman-key --populate
rm -f /etc/pacman.d/gnupg/*~
@ -97,11 +96,10 @@ rm -f /usr/share/qt/translations/*
# Cleanup XFCE menu
sed -i '2 i NoDisplay=true' /usr/share/applications/{xfce4-mail-reader,xfce4-web-browser}.desktop
sed -i "s/^\(Categories=\).*\$/Categories=Utility;/" /usr/share/applications/{geany,*ristretto*,*GHex*}.desktop
sed -i "s/^\(Categories=\).*\$/Categories=Utility;/" /usr/share/applications/{*ristretto*,*GHex*}.desktop
# nm-applet with application indicator enabled gives better integration with xfce4-panel's systray
mkdir -p /root/.config/autostart/ /usr/local/share/applications/
sed 's/^Exec=nm-applet$/& --indicator/' /etc/xdg/autostart/nm-applet.desktop > /root/.config/autostart/nm-applet.desktop
mkdir -p /usr/local/share/applications/
sed 's/^Exec=nm-applet$/& --indicator/' /usr/share/applications/nm-applet.desktop > /usr/local/share/applications/nm-applet.desktop
# Remove large/irrelevant firmwares
@ -114,6 +112,14 @@ then
/usr/bin/localepurge
fi
# remove ZFS build dependencies
if [ ! -L "/etc/pacman.d/hooks/71-dkms-remove.hook" ]; then
mkdir -p /etc/pacman.d/hooks
ln -s /dev/null /etc/pacman.d/hooks/71-dkms-remove.hook # suppress automatic removal of zfs-dkms
fi
pacman --noconfirm -Rdds dkms linux-lts-headers || true
rm /etc/pacman.d/hooks/71-dkms-remove.hook
# Update pacman.conf
sed -i -e '/# ==== BEGIN sysrescuerepo ====/,/# ==== END sysrescuerepo ====/d' /etc/pacman.conf

View file

@ -3,7 +3,6 @@ errcnt=0
for curfile in /usr/bin/{*btrfs*,*xfs*,dislocker*,udp*,dump,restore} \
/usr/bin/{ghex,growpart*,hardinfo,*lshw*,ms-sys,nwipe,whdd,zerofree} \
/opt/firefox*/firefox* \
/usr/lib/ntfs-3g/ntfs-plugin*.so \
/usr/lib/libgbm.so* \
/usr/lib/xorg/modules/drivers/modesetting_drv.so \

View file

@ -1,16 +1,17 @@
#!/bin/bash
#!/usr/bin/env bash
set -e -u
script_path=$(readlink -f ${0%/*})
version_file="${script_path}/VERSION"
iso_name=systemrescue
consoles='console=ttyS0,115200 console=tty0'
iso_application="SystemRescue+ZFS"
iso_version="$(<${version_file})"
iso_mainver="${iso_version%-*}"
iso_label="RESCUE${iso_mainver//.}"
iso_publisher="SystemRescue <http://www.system-rescue.org>"
iso_application="SystemRescue"
iso_name=$(echo "$iso_application" | tr '[:upper:]' '[:lower:]')
iso_label=$(echo "${iso_application}_${iso_version}" | tr "[:lower:].+ -" "[:upper:]_")
iso_url="https://github.com/nchevsky/systemrescue-zfs"
iso_publisher="Nick Chevsky <${iso_url}>"
install_dir=sysresccd
image_info_file="${install_dir}/.imageinfo"
work_dir=work
@ -26,7 +27,7 @@ snapshot_date=""
default_kernel_param="iomem=relaxed"
documentation_dir="/usr/share/sysrescue/html"
mkinitcpio_comp_algo="xz"
mkinitcpio_comp_opts="--threads=0 --verbose"
mkinitcpio_comp_opts="-9e --threads=0 --verbose"
mkinitcpio_comp_algo_devel="zstd"
mkinitcpio_comp_opts_devel="--threads=0 --fast --verbose"
@ -42,7 +43,6 @@ case ${arch} in
mirrorlist_url='https://archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
archive_prefix='https://archive.archlinux.org/repos/'
archive_mirrorlist_file='mirrorlist-snapshot-x86_64'
mkinitcpio_comp_opts="--threads=0 --lzma2=preset=9e,dict=128MiB --verbose"
;;
i686)
efiarch="i386-efi"
@ -51,7 +51,6 @@ case ${arch} in
mirrorlist_url='https://archlinux32.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
archive_prefix='https://archive.archlinux32.org/repos/'
archive_mirrorlist_file='mirrorlist-snapshot-i686'
mkinitcpio_comp_opts="--threads=0 --verbose"
;;
*)
echo "ERROR: Unsupported architecture: '${arch}'"
@ -129,9 +128,14 @@ determine_snapshot_date() {
# Helper function to run make_*() only one time per architecture.
run_once() {
echo -e "\n================================================================================"
echo -e "$1\n================================================================================"
if [[ ! -e ${work_dir}/build.${1} ]]; then
$1
touch ${work_dir}/build.${1}
echo -e "\nDone."
else
echo -e "\nSkipped. To rebuild this step, delete ${work_dir}/build.${1}."
fi
}
@ -161,8 +165,8 @@ make_documentation() {
fi
# is the documentation up to date? ignore for beta and test versions
if ! echo "${iso_version}" | grep -i -q "beta\|test" && \
! grep -q "${iso_version}" website/content/Changes-x86/_index.md; then
if ! echo "${iso_version%+*}" | grep -i -q "beta\|test" && \
! grep -q "${iso_version%+*}" website/content/Changes-x86/_index.md; then
echo "ERROR: current version not in changelog. Did you update the website submodule?"
exit 1
fi
@ -173,7 +177,7 @@ make_documentation() {
rm -rf website/content/Download
# parameters are all relative to --source dir
/usr/bin/hugo --source "website/" --config "config-offline.toml" --gc --verbose \
/usr/bin/hugo build --source "website/" --config "config-offline.toml" --gc \
--destination "../${work_dir}/${arch}/airootfs/${documentation_dir}"
RET=$?
@ -201,7 +205,8 @@ make_customize_airootfs() {
cp ${version_file} ${work_dir}/${arch}/airootfs/root/version
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
sed "s|%ISO_APPLICATION%|${iso_application}|g;
s|%ISO_URL%|${iso_url}|g;
s|%ISO_VERSION%|${iso_version}|g;
s|%ISO_ARCH%|${arch}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
@ -292,7 +297,6 @@ make_boot() {
# Add other aditional/extra files to ${install_dir}/boot/
make_boot_extra() {
cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest
cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING
cp ${work_dir}/${arch}/airootfs/boot/intel-ucode.img ${work_dir}/iso/${install_dir}/boot/intel_ucode.img
cp ${work_dir}/${arch}/airootfs/usr/share/licenses/intel-ucode/LICENSE ${work_dir}/iso/${install_dir}/boot/intel_ucode.LICENSE
cp ${work_dir}/${arch}/airootfs/boot/amd-ucode.img ${work_dir}/iso/${install_dir}/boot/amd_ucode.img
@ -305,6 +309,8 @@ make_syslinux() {
mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux
for _cfg in ${script_path}/syslinux/*.cfg; do
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%CONSOLES%|${consoles}|g;
s|%ISO_APPLICATION%|${iso_application}|g;
s|%ISO_VERSION%|${iso_version}|g;
s|%ISO_ARCH%|${arch}|g;
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
@ -336,6 +342,8 @@ make_efi() {
cp -a /usr/lib/grub/${efiarch} ${work_dir}/iso/boot/grub/
cp ${script_path}/efiboot/grub/font.pf2 ${work_dir}/iso/boot/grub/
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%CONSOLES%|${consoles}|g;
s|%ISO_APPLICATION%|${iso_application}|g;
s|%ISO_VERSION%|${iso_version}|g;
s|%ISO_ARCH%|${arch}|g;
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
@ -395,7 +403,7 @@ make_imageinfo() {
echo "# SystemRescue imageinfo - used by systemrescue-usbwriter to check compatibility" >"${work_dir}/iso/${image_info_file}"
echo "NAME=SystemRescue" >>"${work_dir}/iso/${image_info_file}"
echo "VERSION=${iso_version}" >>"${work_dir}/iso/${image_info_file}"
echo "VERSION=${iso_version%+*}" >>"${work_dir}/iso/${image_info_file}"
echo "ARCH=${arch}" >>"${work_dir}/iso/${image_info_file}"
echo "SYSLINUX_VERSION=${syslinux_ver}" >>"${work_dir}/iso/${image_info_file}"
echo "" >>"${work_dir}/iso/${image_info_file}"

View file

@ -1,4 +1,4 @@
FROM archlinux:latest
FROM docker.io/archlinux/archlinux:latest
RUN mkdir -p /workspace
COPY tmpfiles/pacman.conf /etc/pacman.conf
RUN pacman -Syyu --noconfirm strace vim archiso binutils edk2-shell grub hugo isomd5sum mtools && rm -rf /var/cache/pacman/pkg/*

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Parameters validation
if [ -z "${sysrescuearch}" ] ; then

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Parameters validation
if [ -z "${sysrescuearch}" ] ; then
@ -35,7 +35,7 @@ if ! findmnt ${pkgcache} >/dev/null; then
fi
# Run the build process in the container
docker run --rm --user 0:0 --privileged -it --workdir /workspace \
docker run --rm --pids-limit=4096 --user 0:0 --privileged -it --workdir /workspace \
--volume=${repodir}:/workspace \
--volume=${pkgcache}:/var/cache/pacman/pkg \
${dockerimg} setarch ${sysrescuearch} /bin/bash /workspace/build.sh "$@"

View file

@ -10,7 +10,7 @@ if [ -z "$srcd_skip_init" ]; then
# Display settings
if loadfont /boot/grub/font.pf2 ; then
set gfxmode=640x480
set gfxmode=800x600,auto
set color_normal=black/cyan
set color_highlight=black/light-gray
set menu_color_normal=black/cyan
@ -21,6 +21,7 @@ if [ -z "$srcd_skip_init" ]; then
insmod all_video
insmod videotest
insmod videoinfo
echo "Switching to gfxterm"
terminal_output gfxterm
fi
@ -39,60 +40,83 @@ fi
# like $archiso_param to be visible in the GRUB editor
eval "
menuentry 'Boot SystemRescue using default options' {
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% using default options' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM%
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES%
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Boot SystemRescue and copy system to RAM (copytoram)' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% copytoram
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% with the firewall disabled (nofirewall)' {
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% nofirewall
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Boot SystemRescue and verify integrity of the medium (checksum)' {
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% and copy system to RAM (copytoram)' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% checksum
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% copytoram
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Boot SystemRescue using basic display drivers (nomodeset)' {
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% and verify integrity of the medium (checksum)' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% nomodeset
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% checksum
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Boot SystemRescue with serial console (ttyS0,115200n8)' {
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% using basic display drivers (nomodeset)' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% console=tty0 console=ttyS0,115200n8
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% nomodeset
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Boot SystemRescue, do not activate md raid or lvm (nomdlvm)' {
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% without activating md raid or lvm (nomdlvm)' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% nomdlvm
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% nomdlvm
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Boot a Linux operating system installed on the disk (findroot)' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% findroot
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% findroot
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
menuentry 'Stop during the boot process before mounting the root filesystem' {
set gfxpayload=keep
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% break
echo 'Loading kernel...'
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% break
echo 'Loading initramfs...'
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
echo 'Booting...'
}
source /boot/grub/custom.cfg
menuentry 'Memtest86+ memory tester for UEFI' {
insmod fat
set gfxpayload=800x600,1024x768
linux /EFI/memtest.efi keyboard=both
set gfxpayload=640x480,800x600,1024x768,auto
linux /EFI/memtest.efi keyboard=both %CONSOLES%
}
menuentry 'Start EFI Shell' {

View file

@ -1,17 +1,17 @@
acpi
alsa-utils
amd-ucode
archinstall
arch-install-scripts
at
atop
b43-fwcutter
bash
bash-completion
bc
bcachefs-tools
beep
bind-tools
binutils
blocksync-fast
borg
btrfs-progs
busybox
@ -29,19 +29,17 @@ crda
cronie
cryptsetup
curl
darkhttpd
dd_rescue
ddrescue
dhclient
dialog
diffutils
discount
dislocker
dmidecode
dmraid
dnsmasq
dool
dosfstools
dstat
dump
dvd+rw-tools
e2fsprogs
@ -49,24 +47,20 @@ efibootmgr
efitools
efivar
elinks
systemrescue+zfs/epiphany
ethtool
exfatprogs
expac
ext4magic
f2fs-tools
fatresize
featherpad
file
findutils
firefox-esr-bin
flashrom
foremost
fsarchiver
galculator
gawk
geany
ghex
git
systemrescue+zfs/ghex
gnu-netcat
gnupg
gpart
@ -78,7 +72,7 @@ grml-zsh-config
growpartfs
grsync
grub
gsettings-desktop-schemas-dummy
gsettings-desktop-schemas
gsmartcontrol
gzip
hardinfo
@ -96,21 +90,21 @@ ipmitool
iproute2
iptables
iputils
irssi
jfsutils
jq
keepassxc
kexec-tools
less
lftp
libfaketime
libisoburn
libldm
libvncserver
linux-atm
linux-firmware
systemrescue+zfs/linux-firmware
linux-firmware-bnx2x
linux-firmware-qlogic
linux-firmware-marvell
linux-lts
linux-lts-headers
lm_sensors
localepurge
lshw
@ -124,7 +118,6 @@ lvm2
lz4
lzip
lzop
m4
man-db
man-pages
mc
@ -132,12 +125,13 @@ mdadm
memtest86+
memtest86+-efi
memtester
mesa-minimal
systemrescue+zfs/mesa-minimal
minicom
mkinitcpio
mkinitcpio-nfs-utils
mlocate
moreutils
mousepad
ms-sys
mtools
mtr
@ -156,6 +150,7 @@ nfs-utils
nilfs-utils
nmap
nm-connection-editor
nmon
ntfs-3g
ntfs-3g-system-compression
ntp
@ -174,7 +169,6 @@ parted
partimage
pass
patch
pavucontrol
pciutils
pcre
perl
@ -189,22 +183,18 @@ ppp
pptpclient
procps-ng
psmisc
pulseaudio-alsa
pv
python
python-llfuse
python-pip
python-pythondialog
python-yaml
qemu-guest-agent
qemu-img
qtpass
rclone
rdesktop
rdiff-backup
readline
refind
reiserfsprogs
remmina
ristretto
rkhunter
@ -218,11 +208,11 @@ sdparm
sed
sg3_utils
shadow
sleuthkit
smartmontools
smbclient
socat
speedtest-cli
sqlite
squashfs-tools
sshfs
strace
@ -233,11 +223,10 @@ sudo
syslinux
sysstat
tar
tcl
tcpdump
testdisk
thunar-archive-plugin
tk
timeshift
tmux
traceroute
tree
@ -246,7 +235,6 @@ udftools
udpcast
unrar
unzip
usb_modeswitch
usbutils
util-linux
vi
@ -266,9 +254,7 @@ wqy-microhei
wvdial
x11vnc
xarchiver
xfburn
xfce4
xfce4-pulseaudio-plugin
xfce4-screenshooter
xfce4-taskmanager
xfsdump
@ -276,15 +262,26 @@ xfsprogs
xkbsel
xkeyboard-config
xl2tpd
xorg-apps
xorg-drivers
xorg-server
xorg-setxkbmap
xorg-xauth
xorg-xbacklight
xorg-xdpyinfo
xorg-xev
xorg-xhost
xorg-xinit
xorg-xinput
xorg-xkill
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xset
xorg-xwininfo
xz
yay
yubikey-manager
yubikey-personalization-gui
zerofree
zfs-dkms
zip
zsh
zstd

View file

@ -76,9 +76,16 @@ Server = https://sysrescuerepo.system-rescue.org/$arch
SigLevel = Optional TrustAll
# ==== END sysrescuerepo ====
[archzfs]
Server = https://github.com/archzfs/archzfs/releases/download/experimental
SigLevel = TrustAll
[systemrescue+zfs]
Server = http://oss.blazis.com/pacman/$repo/$arch
SigLevel = Optional
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist

View file

@ -1,6 +1,6 @@
SERIAL 0 115200
UI boot/syslinux/vesamenu.c32
MENU TITLE SYSTEM-RESCUE %ISO_VERSION% %ISO_ARCH% (www.system-rescue.org)
MENU TITLE %ISO_APPLICATION% %ISO_VERSION%
MENU BACKGROUND #c000a8a8
TIMEOUT 300

View file

@ -8,7 +8,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue (NBD)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} %DEFAULT_KERNEL_PARAM%
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} %DEFAULT_KERNEL_PARAM% %CONSOLES%
SYSAPPEND 3
LABEL sysresccd_nfs
@ -19,7 +19,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue (NFS)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/sysresccd/bootmnt %DEFAULT_KERNEL_PARAM%
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/sysresccd/bootmnt %DEFAULT_KERNEL_PARAM% %CONSOLES%
SYSAPPEND 3
LABEL sysresccd_http
@ -30,7 +30,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue (HTTP)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ %DEFAULT_KERNEL_PARAM%
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ %DEFAULT_KERNEL_PARAM% %CONSOLES%
SYSAPPEND 3
INCLUDE boot/syslinux/sysresccd_tail.cfg

View file

@ -7,7 +7,16 @@ ENDTEXT
MENU LABEL Boot SystemRescue using default options
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM%
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES%
LABEL sysresccd_nofirewall
TEXT HELP
Boot the SystemRescue live medium with the firewall disabled.
ENDTEXT
MENU LABEL Boot SystemRescue with the firewall disabled (nofirewall)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% nofirewall
LABEL sysresccd_copytoram
TEXT HELP
@ -16,7 +25,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue and copy system to RAM (copytoram)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% copytoram
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% copytoram
LABEL sysresccd_checksum
TEXT HELP
@ -25,7 +34,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue and verify integrity of the medium (checksum)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% checksum
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% checksum
LABEL sysresccd_nomodeset
TEXT HELP
@ -34,16 +43,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue using basic display drivers (nomodeset)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% nomodeset
LABEL sysresccd-serial
TEXT HELP
Use a serial console.
ENDTEXT
MENU LABEL Boot SystemRescue with serial console (ttyS0,115200n8)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% console=tty0 console=ttyS0,115200n8
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% nomodeset
LABEL sysresccd-nomdlvm
TEXT HELP
@ -53,7 +53,7 @@ ENDTEXT
MENU LABEL Boot SystemRescue, do not activate md raid or lvm (nomdlvm)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% nomdlvm
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% nomdlvm
LABEL sysresccd_findroot
TEXT HELP
@ -62,7 +62,7 @@ ENDTEXT
MENU LABEL Boot a Linux operating system installed on the disk (findroot)
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% findroot
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% findroot
LABEL sysresccd_break
TEXT HELP
@ -71,7 +71,7 @@ ENDTEXT
MENU LABEL Stop during the boot process before mounting the root filesystem
LINUX boot/%ISO_ARCH%/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% break
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% break
INCLUDE boot/syslinux/sysresccd_custom.cfg

View file

@ -11,6 +11,7 @@ APPEND hd0 0
LABEL memtest
MENU LABEL Run Memtest86+ (RAM test)
LINUX boot/memtest
APPEND %CONSOLES%
# http://hdt-project.org/
#LABEL hdt

View file

@ -0,0 +1,2 @@
sysconfig:
bookmarks: false # don't generate Firefox configuration

@ -1 +1 @@
Subproject commit 8c3da5be7fc2427f07115acdc9ad8823f0847d44
Subproject commit 632fcb4024ebd1f5b191da46b581780f8135b92e