cubieboard使用Cubian系统,开机挂载SATA硬盘及USB盘脚本
本帖最后由 Earthman 于 2014-2-3 05:23 编辑自编,无私奉献
请安装ntfsprogs,依赖udevil
教本可以放到/etc/rc.local开机执行
要是谁比较闲,可以把这个教本转成debian专用导启动脚本,放到/etc/init.d/下面用#!/bin/sh
# ls /dev/disk/by-label
# mount --guess-fstype /dev/sda1
devices=$(blkid -o device)
fstab_devices=$(awk '$1 ~ /^\/dev\// {print $1}' /etc/fstab)
fstab_uuids=$(awk 'BEGIN{FS="[\t= ]"} {if($1~/^UUID/) {print $2}}' /etc/fstab | uniq)
fatab_labels=$(awk 'BEGIN{FS="[\t= ]"} {if($1~/^LABEL/) {print $2}}' /etc/fstab | uniq)
fstab_all_devices=
dev_mount=
convert_uuid_label_to_device(){
for var in $fstab_uuids
do
fstab_all_devices="$fstab_all_devices $(blkid -U $var)"
done
for var in $fstab_labels
do
fstab_all_devices="$fstab_all_devices $(blkid -L $var)"
done
fstab_all_devices="$fstab_all_devices $fstab_devices"
fstab_all_devices=$(echo $fstab_all_devices|sed 's# #\n#g'|sort -u)
}
devices_need_mount(){
for vara in $devices
do
local is_break=false
for varb in $fstab_all_devices
do
test "$vara" = "$varb" && is_break=true && break
done
test "$is_break" = "false" && dev_mount="$dev_mount $vara"
done
}
mount_devices(){
for var in $dev_mount
do
unset LABEL UUID UUID_SUB TYPE
for env in $(blkid -o export $var)
do
export $env
done
test -z "$LABEL" && export LABEL=$(echo $var | sed 's#\/dev\/##')
# rmdir --ignore-fail-on-non-empty /media/$LABEL 1&>2 && mkdir /media/$LABEL
/usr/bin/udevil mount -t $TYPE $var /media/$LABEL
done
}
convert_uuid_label_to_device
devices_need_mount
mount_devices
页:
[1]