使用SD卡作为Beaglebone Black的外部存储器

时间:2015-06-16 01:45:23

标签: linux microcontroller beagleboard

按照此处的说明操作后:

http://elinux.org/Beagleboard:MicroSD_As_Extra_Storage

在这里:

http://electronicsembedded.blogspot.com/2014/10/beaglebone-black-using-sd-card-as-extra.html?showComment=1434418179676#c2761158033046523777

我仍然遇到麻烦。我使用它所说的代码并按照说明操作,在插入SD时加载时,我在电路板上得到3个实心LED,而Windows 7根本没有检测到它。

如果没有插入SD,电路板工作正常,我可以启动并通过SSH登录,Windows会检测到它。

我的uEnv.txt代码如下:

mmcdev=1
bootpart=1:2
mmcroot=/dev/mmcblk1p2 ro
optargs=quiet

我也加入了fstab文件:

/dev/mmcblk0p1    /media/card     auto     auto,rw,async,user,nofail  0  0

检查文件系统的一些结果,我的驱动器被称为'BBB_Ext'。这是在没有SD的情况下启动之后,然后在启动后将其放入:

root@beaglebone:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          3.5G  1.8G  1.5G  55% /
/dev/root       3.5G  1.8G  1.5G  55% /
devtmpfs        250M     0  250M   0% /dev
tmpfs           250M  4.0K  250M   1% /dev/shm
tmpfs           250M  248K  250M   1% /run
tmpfs           250M     0  250M   0% /sys/fs/cgroup
tmpfs           250M  4.0K  250M   1% /tmp
/dev/mmcblk0p1   70M   54M   16M  78% /media/card
/dev/mmcblk1p1   15G   16K   15G   1% /media/BBB_Ext_

以下是有关fdisk的更多详细信息:

root@beaglebone:~# fdisk -l

Disk /dev/mmcblk0: 3867 MB, 3867148288 bytes, 7553024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *          63      144584       72261    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          144585     7550549     3702982+  83  Linux

Disk /dev/mmcblk0boot1: 2 MB, 2097152 bytes, 4096 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mmcblk0boot0: 2 MB, 2097152 bytes, 4096 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mmcblk1: 15.9 GB, 15931539456 bytes, 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk1p1            2048    31115263    15556608    c  W95 FAT32 (LBA)

任何帮助将不胜感激。我想因为这与Linux有关,所以这个问题适用于SO,如果它在SE中更好,请告诉我。

2 个答案:

答案 0 :(得分:3)

对于我得到的,uEnv.txt应该(保存在你的SD卡上):

mmcdev=1
bootpart=1:2
mmcroot=/dev/mmcblk1p2 ro 
optargs=quiet

在/ etc / fstab

中添加以下行
/dev/mmcblk0p1    /media/data      auto   rw   0 0

答案 1 :(得分:1)

好的我相信我解决了这个问题(对于任何关心的人)

在查看fdisk日志后,我意识到我需要将fstab行更改为:

/dev/mmcblk1p1       /media/card          auto       rw     0  0

然后我还将uEnv.txt更改为:

mmcdev=1
bootpart=1:2
mmcroot=/dev/mmcblk0p2 ro
optargs=quiet

根据我的理解,它试图从不存在的磁盘启动并导致问题。另外,我没有将fstab修复为驱动器的正确端口,可以在fdisk检查的底部看到:

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk1p1            2048    31115263    15556608    c  W95 FAT32 (LBA)