1.nfs挂载(由于使用范围不广,没写在/etc/profile中)
#!/bin/sh
#脚本描述:
# 1)功能:挂载(nfs)至默认或指定ip(默认网段为10.0.0.*)
# 2)参数:a)无参数时,目标ip默认为10.0.0.110
# b)只有一个参数时,该参数即目标ip(只需十分点位表示法的最后一部分)
# c)多于一个参数时,报错退出
# 3)尚存问题:a)缺少对参数合法性的检查
var="10.0.0."
case $# in
"0")
var=${var}110
;;
"1")
var=${var}$1
;;
*)
echo ">>>>>> too many args"
exit 1
;;
esac
ping -c 1 -W 2 ${var} > /dev/null \
&& { \
mount -o nolock -o tcp ${var}:/nfsboot /mnt; \
echo ">>>>>> mount ${var} succeed"; \
} \
|| echo ">>>>>> mount ${var} failed (Ping timed out)"2.alsa配置
#!/bin/sh
#脚本描述
# 1)功能:自动配置alsa环境, 若配置过程中找不到对应目录或发现已有alas目录(${alsa_root)),则退出
# 2)参数:无
# 3)尚存问题:a)是否有类似session的东西,支持回滚
alsa_root="/usr/share/arm-alsa"
rcs="/etc/init.d/rcS"
profile="/etc/profile"
if [ -d "/mnt/arm-alsa" ]; then
cp -r /mnt/arm-alsa /usr/share
else
echo ">>>>>> Can't find /mnt/arm-alsa (failed)"
exit 1
fi
cp -r ${alsa_root}/lib/* /lib
cp -r ${alsa_root}/bin/* /usr/sbin
cp -r ${alsa_root}/sbin/* /usr/sbin
if [ -f "${rcs}" ]; then
search_result=$(grep "mkdir /dev/snd" ${rcs})
if [ -z "${search_result}" ]; then
echo "mkdir /dev/snd" >> ${rcs}
echo "ln /dev/controlC0 /dev/snd/controlC0" >> ${rcs}
echo "ln /dev/pcmC0D0c /dev/snd/pcmC0D0c" >> ${rcs}
echo "ln /dev/pcmC0D0p /dev/snd/pcmC0D0p" >> ${rcs}
echo "ln /dev/timer /dev/snd/timer" >> ${rcs}
echo "amixer cset numid=86 2" >> ${rcs}
echo "amixer cset numid=87 2" >> ${rcs}
fi
else
echo "Can't find ${rcs} (failed)"
exit 1;
fi
if [ -f "${profile}" ]; then
search_result=$(grep "ALSA_CONFIG_PATH" ${profile})
if [ -z "${search_result}" ]; then
echo "ALSA_CONFIG_PATH=${rcs}/share/arm-alsa/alsa.conf" >> ${profile}
fi
else
echo ">>>>>> Can't find ${profile} (failed)"
exit 1;
fi
echo ">>>>>> ALSA has been configured successfully"
echo ">>>>>> Reboot now"
sleep 2
reboot
本文介绍了一个用于nfs挂载的shell脚本,适用于默认或指定ip(默认网段为10.0.0.*)的场景。同时,提供了一个自动配置alsa环境的脚本,包括复制alsa目录下的文件到相应位置,确保环境正确设置。
1518

被折叠的 条评论
为什么被折叠?



