mirror of
https://github.com/nchevsky/systemrescue-zfs.git
synced 2025-12-06 07:12:01 +01:00
v10.01+2.1.12
- Bundle `archzfs` as a DKMS module. - Enable serial console for all boot options, including Memtest86+. - Add EFI boot progress indicators for kernel/initramfs/system stages. - Print headers and done vs. skipped indicators for each build step. - Polish `issue(5)`. Fixes #9.
This commit is contained in:
parent
8c76cdfb5c
commit
aaf018df1e
109
README.md
109
README.md
|
|
@ -1,69 +1,72 @@
|
||||||
# SystemRescue
|
# Overview
|
||||||
|
|
||||||
## Project website
|
**SystemRescue+ZFS** is a fork of the [SystemRescue](http://www.system-rescue.org/) distribution (based on [Arch Linux](https://www.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
|
||||||
|
- Headers and done vs. skipped indicators for each build step
|
||||||
|
- Extra polish
|
||||||
|
|
||||||
## 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
|
`$ sudo ./build.sh [-d] [-v]`
|
||||||
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:
|
- `-d`: Turn off compression, significantly speeding up development builds.
|
||||||
```
|
- `-v`: Print more information while building (strongly recommended).
|
||||||
export sysrescuearch="x86_64"
|
|
||||||
./docker/build-docker-image.sh
|
|
||||||
./docker/build-iso-image.sh -v
|
|
||||||
```
|
|
||||||
|
|
||||||
## Including your SystemRescueModules
|
## Dependencies
|
||||||
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.
|
|
||||||
|
|
||||||
[srm]: https://www.system-rescue.org/Modules/
|
[Arch Linux](https://www.archlinux.org) 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`
|
||||||
|
|
||||||
## Project sponsors
|
## Rebuilds
|
||||||
|
|
||||||
Infrastructure for SystemRescue is sponsored by:
|
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.
|
||||||
|
|
||||||
| [<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) |
|
### Full rebuild
|
||||||
|
|
||||||
|
`$ 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,14 @@
|
||||||
\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;37mfirefox\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;37mfeatherpad\e[00;37m
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf
|
||||||
ln -sf /dev/null /etc/udev/rules.d/90-alsa-restore.rules
|
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
|
||||||
|
|
@ -123,6 +123,11 @@ sed -i -e '/# ==== BEGIN sysrescuerepo ====/,/# ==== END sysrescuerepo ====/d' /
|
||||||
# Customizations
|
# Customizations
|
||||||
/usr/bin/updatedb
|
/usr/bin/updatedb
|
||||||
|
|
||||||
|
# Trust archzfs key
|
||||||
|
pacman-key --init
|
||||||
|
pacman-key -r DDF7DB817396A49B2A2723F7403BD972F75D9D76
|
||||||
|
pacman-key --lsign-key DDF7DB817396A49B2A2723F7403BD972F75D9D76
|
||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
pacman -Q > /root/packages-list.txt
|
pacman -Q > /root/packages-list.txt
|
||||||
expac -H M -s "%-30n %m" | sort -rhk 2 > /root/packages-size.txt
|
expac -H M -s "%-30n %m" | sort -rhk 2 > /root/packages-size.txt
|
||||||
|
|
|
||||||
30
build.sh
30
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="${iso_application}_${iso_version}"
|
||||||
iso_publisher="SystemRescue <http://www.system-rescue.org>"
|
iso_url="http://oss.blazis.com/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
|
||||||
|
|
@ -129,9 +130,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 +167,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 +207,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" \
|
||||||
|
|
@ -305,6 +312,9 @@ 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_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|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
|
s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g;
|
||||||
|
|
@ -336,6 +346,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;
|
||||||
|
|
@ -395,7 +407,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
|
||||||
|
|
@ -39,60 +39,75 @@ 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% 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% copytoram
|
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 and verify integrity of the medium (checksum)' {
|
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% checksum
|
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 using basic display drivers (nomodeset)' {
|
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% nomodeset
|
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 with serial console (ttyS0,115200n8)' {
|
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% console=tty0 console=ttyS0,115200n8
|
echo 'Loading kernel...'
|
||||||
initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img
|
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% nomdlvm
|
||||||
}
|
echo 'Loading initramfs...'
|
||||||
|
|
||||||
menuentry 'Boot SystemRescue, do not activate md raid or lvm (nomdlvm)' {
|
|
||||||
set gfxpayload=keep
|
|
||||||
linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% nomdlvm
|
|
||||||
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' {
|
||||||
|
|
|
||||||
2
packages
2
packages
|
|
@ -111,6 +111,7 @@ linux-firmware
|
||||||
linux-firmware-bnx2x
|
linux-firmware-bnx2x
|
||||||
linux-firmware-marvell
|
linux-firmware-marvell
|
||||||
linux-lts
|
linux-lts
|
||||||
|
linux-lts-headers
|
||||||
lm_sensors
|
lm_sensors
|
||||||
localepurge
|
localepurge
|
||||||
lshw
|
lshw
|
||||||
|
|
@ -285,6 +286,7 @@ yay
|
||||||
yubikey-manager
|
yubikey-manager
|
||||||
yubikey-personalization-gui
|
yubikey-personalization-gui
|
||||||
zerofree
|
zerofree
|
||||||
|
zfs-dkms
|
||||||
zip
|
zip
|
||||||
zsh
|
zsh
|
||||||
zstd
|
zstd
|
||||||
|
|
|
||||||
|
|
@ -76,9 +76,11 @@ Server = https://sysrescuerepo.system-rescue.org/$arch
|
||||||
SigLevel = Optional TrustAll
|
SigLevel = Optional TrustAll
|
||||||
# ==== END sysrescuerepo ====
|
# ==== END sysrescuerepo ====
|
||||||
|
|
||||||
|
[archzfs]
|
||||||
|
Server = https://archzfs.com/$repo/$arch
|
||||||
|
|
||||||
[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,7 @@ 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_copytoram
|
LABEL sysresccd_copytoram
|
||||||
TEXT HELP
|
TEXT HELP
|
||||||
|
|
@ -16,7 +16,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 +25,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 +34,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 +44,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 +53,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 +62,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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue