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)的更多相关文章

  1. mdev USB disk auto mount demo

    /********************************************************************* * mdev USB disk auto mount de ...

  2. ubuntu auto mount自动挂载硬盘

    Ubuntu 挂载的文章在网上也不少,推荐一个: http://wenku.baidu.com/link?url=N2c7axijp_KYaYkt2CrZFNZPzzS8xBHLQSTUcI2F85I ...

  3. OpenWrt中开启usb存储和samba服务

    在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...

  4. am335x system upgrade kernel tf(五)

    1      Scope of Document This document describes TF hardware design 2      Requiremen 2.1     Functi ...

  5. openwrt补丁

    http://wiki.openwrt.org/doc/devel/patches 中文文档:http://andelf.diandian.com/post/2013-05-22/4005067737 ...

  6. Centos6下编译LEDE/OpenWrt

    准备工作 1. 安装依赖软件 这是官方文档提供的依赖列表 yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncu ...

  7. linux存储管理之mount挂载

    Mount 挂载详解 ====================================================================================本节内容: ...

  8. Tf中的SGDOptimizer学习【转载】

    转自:https://www.tensorflow.org/api_docs/python/tf/train/GradientDescentOptimizer 1.tf.train.GradientD ...

  9. 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 ...

随机推荐

  1. TCP客户端【TcpClient】

    一.阻塞模式 1.命名空间 System.Net.Sockets 2.对象声明 TcpClient dpu1TcpClient = null;//dpu1tcp客户端,TcpClient模式 Netw ...

  2. 区间内x的出现个数(主席树)

    题目大概:求区间内x出现的次数 出题人yjy Description ZJK 给你一个长度为 n 的数列和 m 次询问,每次询问从第 l 个到第 r 个数中,数 x 出现了多少次.Input第一行一个 ...

  3. C++中find()函数和rfind()函数的用法

    本文转载自http://blog.csdn.net/youxin2012/article/details/9162415 string中 find()的应用  (rfind() 类似,只是从反向查找) ...

  4. poj 2481 Cows(树状数组)题解

    Description Farmer John's cows have discovered that the clover growing along the ridge of the hill ( ...

  5. C++中的也能使用正则表达式----转载

    转自:https://www.cnblogs.com/ittinybird/p/4853532.html, 以作笔记. 正则表达式Regex(regular expression)是一种强大的描述字符 ...

  6. hdu 6020 MG loves apple 恶心模拟

    题目链接:点击传送 MG loves apple Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Ja ...

  7. python 压缩tar 包

    import tarfile import os def make_targz(output_filename, source_dir): print("doing!") with ...

  8. python 日期输出附带毫秒

    def get_time_stamp(ct): local_time = time.localtime(ct) data_head = time.strftime( time_stamp = &quo ...

  9. Springboot 编码规范

    1.规范的意义和作用 编码规范可以最大限度的提高团队开发的合作效率 编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 编码规范可以 ...

  10. MongoDB(课时8 模运算)

    3.4.2.3 求模 模运算使用“$mod”来完成,语法: {$mod : [除数,余数]} 范例:求模 db.students.find({"age" : {"$mod ...