SCRIPT_NAME=$(basename $0)
-for dir in /lib/udev /sbin; do
- if [ -f $dir/vol_id -a -x $dir/vol_id ]; then
- VOL_ID=$dir/vol_id
- fi
-done
+if [ -f /sbin/blkid -a -x /sbin/blkid ]; then
+ VOL_ID="/sbin/blkid -o value -s UUID"
+ VOL_TYPE="/sbin/blkid -o value -s TYPE"
+else
+ for dir in /lib/udev /sbin; do
+ if [ -f $dir/vol_id -a -x $dir/vol_id ]; then
+ VOL_ID="$dir/vol_id -u"
+ VOL_TYPE="$dir/vol_id -t"
+ fi
+ done
+fi
if [ -z "$VOL_ID" ]; then
- log_error "vol_id not found, please install udev"
- exit 1
+ log_error "vol_id or blkid not found, please install udev or util-linux"
+ exit 1
fi
if [ -z "$OS_API_VERSION" -o "$OS_API_VERSION" = "5" ]; then
fi
mke2fs -Fjq $filesystem_dev
-root_uuid=$($VOL_ID -u $filesystem_dev )
+root_uuid=$($VOL_ID $filesystem_dev )
if [ -n "$swapdev" ]; then
mkswap $swapdev
- swap_uuid=$($VOL_ID -u $swapdev || true )
+ swap_uuid=$($VOL_ID $swapdev || true )
fi
TMPDIR=`mktemp -d` || exit 1
exit 1
fi
-vol_type=$($VOL_ID -t $filesystem_dev)
+vol_type=$($VOL_TYPE $filesystem_dev)
if [ "$vol_type" = "ext3" -o "$vol_type" = "ext2" ]; then
dump -0 -q -f - "$filesystem_dev"
fi
mke2fs -Fjq $filesystem_dev
-root_uuid=$($VOL_ID -u $filesystem_dev )
+root_uuid=$($VOL_ID $filesystem_dev )
if [ -n "$swapdev" ]; then
mkswap $swapdev
- swap_uuid=$($VOL_ID -u $swapdev || true )
+ swap_uuid=$($VOL_ID $swapdev || true )
fi
TMPDIR=`mktemp -d` || exit 1