Openwrt TF Card Auto Mount&Check (4)
1 Scope of Document
This document describes tf card bootup auto do file system check when mount tf card
2 Requiremen
2.1 Function Requirement
Auto do fsch and mount tf card.
2.2 Performance Requirement
NA
3 Hardware Overview
NA
4 Functional Description
4.1 Functional Block Diagram
NA
5 Porting
5.1 Kernel configure
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7628=y
CONFIG_TARGET_ramips_mt7628_Default=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUSYBOX_CONFIG_FDISK=y
CONFIG_BUSYBOX_CONFIG_FEATURE_AIX_LABEL=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_GPT_LABEL=y
CONFIG_BUSYBOX_CONFIG_FEATURE_OSF_LABEL=y
CONFIG_BUSYBOX_CONFIG_FEATURE_SGI_LABEL=y
CONFIG_BUSYBOX_CONFIG_FEATURE_SUN_LABEL=y
CONFIG_BUSYBOX_CONFIG_MICROCOM=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_comgt=y
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_kmod-crypto-core=y
CONFIG_PACKAGE_kmod-crypto-hash=y
CONFIG_PACKAGE_kmod-fs-ext4=y
CONFIG_PACKAGE_kmod-fs-vfat=y
CONFIG_PACKAGE_kmod-lib-crc16=y
CONFIG_PACKAGE_kmod-mmc=y
CONFIG_PACKAGE_kmod-nls-cp437=y
CONFIG_PACKAGE_kmod-nls-iso8859-1=y
CONFIG_PACKAGE_kmod-nls-utf8=y
CONFIG_PACKAGE_kmod-scsi-core=y
CONFIG_PACKAGE_kmod-scsi-generic=y
CONFIG_PACKAGE_kmod-sdhci=y
CONFIG_PACKAGE_kmod-sdhci-mt7620=y
CONFIG_PACKAGE_kmod-usb-serial=y
CONFIG_PACKAGE_kmod-usb-serial-option=y
CONFIG_PACKAGE_kmod-usb-serial-wwan=y
CONFIG_PACKAGE_libext2fs=y
CONFIG_PACKAGE_libuuid=y
CONFIG_PACKAGE_luci-proto-3g=y
[ 5.140000] MTK MSDC device init.
[ 5.180000] mtk-sd: MediaTek MT6575 MSDC Driver
[ 5.180000] sdhci: Secure Digital Host Controller Interface driver
[ 5.180000] sdhci: Copyright(c) Pierre Ossman
[ 5.180000] sdhci-pltfm: SDHCI platform and OF driver helper
[ 5.290000] mmc0: new high speed SDHC card at address 0007
[ 5.290000] mmcblk mmc0:0007: no of_node; not parsing pinctrl DT
[ 5.290000] mmcblk0: mmc0:0007 SD16G 14.5 GiB
[ 5.300000] mmcblk0: p1
5.2 System configure
Reference: https://openwrt.org/docs/techref/block_ mount?s[]=auto&s[]=mount
root@OpenWrt:~# cat /etc/config/fstab
config global
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config mount
option target '/mnt/'
option device '/dev/mmcblk0p1'
option enabled '1'
option enabled_fsck '1'
Create patch for auto mount tfcard and do fsck when mount tf card.
Trunk/package/system/fstools/patches/001-support-auto-mount-and-fsck-tf-card.patch
@@ -542,6 +542,7 @@ static int print_block_info(struct blkid
return 0;
}
+#if 0
static int print_block_uci(struct blkid_struct_probe *pr)
{
if (!strcmp(pr->id->name, "swap")) {
@@ -558,6 +559,7 @@ static int print_block_uci(struct blkid_
return 0;
}
+#endif
static struct blkid_struct_probe* find_block_info(char *uuid, char *label, char *path)
{
@@ -1230,9 +1232,9 @@ static int main_umount(int argc, char **
static int main_detect(int argc, char **argv)
{
- struct blkid_struct_probe *pr;
+ //struct blkid_struct_probe *pr;
- cache_load(0);
+ //cache_load(0);
printf("config 'global'\n");
printf("\toption\tanon_swap\t'0'\n");
printf("\toption\tanon_mount\t'0'\n");
@@ -1240,8 +1242,13 @@ static int main_detect(int argc, char **
printf("\toption\tauto_mount\t'1'\n");
printf("\toption\tdelay_root\t'5'\n");
printf("\toption\tcheck_fs\t'0'\n\n");
- list_for_each_entry(pr, &devices, list)
- print_block_uci(pr);
+ //list_for_each_entry(pr, &devices, list)
+ // print_block_uci(pr);
+ printf("config 'mount'\n");
+ printf("\toption\ttarget\t'/mnt/'\n");
+ printf("\toption\tdevice\t'%s'\n", "/dev/mmcblk0p1");
+ printf("\toption\tenabled\t'1'\n");
+ printf("\toption\tenable_fsck\t'1'\n\n");
return 0;
}
Equivalently add follow option in /etc/config/fstab
option target /mnt/ à set mount point
option device /dev/mmcblk0p1 à set tf card device interface
option enabled 1 -> default enable auto mount function
option enable_fsck 1 à default enable fsck function
Openwrt TF Card Auto Mount&Check (4)的更多相关文章
- mdev USB disk auto mount demo
/********************************************************************* * mdev USB disk auto mount de ...
- ubuntu auto mount自动挂载硬盘
Ubuntu 挂载的文章在网上也不少,推荐一个: http://wenku.baidu.com/link?url=N2c7axijp_KYaYkt2CrZFNZPzzS8xBHLQSTUcI2F85I ...
- OpenWrt中开启usb存储和samba服务
在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...
- am335x system upgrade kernel tf(五)
1 Scope of Document This document describes TF hardware design 2 Requiremen 2.1 Functi ...
- openwrt补丁
http://wiki.openwrt.org/doc/devel/patches 中文文档:http://andelf.diandian.com/post/2013-05-22/4005067737 ...
- Centos6下编译LEDE/OpenWrt
准备工作 1. 安装依赖软件 这是官方文档提供的依赖列表 yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncu ...
- linux存储管理之mount挂载
Mount 挂载详解 ====================================================================================本节内容: ...
- Tf中的SGDOptimizer学习【转载】
转自:https://www.tensorflow.org/api_docs/python/tf/train/GradientDescentOptimizer 1.tf.train.GradientD ...
- Flash OS images to SD cards & USB drives & TF cards safely and easily using etcher
install tools: wget https://github.com/resin-io/etcher/releases/download/v1.4.5/etcher-cli-1.4.5-lin ...
随机推荐
- 20145328《网络对抗技术》Final
系内选拔赛write-up 1 信息隐藏 第一题图片藏东西,后缀名改txt,没有发现,改rar,发现压缩包内存在key.txt,解压提示存在密码,尝试使用修复,得到key.txt,打开获取flag,S ...
- 20145329 《网络对抗技术》客户端Adobe阅读器渗透攻击
两台虚拟机: kali ip:192.168.96.130 windows xp sp3 ip:192.168.96.133 1.kali下打开显示隐藏文件 2.在kali终端中开启msfconsol ...
- 探索Java8:(二)Function接口的使用
Java8 添加了一个新的特性Function,顾名思义这一定是一个函数式的操作.我们知道Java8的最大特性就是函数式接口.所有标注了@FunctionalInterface注解的接口都是函数式接口 ...
- shell:遍历目录和子目录的所有文件及匹配文件内容到日志
过滤文件内网 #!/bin/bash function getdir(){ ` do dir_or_file=$"/"$element if [ -d $dir_or_file ] ...
- [Pytorch]深度模型的显存计算以及优化
原文链接:https://oldpan.me/archives/how-to-calculate-gpu-memory 前言 亲,显存炸了,你的显卡快冒烟了! torch.FatalError: cu ...
- Source not found :Edit Source Lookup Path 解决方案
作者原创,转载请注明转载地址 在eclipse中用debug调试的时候,出现了以下问题,很是尴尬,经常碰到,所以有必要进行总结一下: 对该问题有两种解决方案, 一种比较文明:解决方法可参考如下网址: ...
- cropper图片剪裁 , .toBlob()报错
问题描述: 使用 cropper.js 剪裁图片时, 调用 toBlob() 方法报错 $("#image").cropper('getCroppedCanvas').toBlob ...
- Cocos2d-x学习笔记(九)场景切换
这里只介绍两个简单的两个场景相互切换的方法. void pushScene(Scene *sn)和void popScene(Scene *sn)是一对.前者将当前场景放入到场景堆栈中,并切换到下一个 ...
- nohup 与 &
&的意思是在后台运行, 什么意思呢? 意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C, 那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...
- js获取url 参数
window.getRequest = function (url) { var theRequest = new Object(); var indexOf = url.indexOf(" ...