挂载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 install usbutils fdisk block-mount e2fsprogs blkid

上面的kmod-fs-ext4 等很多安装出现与kernel不一致的提示,使用 --force-depends 进行安装

mkfs.ext4 /dev/sda2 后 mount device 发现如下错误,折腾半天软件reboot也未果

openwrt mount: mounting /dev/sda2 on /mnt failed: Invalid argument

dmesg 发现 y 很多 fat: Unknown symbol __blockdev_direct_IO (err 0)

怀疑这张sd卡是有很多坏道的,在手机上也是时而认时而不认

更换一个新的sd卡

分区保存时

Re-reading the partition table failed.: Invalid argument

原来是因为写成了 fdisk /dev/sda1 而应该是fdisk /dev/sda

mkfs.ext4 /dev/sda2

mkdir /mnt/extroot

mount /dev/sda1 /mnt/extroot

tar -C /overlay -cvf - . | tar -C /mnt/extroot -xf -

umount /mnt/extroot/

[email protected]:/# blkid
/dev/mtdblock2: TYPE="squashfs"
/dev/sda2: UUID="5fb06bd1-12f3-434a-a8b7-12bc89f2f868" TYPE="ext4

block detect > /etc/config/fstab  # block-mount 一定要装,不然不会自动mount  而且block detect 命令没有

vi /etc/config/fstab

[email protected]:~# 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 ‘swap‘
option device ‘/dev/sda1‘
option enabled ‘0‘

config ‘mount‘
option target ‘/overlay‘
# option uuid ‘a6395b9e-1654-4cce-8d65-580b275774d6‘
option uuid ‘786c2745-2ad0-48b1-9c1c-f436d7f0e2c9‘
option enabled ‘1‘

重启后/dev/sda2 on /overlay type ext4 (rw,relatime,data=ordered)

[email protected]:~# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/sda2 on /overlay type ext4 (rw,relatime,data=ordered)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)

[email protected]:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 5443728 21992 5122168 0% /
/dev/root 3328 3328 0 100% /rom
tmpfs 30592 56 30536 0% /tmp
/dev/sda2 5443728 21992 5122168 0% /overlay
overlayfs:/overlay 5443728 21992 5122168 0% /
tmpfs 512 0 512 0% /dev

查看swap

 

为了访问最初的boot目录 ,将它mount到/overlay-boot目录  ,一定要在extroot下创建overlay-boot 一定要在extroot下安装 block-mount,否则/etc/config/fstab 中的内容不执行

config ‘mount‘
option target /overlay-boot
option device /dev/mtdblock3
option fstype jffs2
option options rw,sync
option enable 1
option enabled_fsck 0

参考资料

http://wiki.openwrt.org/doc/howto/extroot

时间: 2024-10-12 09:24:13

挂载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,

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

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系统移植,其实就是一个很裸的根文件系统,后期有空会试着把

ubuntu下制作tiny6410烧写SD卡

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

Android sd卡挂载判断

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

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

挂载镜像SD卡的FAT32文件系统分区到Linux中

首先使用fdisk –l命令查看sd卡的分区息 可以看到,sd卡有三个分区,第一个分区是FAT32系统,主要存放内核img文件和dtb文件,第二个分区是Linux系统分区,第三个分区格式未知,实际是Uboot镜像存放的分区. 挂载FAT32分区到系统中. 首先建立一个文件夹用来挂载该分区 mkdir /sdcard 然后使用mount命令挂载该分区到sdcard路径下 mount –t vfat /dev/mmcblk0p1 /sdcard 然后使用ls命令查看该路径下,可以看到已有的文件. 原