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

Ale*_*man 5 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
Run Code Online (Sandbox Code Playgroud)

我还添加到 fstab 文件中:

/dev/mmcblk0p1    /media/card     auto     auto,rw,async,user,nofail  0  0
Run Code Online (Sandbox Code Playgroud)

检查文件系统的一些结果,我的驱动器称为“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_
Run Code Online (Sandbox Code Playgroud)

以下是有关 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)
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。我认为由于这是与 Linux 相关的问题,因此该问题适用于 SO,如果在 SE 中更好,请告诉我。

Ale*_*man 2

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

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

/dev/mmcblk1p1       /media/card          auto       rw     0  0
Run Code Online (Sandbox Code Playgroud)

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

mmcdev=1
bootpart=1:2
mmcroot=/dev/mmcblk0p2 ro
optargs=quiet
Run Code Online (Sandbox Code Playgroud)

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

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk1p1            2048    31115263    15556608    c  W95 FAT32 (LBA)
Run Code Online (Sandbox Code Playgroud)