mirror of
https://github.com/nchevsky/systemrescue-zfs.git
synced 2026-01-11 11:09:58 +01:00
Compare commits
68 commits
v10.01+2.1
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
023ef86591 | ||
|
|
eeccf5792b | ||
|
|
de1b85339b | ||
|
|
9acb66fd2e | ||
|
|
b3a96e065a | ||
|
|
9c6c354465 | ||
|
|
720b186151 | ||
|
|
f4a98567cf | ||
|
|
7eac4876ca | ||
|
|
e8fa4ad655 | ||
|
|
e0d5c9b9c7 | ||
|
|
9fdce1fa70 | ||
|
|
d244cdf36d | ||
|
|
9212986197 | ||
|
|
6c0d70f47b | ||
|
|
a5aeab0123 | ||
|
|
f4743da599 | ||
|
|
4ed9e06281 | ||
|
|
6e15e90ad8 | ||
|
|
decadc0184 | ||
|
|
0839936717 | ||
|
|
62d99ff2ed | ||
|
|
c18766ed9f | ||
|
|
97a03ec965 | ||
|
|
582e9b093c | ||
|
|
5caf9bea7d | ||
|
|
7bad4678c6 | ||
|
|
d0fff8b490 | ||
|
|
572d25242c | ||
|
|
dbc09046b4 | ||
|
|
53b50c42e1 | ||
|
|
bd1aaf5477 | ||
|
|
53c42cf1fe | ||
|
|
cc19b334a9 | ||
|
|
b31ccb8c4a | ||
|
|
24e212c134 | ||
|
|
9071f3a5e4 | ||
|
|
9efffb03c7 | ||
|
|
82143fd91e | ||
|
|
a2596e8321 | ||
|
|
a12d431258 | ||
|
|
40a2aaa4a6 | ||
|
|
d9ce29f8c6 | ||
|
|
f19ca75fa4 | ||
|
|
2730aa5970 | ||
|
|
a0fda2e85e | ||
|
|
7bc538444b | ||
|
|
1a736439ed | ||
|
|
c2717519b6 | ||
|
|
a9a30e5913 | ||
|
|
3f3a0be760 | ||
|
|
4102875d6c | ||
|
|
4d8a709218 | ||
|
|
5cf652ec56 | ||
|
|
592d5e0869 | ||
|
|
4869d2c2f8 | ||
|
|
99fb673748 | ||
|
|
aa8a7b0aa2 | ||
|
|
4c47a26264 | ||
|
|
c82322b922 | ||
|
|
ec1578da8d | ||
|
|
96ff1524af | ||
|
|
0a36513381 | ||
|
|
19e9bd08e1 | ||
|
|
10f799bf1b | ||
|
|
17469bd92c | ||
|
|
6a1f48bcab | ||
|
|
377cdcb3f5 |
48
ChangeLog
48
ChangeLog
|
|
@ -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
2
FUNDING.yml
Normal 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
112
README.md
|
|
@ -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
|
||||
|
||||
| [<img src="https://www.system-rescue.org/images/fastly_logo_large.png" width=150 alt="fastly">](https://www.fastly.com) | [<img src="https://www.system-rescue.org/images/netcup_logo_large.png" width=150 alt="netcup">](https://www.netcup.eu) |
|
||||
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`
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -92,5 +92,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
|
|
|||
|
|
@ -90,5 +90,3 @@ Include = /etc/pacman.d/mirrorlist-snapshot
|
|||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist-snapshot
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist-snapshot
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
WebBrowser=custom-WebBrowser
|
||||
|
||||
WebBrowser=epiphany
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@
|
|||
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
||||
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="<Primary><Alt>f" type="string" value="firefox-esr"/>
|
||||
<property name="<Primary><Alt>g" type="string" value="gparted"/>
|
||||
<property name="<Primary><Alt>t" type="string" value="xfce4-terminal"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 \
|
||||
|
|
|
|||
38
build.sh
38
build.sh
|
|
@ -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}"
|
||||
|
|
|
|||
|
|
@ -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/*
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Parameters validation
|
||||
if [ -z "${sysrescuearch}" ] ; then
|
||||
|
|
|
|||
|
|
@ -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 "$@"
|
||||
|
|
|
|||
|
|
@ -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' {
|
||||
|
|
|
|||
61
packages
61
packages
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
2
sysrescue.d/999-custom.yaml
Normal file
2
sysrescue.d/999-custom.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
sysconfig:
|
||||
bookmarks: false # don't generate Firefox configuration
|
||||
2
website
2
website
|
|
@ -1 +1 @@
|
|||
Subproject commit 8c3da5be7fc2427f07115acdc9ad8823f0847d44
|
||||
Subproject commit 632fcb4024ebd1f5b191da46b581780f8135b92e
|
||||
Loading…
Reference in a new issue