#!@shebangdir@/execlineb -P importas -Si MDEV if -x0 { eltest -d /sys/block/${MDEV} } #skip cryptsetup nodes if -nx0 { eltest ${MDEV} =~ dm-[0-9] } background { mkdir -p /dev/disk/by-diskseq } background { mkdir -p /dev/disk/by-partuuid } background { mkdir -p /dev/disk/by-uuid } background { mkdir -p /dev/disk/by-id } #background { mkdir -p /dev/disk/by-path } backtick -Ei DISKSEQ { cat /sys/block/${MDEV}/diskseq } background { ln -sf ../../${MDEV} /dev/disk/by-diskseq/${DISKSEQ} } pipeline { if { eltest -e /sys/block/${MDEV}/device/model } cat /sys/block/${MDEV}/device/model } pipeline { sed -e s/\ *$// -e s/\ /_/g } withstdinas -ED "" MODEL pipeline { if { eltest -e /sys/block/${MDEV}/device/serial } cat /sys/block/${MDEV}/device/serial } pipeline { sed -e s/\ *$// -e s/\ /_/g -e s/^/_/g } withstdinas -ED "" SERIAL background { if { eltest "${MODEL}${SERIAL}" } ln -sf ../../${MDEV} /dev/disk/by-id/${MODEL}${SERIAL} } execline-cd /sys/block/${MDEV} elglob -0d "" PARTS ${MDEV}* if { eltest ${PARTS} } define -sd "" SPARTS ${PARTS} forx -pE PART { ${SPARTS} } # by-partuuid background { pipeline { grep -- ^PARTUUID= ${PART}/uevent } pipeline { sed -e s/PARTUUID=// } withstdinas -E PARTUUID ln -sf ../../${PART} /dev/disk/by-partuuid/${PARTUUID} } # by-diskseq, by-id background { backtick -Ei PARTN { cat ${PART}/partition } background { ln -sf ../../${PART} /dev/disk/by-diskseq/${DISKSEQ}-part${PARTN} } if { eltest "${MODEL}${SERIAL}" } ln -sf ../../${PART} /dev/disk/by-id/${MODEL}${SERIAL}-part${PARTN} } # only if blkid exists if { redirfd -w 1 /dev/null tryexec { blkid } exit 1 } # by-uuid background { if { pipeline { blkid /dev/${PART} } pipeline { grep " UUID" } pipeline { sed -e s/^.*\ UUID=\"// -e s/\".*// } withstdinas -E UUID if { eltest ${UUID} } ln -sf ../../${PART} /dev/disk/by-uuid/${UUID} } } # by-label background { if { pipeline { blkid /dev/${PART} } pipeline { grep " LABEL" } pipeline { sed -e s/^.*\ LABEL=\"// -e s/\".*// } withstdinas -E LABEL if { eltest ${LABEL} } ln -sf ../../${PART} /dev/disk/by-label/${LABEL} } }