]>
Commit | Line | Data |
---|---|---|
14499534 HH |
1 | #!/bin/sh |
2 | # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- | |
3 | # ex: ts=8 sw=4 sts=4 et filetype=sh | |
4 | ||
5 | type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh | |
6 | ||
7 | PATH=/usr/sbin:/usr/bin:/sbin:/bin | |
8 | ||
9 | isofile=$1 | |
10 | ||
11 | [ -z "$isofile" ] && exit 1 | |
12 | ||
aef0f557 HH |
13 | ismounted "/run/initramfs/isoscan" && exit 1 |
14 | ||
14499534 | 15 | mkdir -p "/run/initramfs/isoscan" |
aef0f557 HH |
16 | |
17 | do_iso_scan() { | |
18 | local _name | |
19 | local dev | |
20 | for dev in /dev/disk/by-uuid/*; do | |
21 | _name=$(dev_unit_name "$dev") | |
22 | [ -e /tmp/isoscan-${_name} ] && continue | |
23 | > /tmp/isoscan-${_name} | |
24 | mount -t auto -o ro "$dev" "/run/initramfs/isoscan" || continue | |
25 | if [ -f "/run/initramfs/isoscan/$isofile" ]; then | |
26 | losetup -f "/run/initramfs/isoscan/$isofile" | |
32bd2fbb | 27 | rm -f -- "$job" |
aef0f557 HH |
28 | exit 0 |
29 | else | |
30 | umount "/run/initramfs/isoscan" | |
31 | fi | |
32 | done | |
33 | } | |
34 | ||
35 | do_iso_scan | |
14499534 HH |
36 | |
37 | rmdir "/run/initramfs/isoscan" | |
38 | exit 1 |