UUID=*)
boot="/dev/disk/by-uuid/${boot#UUID=}"
;;
+ PARTUUID=*)
+ boot="/dev/disk/by-partuuid/${boot#PARTUUID=}"
+ ;;
+ PARTLABEL=*)
+ boot="/dev/disk/by-partlabel/${boot#PARTLABEL=}"
+ ;;
/dev/*)
;;
*)
root="${root#live:}"
root="live:/dev/disk/by-uuid/${root#UUID=}"
rootok=1 ;;
+ live:PARTUUID=*|PARTUUID=*) \
+ root="${root#live:}"
+ root="live:/dev/disk/by-partuuid/${root#PARTUUID=}"
+ rootok=1 ;;
+ live:PARTLABEL=*|PARTLABEL=*) \
+ root="${root#live:}"
+ root="live:/dev/disk/by-partlabel/${root#PARTLABEL=}"
+ rootok=1 ;;
live:/*.[Ii][Ss][Oo]|/*.[Ii][Ss][Oo])
root="${root#live:}"
root="liveiso:${root}"
resume="/dev/disk/by-uuid/${resume#UUID=}" ;;
PARTUUID=*) \
resume="/dev/disk/by-partuuid/${resume#PARTUUID=}" ;;
+ PARTLABEL=*) \
+ resume="/dev/disk/by-partlabel/${resume#PARTLABEL=}" ;;
esac
if splash=$(getarg splash=); then
root="${root#block:}"
root="block:/dev/disk/by-partuuid/${root#PARTUUID=}"
rootok=1 ;;
+ block:PARTLABEL=*|PARTLABEL=*)
+ root="${root#block:}"
+ root="block:/dev/disk/by-partlabel/${root#PARTLABEL=}"
+ rootok=1 ;;
/dev/*)
root="block:${root}"
rootok=1 ;;
root="${root#block:}"
root="block:/dev/disk/by-partuuid/${root#PARTUUID=}"
rootok=1 ;;
+ block:PARTLABEL=*|PARTLABEL=*)
+ root="${root#block:}"
+ root="block:/dev/disk/by-partlabel/${root#PARTLABEL=}"
+ rootok=1 ;;
/dev/*)
root="block:${root}"
rootok=1 ;;
# TOOD: symlinks
udevmatch() {
case "$1" in
- UUID=????????-????-????-????-????????????|LABEL=*)
+ UUID=????????-????-????-????-????????????|LABEL=*|PARTLABEL=*|PARTUUID=????????-????-????-????-????????????)
printf 'ENV{ID_FS_%s}=="%s"' "${1%%=*}" "${1#*=}"
;;
UUID=*)
printf 'ENV{ID_FS_UUID}=="%s*"' "${1#*=}"
;;
+ PARTUUID=*)
+ printf 'ENV{ID_FS_PARTUUID}=="%s*"' "${1#*=}"
+ ;;
/dev/?*) printf -- 'KERNEL=="%s"' "${1#/dev/}" ;;
*) return 255 ;;
esac