File: zfs-env-bootfs.service.in

package info (click to toggle)
zfs-linux 2.3.3-1
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 70,488 kB
  • sloc: ansic: 393,047; sh: 67,422; asm: 47,734; python: 8,160; makefile: 5,105; perl: 859; sed: 41
file content (24 lines) | stat: -rw-r--r-- 1,393 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Unit]
Description=Set BOOTFS and BOOTFSFLAGS environment variables for dracut
DefaultDependencies=no
After=zfs-import-cache.service
After=zfs-import-scan.service
Before=zfs-import.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c '                                                                         \
    . /lib/dracut-zfs-lib.sh;                                                                  \
    decode_root_args || exit 0;                                                                \
    [ "$root" = "zfs:AUTO" ] && root="$(@sbindir@/zpool list -H -o bootfs | grep -m1 -vFx -)"; \
    rootflags="$(getarg rootflags=)";                                                          \
    [ "$(@sbindir@/zfs get -H -o value mountpoint "$root")" = legacy ] ||                      \
        case ",$rootflags," in                                                                 \
            *,zfsutil,*) ;;                                                                    \
            ,,) rootflags=zfsutil ;;                                                           \
            *)  rootflags="zfsutil,$rootflags" ;;                                              \
        esac;                                                                                  \
    exec systemctl set-environment BOOTFS="$root" BOOTFSFLAGS="$rootflags"'

[Install]
WantedBy=zfs-import.target