mirror of
https://github.com/nchevsky/systemrescue-zfs.git
synced 2025-12-06 07:12:01 +01:00
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.
This commit is contained in:
parent
eeccf5792b
commit
023ef86591
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
|
**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:
|
||||||
Homepage: https://www.system-rescue.org/
|
|
||||||
|
|
||||||
## Project sources
|
- [ZFS](https://github.com/archzfs/archzfs/) supported out of the box
|
||||||
This git repository contains SystemRescue sources files. This is based on
|
- [Serial console](#serial-console) enabled for all boot options, including [Memtest86+](https://www.memtest.org/)
|
||||||
https://gitlab.archlinux.org/archlinux/archiso/
|
- 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
|
# Serial console
|
||||||
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.
|
|
||||||
|
|
||||||
You need to use a modified version of archiso for the build to work. This
|
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.
|
||||||
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.
|
|
||||||
|
|
||||||
The package list contains packages which are not part of the official binary
|
## Bootloader
|
||||||
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.
|
|
||||||
|
|
||||||
The build process requires the systemrescue-website repository which is included
|
| [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) |
|
||||||
as git submodule. So when checking out this repository, make sure to check out
|
| --- | --- |
|
||||||
the submodule too. This can be done for example with
|
| 📍 [`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` |
|
||||||
`git clone --recurse-submodules https://gitlab.com/systemrescue/systemrescue-sources.git`
|
|
||||||
|
|
||||||
The build process can be started by running the build.sh script. It will create
|
## Kernel
|
||||||
a large "work" sub-directory and the ISO file will be written in the "out"
|
|
||||||
sub-directory.
|
|
||||||
|
|
||||||
## Building SystemRescue with docker
|
📍 [`build.sh`](build.sh)<br/>`consoles='console=ttyS0,115200 …'`
|
||||||
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.
|
|
||||||
|
|
||||||
You must export the environment variable named `sysrescuearch` before you
|
# Building
|
||||||
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.
|
|
||||||
|
|
||||||
After this, you need to run the script which builds a new docker image, and
|
```sh
|
||||||
then the script which uses this docker image to builds the ISO image. The second
|
$ sudo ./build.sh [-d] [-v]
|
||||||
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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Including your SystemRescueModules
|
- `-d`: Use fast compression, significantly speeding up development builds.
|
||||||
If you want to include your own [SystemRescueModules][srm], place their srm files
|
- `-v`: Print more information while building (strongly recommended).
|
||||||
in the [srm](./srm) directory of the repository before running the build script.
|
|
||||||
|
|
||||||
[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`
|
||||||
|
|
|
||||||
|
|
@ -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[01;31m============== \e[01;37m%ISO_APPLICATION% %ISO_VERSION%\e[01;31m --- \e[01;37m\l \e[01;31m==============
|
||||||
\e[00;31mhttps://www.system-rescue.org/
|
\e[01;31m%ISO_URL%
|
||||||
|
|
||||||
\e[00;31m*\e[01;31m Console environment\e[00;37m :
|
\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;37msetkmap\e[00;37m or press ↑ to choose the keyboard layout.
|
||||||
Run \e[01;37mmanual\e[00;37m to read the documentation of SystemRescue
|
Run \e[01;37mmanual\e[00;37m to read the SystemRescue documentation.
|
||||||
|
|
||||||
\e[00;31m*\e[01;31m Graphical environment\e[00;37m :
|
\e[00;31m*\e[01;31m Graphical environment:\e[00;37m
|
||||||
Type \e[01;37mstartx\e[00;37m to run the graphical environment
|
Run \e[01;37mstartx\e[00;37m to start the graphical environment.
|
||||||
X.Org comes with the XFCE environment and several graphical tools:
|
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 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 Web browser: \e[01;37mWeb\e[00;37m
|
||||||
\e[00;31m-\e[00;37m Text editor: ........ \e[01;37mfeatherpad\e[00;37m
|
\e[00;31m-\e[00;37m Text editor: \e[01;37mMousepad\e[00;37m
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
[Default Applications]
|
[Default Applications]
|
||||||
application/pdf=firefox-esr.desktop
|
application/pdf=org.gnome.Epiphany.desktop
|
||||||
|
x-scheme-handler/http=org.gnome.Epiphany.desktop
|
||||||
[Added Associations]
|
x-scheme-handler/https=org.gnome.Epiphany.desktop
|
||||||
application/pdf=firefox-esr.desktop;
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1 @@
|
||||||
WebBrowser=custom-WebBrowser
|
WebBrowser=epiphany
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=Manual
|
Name=Manual
|
||||||
Comment=SystemRescue 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
|
Icon=help-browser
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,12 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=FeatherPad
|
Name=Mousepad
|
||||||
GenericName=Text Editor
|
GenericName=Text Editor
|
||||||
Comment=Lightweight Qt5 text editor
|
Comment=Simple Text Editor
|
||||||
Exec=featherpad %F
|
Exec=mousepad
|
||||||
Icon=featherpad
|
Icon=org.xfce.mousepad
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
MimeType=text/plain;
|
MimeType=text/plain;
|
||||||
Categories=Qt;Utility;TextEditor;
|
Categories=Utility;TextEditor;
|
||||||
X-KDE-StartupNotify=false;
|
X-KDE-StartupNotify=false;
|
||||||
Keywords=Text;Editor;Plaintext;
|
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="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||||
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
||||||
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
|
<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>g" type="string" value="gparted"/>
|
||||||
<property name="<Primary><Alt>t" type="string" value="xfce4-terminal"/>
|
<property name="<Primary><Alt>t" type="string" value="xfce4-terminal"/>
|
||||||
<property name="override" type="bool" value="true"/>
|
<property name="override" type="bool" value="true"/>
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
<value type="int" value="11"/>
|
<value type="int" value="11"/>
|
||||||
<value type="int" value="6"/>
|
<value type="int" value="6"/>
|
||||||
<value type="int" value="7"/>
|
<value type="int" value="7"/>
|
||||||
<value type="int" value="8"/>
|
|
||||||
<value type="int" value="9"/>
|
<value type="int" value="9"/>
|
||||||
<value type="int" value="10"/>
|
<value type="int" value="10"/>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -36,7 +35,7 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="plugin-3" type="string" value="launcher">
|
<property name="plugin-3" type="string" value="launcher">
|
||||||
<property name="items" type="array">
|
<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>
|
</property>
|
||||||
<property name="plugin-4" type="string" value="launcher">
|
<property name="plugin-4" type="string" value="launcher">
|
||||||
|
|
@ -59,9 +58,6 @@
|
||||||
<property name="expand" type="bool" value="true"/>
|
<property name="expand" type="bool" value="true"/>
|
||||||
<property name="style" type="uint" value="0"/>
|
<property name="style" type="uint" value="0"/>
|
||||||
</property>
|
</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="plugin-9" type="string" value="systray">
|
||||||
<property name="icon-size" type="int" value="0"/>
|
<property name="icon-size" type="int" value="0"/>
|
||||||
<property name="known-legacy-items" type="array">
|
<property name="known-legacy-items" type="array">
|
||||||
|
|
|
||||||
|
|
@ -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/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf
|
||||||
sed -i 's/#\(HandleLidSwitch=\)suspend/\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
|
# config symlink
|
||||||
mkdir /etc/sysrescue/
|
mkdir -p /etc/sysrescue/
|
||||||
ln -sf /run/archiso/config/sysrescue-effective-config.json /etc/sysrescue/sysrescue-effective-config.json
|
ln -sf /run/archiso/config/sysrescue-effective-config.json /etc/sysrescue/sysrescue-effective-config.json
|
||||||
|
|
||||||
# Services
|
# Services
|
||||||
|
|
@ -42,7 +39,6 @@ systemctl enable sshd.service
|
||||||
systemctl enable sysrescue-initialize-prenet.service
|
systemctl enable sysrescue-initialize-prenet.service
|
||||||
systemctl enable sysrescue-initialize-whilenet.service
|
systemctl enable sysrescue-initialize-whilenet.service
|
||||||
systemctl enable sysrescue-autorun.service
|
systemctl enable sysrescue-autorun.service
|
||||||
systemctl enable qemu-guest-agent.service
|
|
||||||
systemctl enable var-lib-pacman\\x2drolling-local.mount
|
systemctl enable var-lib-pacman\\x2drolling-local.mount
|
||||||
systemctl set-default multi-user.target
|
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
|
# setup pacman signing key storage
|
||||||
/usr/bin/pacman-key --init
|
/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
|
/usr/bin/pacman-key --populate
|
||||||
rm -f /etc/pacman.d/gnupg/*~
|
rm -f /etc/pacman.d/gnupg/*~
|
||||||
|
|
||||||
|
|
@ -97,7 +96,7 @@ rm -f /usr/share/qt/translations/*
|
||||||
|
|
||||||
# Cleanup XFCE menu
|
# Cleanup XFCE menu
|
||||||
sed -i '2 i NoDisplay=true' /usr/share/applications/{xfce4-mail-reader,xfce4-web-browser}.desktop
|
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
|
# nm-applet with application indicator enabled gives better integration with xfce4-panel's systray
|
||||||
mkdir -p /usr/local/share/applications/
|
mkdir -p /usr/local/share/applications/
|
||||||
|
|
@ -113,6 +112,14 @@ then
|
||||||
/usr/bin/localepurge
|
/usr/bin/localepurge
|
||||||
fi
|
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
|
# Update pacman.conf
|
||||||
sed -i -e '/# ==== BEGIN sysrescuerepo ====/,/# ==== END sysrescuerepo ====/d' /etc/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} \
|
for curfile in /usr/bin/{*btrfs*,*xfs*,dislocker*,udp*,dump,restore} \
|
||||||
/usr/bin/{ghex,growpart*,hardinfo,*lshw*,ms-sys,nwipe,whdd,zerofree} \
|
/usr/bin/{ghex,growpart*,hardinfo,*lshw*,ms-sys,nwipe,whdd,zerofree} \
|
||||||
/opt/firefox*/firefox* \
|
|
||||||
/usr/lib/ntfs-3g/ntfs-plugin*.so \
|
/usr/lib/ntfs-3g/ntfs-plugin*.so \
|
||||||
/usr/lib/libgbm.so* \
|
/usr/lib/libgbm.so* \
|
||||||
/usr/lib/xorg/modules/drivers/modesetting_drv.so \
|
/usr/lib/xorg/modules/drivers/modesetting_drv.so \
|
||||||
|
|
|
||||||
|
|
@ -1,248 +0,0 @@
|
||||||
#! /usr/bin/env bash
|
|
||||||
#
|
|
||||||
# build-zfs-srm - build ZFS support for SystemRescue
|
|
||||||
#
|
|
||||||
# This script builds a SystemRescue Module (SRM) file that adds support
|
|
||||||
# for the ZFS file system to a running instance of SystemRescue.
|
|
||||||
#
|
|
||||||
# Author: Daniel Richard G.
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
#
|
|
||||||
# SystemRescue cannot be distributed with ZFS support due to licensing
|
|
||||||
# issues, but users are free to build ZFS for SystemRescue themselves.
|
|
||||||
# As the build process is non-trivial, it has been elaborated in this
|
|
||||||
# script as a service to the SystemRescue community.
|
|
||||||
#
|
|
||||||
# Usage:
|
|
||||||
# ./build-zfs-srm [--latest]
|
|
||||||
#
|
|
||||||
# By default, this script will build the version of ZFS that was current
|
|
||||||
# (in the AUR repo) at the time of the host system's release. If the
|
|
||||||
# --latest option is given, then it will instead build the latest version
|
|
||||||
# available now (when the script is run).
|
|
||||||
#
|
|
||||||
# Note that the build is performed reproducibly; i.e. re-running the
|
|
||||||
# build in the same environment should yield exactly the same output
|
|
||||||
# file. Thus, builds performed with --latest will produce different
|
|
||||||
# output as new ZFS versions become available, whereas builds performed
|
|
||||||
# without should (in theory) remain unchanged in perpetuity.
|
|
||||||
#
|
|
||||||
# For more information, refer to
|
|
||||||
# https://www.system-rescue.org/scripts/build-zfs-srm/
|
|
||||||
#
|
|
||||||
|
|
||||||
use_latest_zfs=no
|
|
||||||
|
|
||||||
while [ -n "$1" ]
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
--latest) use_latest_zfs=yes ;;
|
|
||||||
-h|--help) echo "$0: see comment header of script for usage info"; exit 0 ;;
|
|
||||||
-*) echo "$0: error: unrecognized option \"$1\""; exit 1 ;;
|
|
||||||
*) echo "$0: error: unrecognized argument \"$1\""; exit 1 ;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# Sanity checks
|
|
||||||
if [ ! -f /etc/arch-release ] || ! /usr/bin/pacman --version >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "$0: error: this script must be run on SystemRescue / Arch Linux"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ $(id -u) -ne 0 ]
|
|
||||||
then
|
|
||||||
echo "$0: error: this script must be run as root"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ $(awk '$1=="MemAvailable:"{print $2}' /proc/meminfo) -lt 3500000 ] && \
|
|
||||||
! make --version >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "$0: error: not enough RAM available for build, ~4 GB needed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -e -u
|
|
||||||
|
|
||||||
# Use this timestamp for reproducibility
|
|
||||||
t_epoch=$(stat -c '%Y' /etc/os-release)
|
|
||||||
t_date=$(date -d @${t_epoch} -R)
|
|
||||||
|
|
||||||
# Are we in an actual live running instance of SystemRescue?
|
|
||||||
# (The expected alternative is an "archlinux" Docker container)
|
|
||||||
in_live_system=$(test "_$(findmnt -n -o SOURCE /)" = _airootfs && echo true || echo false)
|
|
||||||
|
|
||||||
srm_file=/tmp/$(. /etc/os-release && echo ${ID}-${VERSION_ID}-zfs.srm)
|
|
||||||
srm_info=${srm_file%.srm}.txt
|
|
||||||
|
|
||||||
cat <<END
|
|
||||||
==== Building ${srm_file} ====
|
|
||||||
Reproducible build timestamp: ${t_epoch} (${t_date})
|
|
||||||
Running in SystemRescue live system: ${in_live_system}
|
|
||||||
|
|
||||||
END
|
|
||||||
|
|
||||||
run_command()
|
|
||||||
{
|
|
||||||
echo "+ $*" >&2
|
|
||||||
env "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Install some prerequisites
|
|
||||||
run_command pacman -Sy --needed --noconfirm base-devel git
|
|
||||||
|
|
||||||
reinstall_if_missing()
|
|
||||||
{
|
|
||||||
local pkg="$1"
|
|
||||||
local file="$2"
|
|
||||||
test -f ${file} || run_command pacman -S --noconfirm ${pkg}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Many packages in the SystemRescue ISO have had files removed to save on
|
|
||||||
# space, but we will need to restore some of them to build ZFS. Reinstall
|
|
||||||
# the following packages as needed:
|
|
||||||
reinstall_if_missing curl /usr/include/curl/curl.h
|
|
||||||
reinstall_if_missing glibc /usr/lib/libc_nonshared.a
|
|
||||||
reinstall_if_missing libtirpc /usr/include/tirpc/rpc/xdr.h
|
|
||||||
reinstall_if_missing linux-api-headers /usr/include/linux/limits.h
|
|
||||||
reinstall_if_missing openssl /usr/include/openssl/evp.h
|
|
||||||
reinstall_if_missing pam /usr/include/security/pam_modules.h
|
|
||||||
reinstall_if_missing systemd-libs /usr/include/libudev.h
|
|
||||||
reinstall_if_missing util-linux-libs /usr/include/uuid/uuid.h
|
|
||||||
reinstall_if_missing zlib /usr/include/zlib.h
|
|
||||||
|
|
||||||
if ${in_live_system}
|
|
||||||
then
|
|
||||||
# More disk space is available in a tmpfs
|
|
||||||
work_dir=/tmp/zfsbuild
|
|
||||||
else
|
|
||||||
work_dir=/home/zfsbuild
|
|
||||||
fi
|
|
||||||
if [ ! -d ${work_dir} ]
|
|
||||||
then
|
|
||||||
run_command useradd --create-home --home-dir ${work_dir} zfsbuild
|
|
||||||
fi
|
|
||||||
|
|
||||||
run_as_user()
|
|
||||||
{
|
|
||||||
local cmd="$1"
|
|
||||||
setpriv \
|
|
||||||
--reuid=zfsbuild \
|
|
||||||
--regid=zfsbuild \
|
|
||||||
--init-groups \
|
|
||||||
--no-new-privs \
|
|
||||||
--reset-env \
|
|
||||||
bash -e -x -c "${cmd}"
|
|
||||||
}
|
|
||||||
|
|
||||||
cd ${work_dir}
|
|
||||||
|
|
||||||
# Build these two essential ZFS packages from the AUR
|
|
||||||
for aur_pkg in \
|
|
||||||
zfs-dkms \
|
|
||||||
zfs-utils
|
|
||||||
do
|
|
||||||
if [ ! -d ${aur_pkg} ]
|
|
||||||
then
|
|
||||||
run_as_user "git clone https://aur.archlinux.org/${aur_pkg}.git"
|
|
||||||
fi
|
|
||||||
if [ ! -f ${aur_pkg}.repro.stamp -a ${use_latest_zfs} = no ]
|
|
||||||
then
|
|
||||||
run_as_user "cd ${aur_pkg} && rev=\$(git rev-list -n 1 --first-parent --before=@${t_epoch} HEAD) && git checkout \${rev}"
|
|
||||||
touch ${aur_pkg}.repro.stamp
|
|
||||||
fi
|
|
||||||
if [ ! -f ${aur_pkg}.pgp.stamp ]
|
|
||||||
then
|
|
||||||
run_as_user ". ${aur_pkg}/PKGBUILD && gpg --recv-keys \${validpgpkeys[*]}"
|
|
||||||
touch ${aur_pkg}.pgp.stamp
|
|
||||||
fi
|
|
||||||
if [ ! -f ${aur_pkg}.build.stamp ]
|
|
||||||
then
|
|
||||||
run_as_user "cd ${aur_pkg} && makepkg --clean"
|
|
||||||
run_as_user "cd ${aur_pkg} && git rev-parse HEAD" > ${aur_pkg}.commit.txt
|
|
||||||
touch ${aur_pkg}.build.stamp
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Install more prerequisites
|
|
||||||
run_command pacman -S --needed --noconfirm \
|
|
||||||
dkms linux-lts linux-lts-headers squashfs-tools
|
|
||||||
|
|
||||||
# Tweak DKMS configuration
|
|
||||||
x=/etc/dkms/framework.conf
|
|
||||||
if ! grep -q '^dkms_tree=' $x && ${in_live_system}
|
|
||||||
then
|
|
||||||
# More disk space is available in a tmpfs
|
|
||||||
mkdir -p /tmp/dkms
|
|
||||||
(echo; echo 'dkms_tree="/tmp/dkms"') >> $x
|
|
||||||
fi
|
|
||||||
if ! grep -q '^sign_file=' $x
|
|
||||||
then
|
|
||||||
# Do not sign the kernel modules as this breaks reproducibility
|
|
||||||
(echo; echo 'sign_file="/nope"') >> $x
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! ${in_live_system}
|
|
||||||
then
|
|
||||||
# The Docker container does not extract/install man pages from
|
|
||||||
# packages, but we want the SRM to include those
|
|
||||||
perl -pi -e '/^NoExtract\s*=/ && m! usr/share/man/! and s/^/#/' \
|
|
||||||
/etc/pacman.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Kernel module builds need the kernel file in the standard location
|
|
||||||
x=/run/archiso/bootmnt/sysresccd/boot/x86_64/vmlinuz
|
|
||||||
y=/boot/vmlinuz-linux-lts
|
|
||||||
if [ -f $x -a ! -f $y ]
|
|
||||||
then
|
|
||||||
run_command ln -s $x $y
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Do not pass the -j option to pahole(1) as it breaks reproducibility
|
|
||||||
# https://github.com/acmel/dwarves/issues/42
|
|
||||||
perl -pi -e 's/^(\s*)(extra_paholeopt=".* -j")/${1}true $2/' \
|
|
||||||
/lib/modules/*-lts/build/scripts/pahole-flags.sh
|
|
||||||
|
|
||||||
# Install the newly-built ZFS packages, and let DKMS do its thing
|
|
||||||
run_command pacman -U --needed --noconfirm \
|
|
||||||
zfs-utils/zfs-utils-*.pkg.tar.zst \
|
|
||||||
zfs-dkms/zfs-dkms-*.pkg.tar.zst
|
|
||||||
|
|
||||||
# Generate list of files in the zfs-utils package
|
|
||||||
pacman -Ql zfs-utils \
|
|
||||||
| sed 's!^zfs-utils /!!' \
|
|
||||||
| grep -v '/$' \
|
|
||||||
> zfs-utils.files.txt
|
|
||||||
|
|
||||||
# mksquashfs(1) uses this
|
|
||||||
export SOURCE_DATE_EPOCH=${t_epoch}
|
|
||||||
|
|
||||||
# Create the SRM file
|
|
||||||
rm -f ${srm_file}
|
|
||||||
(cd / && tar cf - --sort=name \
|
|
||||||
usr/lib/modules/*-lts/updates/dkms/* \
|
|
||||||
usr/lib/modules/*-lts/modules.* \
|
|
||||||
-T ${work_dir}/zfs-utils.files.txt) \
|
|
||||||
| run_command mksquashfs - ${srm_file} -comp xz -tar -exports
|
|
||||||
|
|
||||||
tee ${srm_info} <<END
|
|
||||||
|
|
||||||
==== SystemRescue Module (SRM) build successful ====
|
|
||||||
|
|
||||||
Build host : $(. /etc/os-release && echo ${NAME} ${VERSION_ID})
|
|
||||||
Repro. timestamp : @${t_epoch} (${t_date})
|
|
||||||
zfs-dkms version : $(. zfs-dkms/PKGBUILD && echo ${pkgver}-${pkgrel})
|
|
||||||
* AUR Git commit : $(cat zfs-dkms.commit.txt 2>/dev/null || echo unknown)
|
|
||||||
zfs-utils version: $(. zfs-utils/PKGBUILD && echo ${pkgver}-${pkgrel})
|
|
||||||
* AUR Git commit : $(cat zfs-utils.commit.txt 2>/dev/null || echo unknown)
|
|
||||||
SRM file location: ${srm_file}
|
|
||||||
SRM file size : $(stat -c '%s' ${srm_file}) bytes
|
|
||||||
SRM file SHA-1 : $(sha1sum < ${srm_file} | awk '{print $1}')
|
|
||||||
SRM file SHA-512 : $(sha512sum < ${srm_file} | awk '{print $1}')
|
|
||||||
|
|
||||||
Please visit https://www.system-rescue.org/Modules/ for instructions on
|
|
||||||
loading the SRM file into a running instance of SystemRescue.
|
|
||||||
|
|
||||||
END
|
|
||||||
|
|
||||||
# EOF
|
|
||||||
33
build.sh
33
build.sh
|
|
@ -5,12 +5,13 @@ set -e -u
|
||||||
script_path=$(readlink -f ${0%/*})
|
script_path=$(readlink -f ${0%/*})
|
||||||
version_file="${script_path}/VERSION"
|
version_file="${script_path}/VERSION"
|
||||||
|
|
||||||
iso_name=systemrescue
|
consoles='console=ttyS0,115200 console=tty0'
|
||||||
|
iso_application="SystemRescue+ZFS"
|
||||||
iso_version="$(<${version_file})"
|
iso_version="$(<${version_file})"
|
||||||
iso_mainver="${iso_version%-*}"
|
iso_name=$(echo "$iso_application" | tr '[:upper:]' '[:lower:]')
|
||||||
iso_label="RESCUE${iso_mainver//.}"
|
iso_label=$(echo "${iso_application}_${iso_version}" | tr "[:lower:].+ -" "[:upper:]_")
|
||||||
iso_publisher="SystemRescue <http://www.system-rescue.org>"
|
iso_url="https://github.com/nchevsky/systemrescue-zfs"
|
||||||
iso_application="SystemRescue"
|
iso_publisher="Nick Chevsky <${iso_url}>"
|
||||||
install_dir=sysresccd
|
install_dir=sysresccd
|
||||||
image_info_file="${install_dir}/.imageinfo"
|
image_info_file="${install_dir}/.imageinfo"
|
||||||
work_dir=work
|
work_dir=work
|
||||||
|
|
@ -26,7 +27,7 @@ snapshot_date=""
|
||||||
default_kernel_param="iomem=relaxed"
|
default_kernel_param="iomem=relaxed"
|
||||||
documentation_dir="/usr/share/sysrescue/html"
|
documentation_dir="/usr/share/sysrescue/html"
|
||||||
mkinitcpio_comp_algo="xz"
|
mkinitcpio_comp_algo="xz"
|
||||||
mkinitcpio_comp_opts="--threads=0 --verbose"
|
mkinitcpio_comp_opts="-9e --threads=0 --verbose"
|
||||||
mkinitcpio_comp_algo_devel="zstd"
|
mkinitcpio_comp_algo_devel="zstd"
|
||||||
mkinitcpio_comp_opts_devel="--threads=0 --fast --verbose"
|
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'
|
mirrorlist_url='https://archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
|
||||||
archive_prefix='https://archive.archlinux.org/repos/'
|
archive_prefix='https://archive.archlinux.org/repos/'
|
||||||
archive_mirrorlist_file='mirrorlist-snapshot-x86_64'
|
archive_mirrorlist_file='mirrorlist-snapshot-x86_64'
|
||||||
mkinitcpio_comp_opts="--threads=0 --lzma2=preset=9e,dict=128MiB --verbose"
|
|
||||||
;;
|
;;
|
||||||
i686)
|
i686)
|
||||||
efiarch="i386-efi"
|
efiarch="i386-efi"
|
||||||
|
|
@ -51,7 +51,6 @@ case ${arch} in
|
||||||
mirrorlist_url='https://archlinux32.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
|
mirrorlist_url='https://archlinux32.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
|
||||||
archive_prefix='https://archive.archlinux32.org/repos/'
|
archive_prefix='https://archive.archlinux32.org/repos/'
|
||||||
archive_mirrorlist_file='mirrorlist-snapshot-i686'
|
archive_mirrorlist_file='mirrorlist-snapshot-i686'
|
||||||
mkinitcpio_comp_opts="--threads=0 --verbose"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "ERROR: Unsupported architecture: '${arch}'"
|
echo "ERROR: Unsupported architecture: '${arch}'"
|
||||||
|
|
@ -129,9 +128,14 @@ determine_snapshot_date() {
|
||||||
|
|
||||||
# Helper function to run make_*() only one time per architecture.
|
# Helper function to run make_*() only one time per architecture.
|
||||||
run_once() {
|
run_once() {
|
||||||
|
echo -e "\n================================================================================"
|
||||||
|
echo -e "$1\n================================================================================"
|
||||||
if [[ ! -e ${work_dir}/build.${1} ]]; then
|
if [[ ! -e ${work_dir}/build.${1} ]]; then
|
||||||
$1
|
$1
|
||||||
touch ${work_dir}/build.${1}
|
touch ${work_dir}/build.${1}
|
||||||
|
echo -e "\nDone."
|
||||||
|
else
|
||||||
|
echo -e "\nSkipped. To rebuild this step, delete ${work_dir}/build.${1}."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -161,8 +165,8 @@ make_documentation() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# is the documentation up to date? ignore for beta and test versions
|
# is the documentation up to date? ignore for beta and test versions
|
||||||
if ! echo "${iso_version}" | grep -i -q "beta\|test" && \
|
if ! echo "${iso_version%+*}" | grep -i -q "beta\|test" && \
|
||||||
! grep -q "${iso_version}" website/content/Changes-x86/_index.md; then
|
! grep -q "${iso_version%+*}" website/content/Changes-x86/_index.md; then
|
||||||
echo "ERROR: current version not in changelog. Did you update the website submodule?"
|
echo "ERROR: current version not in changelog. Did you update the website submodule?"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
@ -201,7 +205,8 @@ make_customize_airootfs() {
|
||||||
|
|
||||||
cp ${version_file} ${work_dir}/${arch}/airootfs/root/version
|
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_VERSION%|${iso_version}|g;
|
||||||
s|%ISO_ARCH%|${arch}|g;
|
s|%ISO_ARCH%|${arch}|g;
|
||||||
s|%INSTALL_DIR%|${install_dir}|g" \
|
s|%INSTALL_DIR%|${install_dir}|g" \
|
||||||
|
|
@ -304,6 +309,8 @@ make_syslinux() {
|
||||||
mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux
|
mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux
|
||||||
for _cfg in ${script_path}/syslinux/*.cfg; do
|
for _cfg in ${script_path}/syslinux/*.cfg; do
|
||||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
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_VERSION%|${iso_version}|g;
|
||||||
s|%ISO_ARCH%|${arch}|g;
|
s|%ISO_ARCH%|${arch}|g;
|
||||||
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
|
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
|
||||||
|
|
@ -335,6 +342,8 @@ make_efi() {
|
||||||
cp -a /usr/lib/grub/${efiarch} ${work_dir}/iso/boot/grub/
|
cp -a /usr/lib/grub/${efiarch} ${work_dir}/iso/boot/grub/
|
||||||
cp ${script_path}/efiboot/grub/font.pf2 ${work_dir}/iso/boot/grub/
|
cp ${script_path}/efiboot/grub/font.pf2 ${work_dir}/iso/boot/grub/
|
||||||
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
|
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_VERSION%|${iso_version}|g;
|
||||||
s|%ISO_ARCH%|${arch}|g;
|
s|%ISO_ARCH%|${arch}|g;
|
||||||
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
|
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
|
||||||
|
|
@ -394,7 +403,7 @@ make_imageinfo() {
|
||||||
|
|
||||||
echo "# SystemRescue imageinfo - used by systemrescue-usbwriter to check compatibility" >"${work_dir}/iso/${image_info_file}"
|
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 "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 "ARCH=${arch}" >>"${work_dir}/iso/${image_info_file}"
|
||||||
echo "SYSLINUX_VERSION=${syslinux_ver}" >>"${work_dir}/iso/${image_info_file}"
|
echo "SYSLINUX_VERSION=${syslinux_ver}" >>"${work_dir}/iso/${image_info_file}"
|
||||||
echo "" >>"${work_dir}/iso/${image_info_file}"
|
echo "" >>"${work_dir}/iso/${image_info_file}"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ if [ -z "$srcd_skip_init" ]; then
|
||||||
|
|
||||||
# Display settings
|
# Display settings
|
||||||
if loadfont /boot/grub/font.pf2 ; then
|
if loadfont /boot/grub/font.pf2 ; then
|
||||||
set gfxmode=640x480
|
set gfxmode=800x600,auto
|
||||||
set color_normal=black/cyan
|
set color_normal=black/cyan
|
||||||
set color_highlight=black/light-gray
|
set color_highlight=black/light-gray
|
||||||
set menu_color_normal=black/cyan
|
set menu_color_normal=black/cyan
|
||||||
|
|
@ -40,60 +40,83 @@ fi
|
||||||
# like $archiso_param to be visible in the GRUB editor
|
# like $archiso_param to be visible in the GRUB editor
|
||||||
eval "
|
eval "
|
||||||
|
|
||||||
menuentry 'Boot SystemRescue using default options' {
|
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% using default options' {
|
||||||
set gfxpayload=keep
|
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
|
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)' {
|
menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% with the firewall disabled (nofirewall)' {
|
||||||
set gfxpayload=keep
|
echo 'Loading kernel...'
|
||||||
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% copytoram
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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)' {
|
menuentry 'Boot a Linux operating system installed on the disk (findroot)' {
|
||||||
set gfxpayload=keep
|
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
|
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' {
|
menuentry 'Stop during the boot process before mounting the root filesystem' {
|
||||||
set gfxpayload=keep
|
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
|
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
|
source /boot/grub/custom.cfg
|
||||||
|
|
||||||
menuentry 'Memtest86+ memory tester for UEFI' {
|
menuentry 'Memtest86+ memory tester for UEFI' {
|
||||||
insmod fat
|
insmod fat
|
||||||
set gfxpayload=800x600,1024x768
|
set gfxpayload=640x480,800x600,1024x768,auto
|
||||||
linux /EFI/memtest.efi keyboard=both
|
linux /EFI/memtest.efi keyboard=both %CONSOLES%
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry 'Start EFI Shell' {
|
menuentry 'Start EFI Shell' {
|
||||||
|
|
|
||||||
49
packages
49
packages
|
|
@ -1,11 +1,9 @@
|
||||||
acpi
|
acpi
|
||||||
alsa-utils
|
|
||||||
amd-ucode
|
amd-ucode
|
||||||
archinstall
|
archinstall
|
||||||
arch-install-scripts
|
arch-install-scripts
|
||||||
at
|
at
|
||||||
atop
|
atop
|
||||||
b43-fwcutter
|
|
||||||
bash
|
bash
|
||||||
bash-completion
|
bash-completion
|
||||||
bc
|
bc
|
||||||
|
|
@ -31,13 +29,11 @@ crda
|
||||||
cronie
|
cronie
|
||||||
cryptsetup
|
cryptsetup
|
||||||
curl
|
curl
|
||||||
darkhttpd
|
|
||||||
dd_rescue
|
dd_rescue
|
||||||
ddrescue
|
ddrescue
|
||||||
dhclient
|
dhclient
|
||||||
dialog
|
dialog
|
||||||
diffutils
|
diffutils
|
||||||
discount
|
|
||||||
dislocker
|
dislocker
|
||||||
dmidecode
|
dmidecode
|
||||||
dmraid
|
dmraid
|
||||||
|
|
@ -51,23 +47,20 @@ efibootmgr
|
||||||
efitools
|
efitools
|
||||||
efivar
|
efivar
|
||||||
elinks
|
elinks
|
||||||
|
systemrescue+zfs/epiphany
|
||||||
ethtool
|
ethtool
|
||||||
exfatprogs
|
exfatprogs
|
||||||
expac
|
expac
|
||||||
f2fs-tools
|
f2fs-tools
|
||||||
fatresize
|
fatresize
|
||||||
featherpad
|
|
||||||
file
|
file
|
||||||
findutils
|
findutils
|
||||||
firefox-esr-bin
|
|
||||||
flashrom
|
flashrom
|
||||||
foremost
|
foremost
|
||||||
fsarchiver
|
fsarchiver
|
||||||
galculator
|
galculator
|
||||||
gawk
|
gawk
|
||||||
geany
|
systemrescue+zfs/ghex
|
||||||
ghex
|
|
||||||
git
|
|
||||||
gnu-netcat
|
gnu-netcat
|
||||||
gnupg
|
gnupg
|
||||||
gpart
|
gpart
|
||||||
|
|
@ -79,7 +72,7 @@ grml-zsh-config
|
||||||
growpartfs
|
growpartfs
|
||||||
grsync
|
grsync
|
||||||
grub
|
grub
|
||||||
gsettings-desktop-schemas-dummy
|
gsettings-desktop-schemas
|
||||||
gsmartcontrol
|
gsmartcontrol
|
||||||
gzip
|
gzip
|
||||||
hardinfo
|
hardinfo
|
||||||
|
|
@ -97,10 +90,8 @@ ipmitool
|
||||||
iproute2
|
iproute2
|
||||||
iptables
|
iptables
|
||||||
iputils
|
iputils
|
||||||
irssi
|
|
||||||
jfsutils
|
jfsutils
|
||||||
jq
|
jq
|
||||||
keepassxc
|
|
||||||
kexec-tools
|
kexec-tools
|
||||||
less
|
less
|
||||||
lftp
|
lftp
|
||||||
|
|
@ -108,12 +99,12 @@ libfaketime
|
||||||
libisoburn
|
libisoburn
|
||||||
libldm
|
libldm
|
||||||
libvncserver
|
libvncserver
|
||||||
linux-atm
|
systemrescue+zfs/linux-firmware
|
||||||
linux-firmware
|
|
||||||
linux-firmware-bnx2x
|
linux-firmware-bnx2x
|
||||||
linux-firmware-qlogic
|
linux-firmware-qlogic
|
||||||
linux-firmware-marvell
|
linux-firmware-marvell
|
||||||
linux-lts
|
linux-lts
|
||||||
|
linux-lts-headers
|
||||||
lm_sensors
|
lm_sensors
|
||||||
localepurge
|
localepurge
|
||||||
lshw
|
lshw
|
||||||
|
|
@ -127,7 +118,6 @@ lvm2
|
||||||
lz4
|
lz4
|
||||||
lzip
|
lzip
|
||||||
lzop
|
lzop
|
||||||
m4
|
|
||||||
man-db
|
man-db
|
||||||
man-pages
|
man-pages
|
||||||
mc
|
mc
|
||||||
|
|
@ -135,12 +125,13 @@ mdadm
|
||||||
memtest86+
|
memtest86+
|
||||||
memtest86+-efi
|
memtest86+-efi
|
||||||
memtester
|
memtester
|
||||||
mesa-minimal
|
systemrescue+zfs/mesa-minimal
|
||||||
minicom
|
minicom
|
||||||
mkinitcpio
|
mkinitcpio
|
||||||
mkinitcpio-nfs-utils
|
mkinitcpio-nfs-utils
|
||||||
mlocate
|
mlocate
|
||||||
moreutils
|
moreutils
|
||||||
|
mousepad
|
||||||
ms-sys
|
ms-sys
|
||||||
mtools
|
mtools
|
||||||
mtr
|
mtr
|
||||||
|
|
@ -178,7 +169,6 @@ parted
|
||||||
partimage
|
partimage
|
||||||
pass
|
pass
|
||||||
patch
|
patch
|
||||||
pavucontrol
|
|
||||||
pciutils
|
pciutils
|
||||||
pcre
|
pcre
|
||||||
perl
|
perl
|
||||||
|
|
@ -193,7 +183,6 @@ ppp
|
||||||
pptpclient
|
pptpclient
|
||||||
procps-ng
|
procps-ng
|
||||||
psmisc
|
psmisc
|
||||||
pulseaudio-alsa
|
|
||||||
pv
|
pv
|
||||||
python
|
python
|
||||||
python-llfuse
|
python-llfuse
|
||||||
|
|
@ -201,7 +190,6 @@ python-pip
|
||||||
python-yaml
|
python-yaml
|
||||||
qemu-guest-agent
|
qemu-guest-agent
|
||||||
qemu-img
|
qemu-img
|
||||||
qtpass
|
|
||||||
rclone
|
rclone
|
||||||
rdesktop
|
rdesktop
|
||||||
rdiff-backup
|
rdiff-backup
|
||||||
|
|
@ -225,7 +213,6 @@ smartmontools
|
||||||
smbclient
|
smbclient
|
||||||
socat
|
socat
|
||||||
speedtest-cli
|
speedtest-cli
|
||||||
sqlite
|
|
||||||
squashfs-tools
|
squashfs-tools
|
||||||
sshfs
|
sshfs
|
||||||
strace
|
strace
|
||||||
|
|
@ -236,12 +223,10 @@ sudo
|
||||||
syslinux
|
syslinux
|
||||||
sysstat
|
sysstat
|
||||||
tar
|
tar
|
||||||
tcl
|
|
||||||
tcpdump
|
tcpdump
|
||||||
testdisk
|
testdisk
|
||||||
thunar-archive-plugin
|
thunar-archive-plugin
|
||||||
timeshift
|
timeshift
|
||||||
tk
|
|
||||||
tmux
|
tmux
|
||||||
traceroute
|
traceroute
|
||||||
tree
|
tree
|
||||||
|
|
@ -250,7 +235,6 @@ udftools
|
||||||
udpcast
|
udpcast
|
||||||
unrar
|
unrar
|
||||||
unzip
|
unzip
|
||||||
usb_modeswitch
|
|
||||||
usbutils
|
usbutils
|
||||||
util-linux
|
util-linux
|
||||||
vi
|
vi
|
||||||
|
|
@ -270,9 +254,7 @@ wqy-microhei
|
||||||
wvdial
|
wvdial
|
||||||
x11vnc
|
x11vnc
|
||||||
xarchiver
|
xarchiver
|
||||||
xfburn
|
|
||||||
xfce4
|
xfce4
|
||||||
xfce4-pulseaudio-plugin
|
|
||||||
xfce4-screenshooter
|
xfce4-screenshooter
|
||||||
xfce4-taskmanager
|
xfce4-taskmanager
|
||||||
xfsdump
|
xfsdump
|
||||||
|
|
@ -280,15 +262,26 @@ xfsprogs
|
||||||
xkbsel
|
xkbsel
|
||||||
xkeyboard-config
|
xkeyboard-config
|
||||||
xl2tpd
|
xl2tpd
|
||||||
xorg-apps
|
|
||||||
xorg-drivers
|
xorg-drivers
|
||||||
xorg-server
|
xorg-server
|
||||||
|
xorg-setxkbmap
|
||||||
|
xorg-xauth
|
||||||
|
xorg-xbacklight
|
||||||
|
xorg-xdpyinfo
|
||||||
|
xorg-xev
|
||||||
|
xorg-xhost
|
||||||
xorg-xinit
|
xorg-xinit
|
||||||
|
xorg-xinput
|
||||||
|
xorg-xkill
|
||||||
|
xorg-xmodmap
|
||||||
|
xorg-xprop
|
||||||
|
xorg-xrandr
|
||||||
|
xorg-xset
|
||||||
|
xorg-xwininfo
|
||||||
xz
|
xz
|
||||||
yay
|
yay
|
||||||
yubikey-manager
|
|
||||||
yubikey-personalization-gui
|
|
||||||
zerofree
|
zerofree
|
||||||
|
zfs-dkms
|
||||||
zip
|
zip
|
||||||
zsh
|
zsh
|
||||||
zstd
|
zstd
|
||||||
|
|
|
||||||
|
|
@ -76,9 +76,16 @@ Server = https://sysrescuerepo.system-rescue.org/$arch
|
||||||
SigLevel = Optional TrustAll
|
SigLevel = Optional TrustAll
|
||||||
# ==== END sysrescuerepo ====
|
# ==== 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]
|
[core]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
Include = /etc/pacman.d/mirrorlist
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
SERIAL 0 115200
|
SERIAL 0 115200
|
||||||
UI boot/syslinux/vesamenu.c32
|
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
|
MENU BACKGROUND #c000a8a8
|
||||||
TIMEOUT 300
|
TIMEOUT 300
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue (NBD)
|
MENU LABEL Boot SystemRescue (NBD)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
SYSAPPEND 3
|
||||||
|
|
||||||
LABEL sysresccd_nfs
|
LABEL sysresccd_nfs
|
||||||
|
|
@ -19,7 +19,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue (NFS)
|
MENU LABEL Boot SystemRescue (NFS)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
SYSAPPEND 3
|
||||||
|
|
||||||
LABEL sysresccd_http
|
LABEL sysresccd_http
|
||||||
|
|
@ -30,7 +30,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue (HTTP)
|
MENU LABEL Boot SystemRescue (HTTP)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
SYSAPPEND 3
|
||||||
|
|
||||||
INCLUDE boot/syslinux/sysresccd_tail.cfg
|
INCLUDE boot/syslinux/sysresccd_tail.cfg
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,16 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue using default options
|
MENU LABEL Boot SystemRescue using default options
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
LABEL sysresccd_copytoram
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -16,7 +25,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue and copy system to RAM (copytoram)
|
MENU LABEL Boot SystemRescue and copy system to RAM (copytoram)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
LABEL sysresccd_checksum
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -25,7 +34,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue and verify integrity of the medium (checksum)
|
MENU LABEL Boot SystemRescue and verify integrity of the medium (checksum)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
LABEL sysresccd_nomodeset
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -34,16 +43,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue using basic display drivers (nomodeset)
|
MENU LABEL Boot SystemRescue using basic display drivers (nomodeset)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% 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
|
|
||||||
|
|
||||||
LABEL sysresccd-nomdlvm
|
LABEL sysresccd-nomdlvm
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -53,7 +53,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot SystemRescue, do not activate md raid or lvm (nomdlvm)
|
MENU LABEL Boot SystemRescue, do not activate md raid or lvm (nomdlvm)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
LABEL sysresccd_findroot
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -62,7 +62,7 @@ ENDTEXT
|
||||||
MENU LABEL Boot a Linux operating system installed on the disk (findroot)
|
MENU LABEL Boot a Linux operating system installed on the disk (findroot)
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
LABEL sysresccd_break
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -71,7 +71,7 @@ ENDTEXT
|
||||||
MENU LABEL Stop during the boot process before mounting the root filesystem
|
MENU LABEL Stop during the boot process before mounting the root filesystem
|
||||||
LINUX boot/%ISO_ARCH%/vmlinuz
|
LINUX boot/%ISO_ARCH%/vmlinuz
|
||||||
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img
|
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
|
INCLUDE boot/syslinux/sysresccd_custom.cfg
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ APPEND hd0 0
|
||||||
LABEL memtest
|
LABEL memtest
|
||||||
MENU LABEL Run Memtest86+ (RAM test)
|
MENU LABEL Run Memtest86+ (RAM test)
|
||||||
LINUX boot/memtest
|
LINUX boot/memtest
|
||||||
|
APPEND %CONSOLES%
|
||||||
|
|
||||||
# http://hdt-project.org/
|
# http://hdt-project.org/
|
||||||
#LABEL hdt
|
#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
|
||||||
Loading…
Reference in a new issue