From 809eac1d6583b06043d1a51e12801576476b4edc Mon Sep 17 00:00:00 2001 From: hayao Date: Sat, 2 May 2020 22:32:25 +0900 Subject: [PATCH] [add] : Added config file for zen kernel. --- .../share/airootfs.any/root/customize_airootfs.sh | 18 ++-- .../calamares/modules/initcpio/initcpio-zen.conf | 23 +++++ .../calamares/modules/unpackfs/unpackfs-zen.conf | 97 ++++++++++++++++++++++ 3 files changed, 128 insertions(+), 10 deletions(-) create mode 100644 channels/share/airootfs.any/usr/share/calamares/modules/initcpio/initcpio-zen.conf create mode 100644 channels/share/airootfs.any/usr/share/calamares/modules/unpackfs/unpackfs-zen.conf diff --git a/channels/share/airootfs.any/root/customize_airootfs.sh b/channels/share/airootfs.any/root/customize_airootfs.sh index 637ce9e0..8c94ab64 100755 --- a/channels/share/airootfs.any/root/customize_airootfs.sh +++ b/channels/share/airootfs.any/root/customize_airootfs.sh @@ -205,16 +205,14 @@ fi # Calamares configs -# If the specified kernel is different from calamares configuration, replace the configuration file. -if [[ ! ${kernel} = "zen" ]]; then - # initcpio - remove /usr/share/calamares/modules/initcpio.conf - mv /usr/share/calamares/modules/initcpio/initcpio-${kernel}.conf /usr/share/calamares/modules/initcpio.conf - - # unpackfs - remove /usr/share/calamares/modules/unpackfs.conf - mv /usr/share/calamares/modules/unpackfs/unpackfs-${kernel}.conf /usr/share/calamares/modules/unpackfs.conf -fi +# Replace the configuration file. +# initcpio +remove /usr/share/calamares/modules/initcpio.conf +mv /usr/share/calamares/modules/initcpio/initcpio-${kernel}.conf /usr/share/calamares/modules/initcpio.conf + +# unpackfs +remove /usr/share/calamares/modules/unpackfs.conf +mv /usr/share/calamares/modules/unpackfs/unpackfs-${kernel}.conf /usr/share/calamares/modules/unpackfs.conf # Remove configuration files for other kernels. remove /usr/share/calamares/modules/initcpio/ diff --git a/channels/share/airootfs.any/usr/share/calamares/modules/initcpio/initcpio-zen.conf b/channels/share/airootfs.any/usr/share/calamares/modules/initcpio/initcpio-zen.conf new file mode 100644 index 00000000..b43ad53e --- /dev/null +++ b/channels/share/airootfs.any/usr/share/calamares/modules/initcpio/initcpio-zen.conf @@ -0,0 +1,23 @@ +# Run mkinitcpio(8) with the given preset value +--- +# This key defines the kernel to be loaded. +# It can have the following values: +# - empty or unset, interpreted as "all" +# - the literal string "$uname" (without quotes, with dollar), +# which will use the output of `uname -r` to determine the +# running kernel, and use that. +# - any other string. +# +# Whatever is set, that string is passed as *preset* argument to the +# `-p` option of *mkinitcpio*. Take care that both "$uname" operates +# in the host system, and might not be correct if the target system is +# updated (to a newer kernel) as part of the installation. +# +# Note that "all" is probably not a good preset to use either. +# kernel: linux312 +kernel: linux-zen + +# Set this to true to turn off mitigations for lax file +# permissions on initramfs (which, in turn, can compromise +# your LUKS encryption keys, CVS-2019-13179). +be_unsafe: false diff --git a/channels/share/airootfs.any/usr/share/calamares/modules/unpackfs/unpackfs-zen.conf b/channels/share/airootfs.any/usr/share/calamares/modules/unpackfs/unpackfs-zen.conf new file mode 100644 index 00000000..93405855 --- /dev/null +++ b/channels/share/airootfs.any/usr/share/calamares/modules/unpackfs/unpackfs-zen.conf @@ -0,0 +1,97 @@ +# Unsquash / unpack a filesystem. Multiple sources are supported, and +# they may be squashed or plain filesystems. +# +# Configuration: +# +# from globalstorage: rootMountPoint +# from job.configuration: the path to where to mount the source image(s) +# for copying an ordered list of unpack mappings for image file <-> +# target dir relative to rootMountPoint. + +--- +# Each list item is unpacked, in order, to the target system. +# +# Each list item has the following **mandatory** attributes: +# - *source* path relative to the live / intstalling system to the image +# - *sourcefs* the type of the source files; valid entries are +# - `ext4` (copies the filesystem contents) +# - `squashfs` (unsquashes) +# - `file` (copies a file or directory) +# - (may be others if mount supports it) +# - *destination* path relative to rootMountPoint (so in the target +# system) where this filesystem is unpacked. It may be an +# empty string, which effectively is / (the root) of the target +# system. +# +# Each list item **optionally** can include the following attributes: +# - *exclude* is a list of values that is expanded into --exclude +# arguments for rsync (each entry in exclude gets its own --exclude). +# - *excludeFile* is a single file that is passed to rsync as an +# --exclude-file argument. This should be a full pathname +# inside the **host** filesystem. +# +# EXAMPLES +# +# Usually you list a filesystem image to unpack; you can use +# squashfs or an ext4 image. An empty destination is equivalent to "/", +# the root of the target system. The destination directory must exist +# in the target system. +# +# - source: "/path/to/filesystem.sqfs" +# sourcefs: "squashfs" +# destination: "" +# +# Multiple entries are unpacked in-order; if there is more than one +# item then only the first must exist beforehand -- it's ok to +# create directories with one unsquash and then to use those +# directories as a target from a second unsquash. +# +# - source: "/path/to/another/filesystem.img" +# sourcefs: "ext4" +# destination: "" +# - source: "/path/to/another/filesystem2.img" +# sourcefs: "ext4" +# destination: "/usr/lib/extra" +# +# You can list filesystem source paths relative to the Calamares run +# directory, if you use -d (this is only useful for testing, though). +# +# - source: ./example.sqfs +# sourcefs: squashfs +# destination: "" +# +# You can list individual files (copied one-by-one), or directories +# (the files inside this directory are copied directly to the destination, +# so no "dummycpp/" subdirectory is created in this example). +# Do note that the target directory must exist already (e.g. from +# extracting some other filesystem). +# +# - source: ../CHANGES +# sourcefs: file +# destination: "/tmp/derp" +# - source: ../src/modules/dummycpp +# sourcefs: file +# destination: "/tmp/derp" +# +# The *destination* and *source* are handed off to rsync, so the semantics +# of trailing slashes apply. In order to *rename* a file as it is +# copied, specify one single file (e.g. CHANGES) and a full pathname +# for its destination name, as in the example below. + +#unpack: +# - source: ../CHANGES +# sourcefs: file +# destination: "/tmp/changes.txt" +# - source: src/qml/calamares/slideshow +# sourcefs: file +# destination: "/tmp/slideshow/" +# exclude: [ "*.qmlc", "qmldir" ] +# # excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt + +unpack: + - source: "/run/archiso/bootmnt/%INSTALL_DIR%/%ARCH%/airootfs.sfs" + sourcefs: "squashfs" + destination: "" + - source: "/run/archiso/bootmnt/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen" + sourcefs: "file" + destination: "/boot/vmlinuz-linux-ck" -- 2.11.0