基于RK3568的U盘自动挂载功能(矿鸿操作系统)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

基于RK3568,实现U盘自动挂载


一、 udev 规则

udev 是一个非常灵活的系统,它可以让用其它系统很少敢提供给用户的方式去定义规则和功能。
https://linux.cn/article-10329-1.html

二、使用步骤

1.udev规则文件

010.rules如下:

KERNEL=="sd[a-z]*", SUBSYSTEM=="block", ACTION=="add", RUN+="/etc/udev/rules.d/010_save.sh usb %k"
KERNEL=="sd[a-z]*", SUBSYSTEM=="block", ACTION=="remove", RUN+="/etc/udev/rules.d/010_save.sh usb %k", OPTIONS="last_rule"

2.执行脚本

010_save.sh如下:

#! /bin/sh

if [ $# -ne 2 ] ; then  #args
    exit 1
fi

MNT_PATH=/mnt/sda/        #mount
#DEV_PRE=$1             #arg1:
DEV_NAME=$2             #arg2:/dev
FS_TYPE=vfat            #type

if [ $ACTION == "add" ] ; then
#add
#   echo "=======add==========" >> /media/udev.txt
    /bin/mkdir -p $MNT_PATH
    /bin/mount /dev/block/$DEV_NAME $MNT_PATH
    if [[ $? -ne 0 ]] ; then 
        echo "mount $DEV_NAME fialed" >> /mnt/udev.txt
        /bin/rmdir $MNT_PATH   
    fi
elif [ $ACTION == "remove" ] ; then 
#   echo "=======remove==========" >> /media/udev.txt
#remove
    if [[ -e  $MNT_PATH ]] ; then 
        /bin/umount -l  $MNT_PATH
        /bin/rmdir  $MNT_PATH
    fi
fi

exit 0

3.系统启动调用脚本

UpanAutoMount.sh:

#! /bin/sh
echo "****************auto mount config*************************"
mount -o rw,remount /

chmod 777 /vendor/etc/firmware/010*

cp -r /vendor/etc/firmware/010* /etc/udev/rules.d/
sleep 1
/bin/udevadm control --reload #没有重加载指令需要重启
if [ -e "/dev/block/sda" ];then
    echo "already has , please check."
    mkdir -p /mnt/sda/
    /bin/mount /dev/block/sda /mnt/sda/
else
    echo "do not has"
fi

矿鸿系统启动后,会执行脚本
code/device/***/build/rootfs/3568T_drivers_load_service.sh
此脚本在配置脚本启动
在这里插入图片描述


总结

在3568T_drivers_load_service.sh脚本增加如下配置
chmod +x ***/UpanAutoMount.sh
sh /vendor/etc/firmware/UpanAutoMount.sh

插入u盘后,df -h可以看到挂载

注意这个指令
udevadm control --reload #没有重加载指令需要重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值