OpenWrt自动挂载sd卡

我们在编译的时候经常会遇到flash不够用的问题,怎么解决呢?可以通过挂载usb或者sd卡解决问题。在此介绍一下openwrt挂载sd卡。


1. 安装sd卡的驱动以及相关支持

 make kernel_menuconfig

Device Drivers —> MMC/SD/SDIO card support —>

找到该目录

如图在相关选项前打上”*”号

保存并退出

接下来make menuconfig

Kernel modules —>Native Language Support —>

找到该目录如图选择相关选项

Kernel modules –> Other modules —>

找到该目录选择相关选项(如图)

kmod-mmc 、kmod-mmc-over-gpio、kmod-sdhci、kmod-sdhci-7620这四个

OK,现在可以保存并退出了

接下来make V=s,等待编译。


2.编译完成后将.bin文件烧写至路由器内,通过ssh连接至路由器

(1)dmesg,查看当前是否有识别sd卡





(2)fdisk -l ,查看当前硬盘个数和设备名称





如图可以看到我的sd卡名称是mmcblk0

(3)接下来进行sd卡的挂载

mkdir -p /mnt/mmcblk0
mount /dev/mmcblk0 /mnt/mmcblk0

在挂载的过程中可能会遇到这样的问题

 failed: Invalid argument

如果遇到这样的问题,就把你的sd卡格式化成你所识别的格式

openwrt 格盘

opkg update

opkg install e2fsprogs    #安装格盘软件

mkfs.ext4 /dev/sda1       #格etx4

mkfs.ext3 /dev/sda1       #格etx3

mkfs.ext2 /dev/sda1       #格etx2

格式化好之后再进行挂载

OK!挂载成功!!!


3.说到这里,就不得不说热插拔事件的自动挂载问题

对于openwrt来说,开机自启的命令一般放在rc.local这个文件中,OK,那么现在我们就来写一个脚本来实现sd卡的开机自动挂载。



(1)

vim insert_sd.sh

这是该脚本的内容

#!/bin/sh

PATH="/mnt/mmcblk0"
PATH_DEV="/dev/mmcblk0"

if [ -b "$PATH_DEV" ] ;then
    if [ ! -d "$PATH" ]; then
        /bin/mkdir -p $PATH
    fi
    /bin/mount -t vfat $PATH_DEV $PATH
fi

这个脚本很简单,相信大家都能看懂,在openwrt中一些脚本都会放在/sbin/这个目录下,所以,将我们写的这个脚本放进去。

package/base-files/files/sbin

这个是放脚本的目录,放进去就可以了。



(2)在rc.loacl文件中添加开机执行命令(这个文件在package/base-files/files/etc下)

/sbin/insert_sd.sh &

将该命令写进去,保存并编译

至此,就可以实现openwrt上sd卡的自动挂载了!!!!!!

时间: 2024-11-07 21:22:34

OpenWrt自动挂载sd卡的相关文章

linux挂载SD卡

(1)通过#fdisk -l命令确认板子上的linux系统是否识别SD卡 MP805M板子插入SD卡后显示 SD30 slot is without WPmmc1: new high speed SD card at address 5bc0mmcblk0: mmc1:5bc0 SD02G 1.83 GiB mmcblk0: p1 [/]# fdisk -l Disk /dev/mtdblock0: 1 MB, 1179648 bytes255 heads, 63 sectors/track,

挂载SD卡

1. 安装必要的包 [email protected]:/# opkg install kmod-usb-core kmod-usb-ohci kmod-usb-uhci kmod-usb2[email protected]:/# opkg install kmod-usb-storage kmod-usb-storage-extras kmod-fs-ext4 kmod-fs-vfat kmod-nls-utf8 kmod-nls-cp437[email protected]:/# opkg

ubuntu下制作tiny6410烧写SD卡

被这一件小事折腾了三天,原来是因为我用的是储存卡+卡套的方式进行烧录,一直不成功,结果今天借了一个大SD卡就成功了,记录一下烧写过程. tiny6410光盘里面并没有提供一键烧写SD卡的脚本,但是烧写过程却足够简单,几个命令下去就烧写成功了. 首先准备一个已经备份好资料的SD卡 将光盘里面提供的superboot2011xxxx.bin烧进去 sudo dd iflag=dsync oflag=dsync if=xxx/superboot2011xxxx.bin of=/dev/sdb seek

Linux下U盘、SD卡挂载与卸载

1.手动挂载/卸载U盘.SD卡 对于ARM Linux来说,第一次使用U盘或SD时,U盘这个文件目录是不能直接进入的,我们需要对其进行挂载,然后再接下来的使用中就可以直接进行使用了.通过再网上查资料,现将U盘在Liunx下的挂载方法记录下来: step1:插入SD卡,如果能够识别出SD卡,则会打印出一些信息 [cpp] view plain copy mmc0: new high speed SDHC card at address 1234 mmcblk0: mmc0:1234 SA08G 7

[i.MX6q]i.MX6q处理器,linux操作系统平台搭建 从SD卡启动系统

转自:http://www.07net01.com/linux/2016/02/1232094.html 参照1:http://blog.csdn.net/girlkoo/article/details/44536447 参照2:http://blog.csdn.net/girlkoo/article/details/44626011 2017-02-04 22:52:54 目录: 本文的目的是,完成一个从sd卡启动的一个纯净版的linux系统移植,其实就是一个很裸的根文件系统,后期有空会试着把

linux下实现U盘和sd卡的自动挂载

<span style="font-family:Arial, Helvetica, sans-serif;"><strong>目的:使U盘和sd卡在linux系统中进行插入和拔除时能自动挂载和卸载,不需要手动mount和umount.</strong></span> <span style="font-family:Arial, Helvetica, sans-serif;"><strong>

嵌入式linux 实现mdev SD卡和U盘自动挂载和卸载的方法 mdev.conf

首先先参考这些博客做一些了解:http://linux.chinaunix.net/techdoc/install/2009/11/18/1144936.shtml http://www.cnblogs.com/leaven/archive/2010/09/17/1828896.html,也可百度mdev.conf查看其他文章. 内核务必要支持mdev和hotplug功能. etc目录下要有这个文件mdev.conf,内容如下(其他的类似): sd[a-z][0-9] 0:0 666 @/etc

arm Linux 如何自动检测并mount SD卡,以及如何得知已经mount

一.土八路做法: SD 卡一旦插入系统,内核会自动在/dev/下创建设备文件:sdcard. 但有时可能时用户在拨出卡前并没有umount的话,第二次插卡进去后系统创建的就不是sdcard设备文件了,而是mmcblk0, mmcblk1p1, mmcblk2p1, 或mmcblk3p1. 所以只需用if ( fopen("/dev/sdcard", "r") == NULL ) 来检测SD卡是否已经被内核捉到.然后就可以mount ....以及你想干的事情了. 如何

Android sd卡挂载判断

Android区分SD卡是不是现已挂载的方法有哪些?本文介绍了Android区分SD卡是不是现已挂载的方法,触及Android监听方法BroadcastReceiver的有关运用窍门,具有必定参看学习价值,需求的朋友可以参看下 这篇文章实例叙说了Android区分SD卡是否已挂载的方法.现在跟同麦子学院的android开发老师来看看: 供应一个监听方法BroadcastReceiver 设置IntentFilter为: Intent.ACTION_MEDIA_MOUNTED  Intent.AC