summaryrefslogtreecommitdiffstats
path: root/dracut/repo-genrules.sh
blob: 8b95ce17b29878f4df1c3ea3845f4bca16682f07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
# generate udev rules for handling anaconda-specific root devices
# (just the disk-based ones - the network ones are done by netroot)

# import anaconda-lib for when_diskdev_appears
command -v when_diskdev_appears >/dev/null || . /lib/anaconda-lib.sh

case "$root" in
  anaconda-disk:*)
    # anaconda-disk:<device>[:<path>]
    splitsep ":" "$root" f diskdev diskpath
    diskdev=$(disk_to_dev_path $diskdev)
    when_diskdev_appears $diskdev \
        anaconda-diskroot \$env{DEVNAME} $diskpath
  ;;
  anaconda-auto-cd)
    # special catch-all rule for CDROMs
    echo 'ENV{ID_CDROM}=="1",' \
           'RUN+="/sbin/initqueue --settled --onetime' \
             '/sbin/anaconda-diskroot $env{DEVNAME}"' >> $rulesfile
    # HACK: anaconda demands that CDROMs be mounted at /mnt/install/source
    ln -s repo /run/install/source
  ;;
esac