File: module-setup.sh

package info (click to toggle)
dracut 110-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,416 kB
  • sloc: sh: 24,901; ansic: 5,236; makefile: 346; perl: 186; python: 48; javascript: 19
file content (40 lines) | stat: -rwxr-xr-x 1,310 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
# This file is part of dracut.
# SPDX-License-Identifier: GPL-2.0-or-later

# Prerequisite check(s) for module.
check() {
    # If the binary(s) requirements are not fulfilled the module can't be installed.
    require_binaries systemd-repart || return 1

    # Return 255 to only include the module, if another module requires it.
    return 255
}

# Install the required file(s) for the module in the initramfs.
install() {
    inst_multiple -o \
        "/usr/lib/repart.d/*.conf" \
        "$systemdsystemunitdir"/systemd-repart.service \
        "$systemdsystemunitdir/systemd-repart.service.d/*.conf" \
        "$systemdsystemunitdir"/initrd-root-fs.target.wants/systemd-repart.service \
        systemd-repart

    # Systemd-repart is capable of also formatting the created partition.
    # Support all filesystems that repart.d supports.
    inst_multiple -o \
        "mkfs.ext4" \
        "mkfs.btrfs" \
        "mkfs.xfs" \
        "mkfs.vfat" \
        "mkfs.erofs" \
        "mksquashfs"

    # Install the hosts local user configurations if enabled.
    if [[ $hostonly ]]; then
        inst_multiple -H -o \
            "/etc/repart.d/*.conf" \
            "$systemdsystemconfdir"/systemd-repart.service \
            "$systemdsystemconfdir/systemd-repart.service.d/*.conf"
    fi
}