这里面的根目录下的 sdb1 就是我们 U 盘或者 TF 卡的设备,它挂载到了 /run/media/sdb1 这个路径上大家也可以把我们的U盘或者 TF卡拔下来对比下,然后我们进到这个路径,直接使用 cd /run/media/sdb1 我们就可以看到 hello 这个可执行文件了,如下图所示。
我们可以直接使用 cp 命令把它拷贝到开发板 opt 目录下,输入 cp hello /opt 然后我们进到根目录的opt 目录下,输入 cd /opt 我们可以运行下 hello 这个可执行文件,我们先给他改下权限,改成 777 输入chmod 777 hello ,我们运行下./hello,这样他就打印了 hello world! 如下图所示。
因为我这里给开发板烧写的是 yocto 的文件系统,yocto 文件系统是自动挂载 U 盘和 TF 卡的。什么是自动挂载呢,自动挂载就是不用再手动使用命令把我们的 U 盘或者是 TF 卡挂载到我们的挂载点上,即自动帮你完成挂载到 /run/media/sdb1 这个路径上,但是有的文件系统不会自动帮你挂载,比如说 busyboxy 、buildroot 默认是不会帮你自动挂载的,我们就可以手动先来挂载下,我把开发板的文件系统烧写成 busybox文件系统,烧写过程就不给大家演示了,然后我们再来看下,我们要怎么使用命令来挂载。我现在给开发板烧写好了 busybox 文件系统,然后我插上 U 盘,插上 U 盘之后,他会弹出来一些打印信息,我们可以通过这个打印信息就可以知道识别出来的是 dev 下边的哪个设备,他这里识别的是 sdb1 。如下图所示。
然后我使用 df 命令,下面是没有自动挂载我们 dev 下边 sdb1 设备的,如下图所示。
这时候我们就要使用手动挂载,手动挂载我们使用的是 mount 命令,我们输入这个命令 ,
mount 设备名称 挂载点 ,
设备的名称是 dev 下边的 sdb1 ,
我们把它挂载到 mnt 路径,也就是我们的挂载点是 mnt ,如下图所示。
mount /dev/sdb1 /mnt
mnt 的作用我们在之前 fsh 规范的时候已经讲过了,然后我们再使用 df 命令,我们再来查看下,这里就多了一个设备,如下图所示。
然后它挂载到了 mnt 上,然后我们进到 mnt 这个命令,ls 看一下,这里面就有 hello 这个可执行程序,如下图所示。
所以说这个目录下就是我们 U 盘的目录,我们可以把 hello 拷贝到开发板上,我们把它拷贝到根目录下,然后我们来运行下也是没有问题的,如下图所示。
有的文件系统是不会给你弹出来打印信息的,这时候我们要怎么确定他识别出来的是 dev 下边哪个设备呢,比如说 ubuntu 你插上 U 盘之后,他是没有打印信息的,这时候就不知道是 sda1 还是 sdb1 ,我们可以使用 cat 命令查看下准确信息,我们直接使用这个命令,他下边的 sdb1 就是我们的 U 盘,如下图所示。
我们可以拔掉 U 盘,然后我们再来查看下,他就没有这个 sdb1 了,所以说这个分区信息就是 U 盘的,如下图所示。
然后我们在插上他。我们这里 TF 卡连接到开发板也使用读卡器连接的
连接好了之后,第一步先使用 df 命令查看下我们当前的文件系统是不是自动挂载的 U 盘或者 TF 卡,如果不是自动挂载的,我们要用 mount 命令来挂载一下。如下图所示。
mount 命令格式 :
mount 设备名称 挂载点
使用 mount 命令我们要先确定我们的设备名称,这个设备名称就是 dev 下边的 sdb1 ,mnt 是挂载点mount /dev/sdb1 /mnt
设备名称的确定我们可以通过打印信息来查看,如果插上没有打印信息,我们可以使用 cat 命令来查看下分区信息,输入
cat /proc/partitions
如果我们的 U 盘或者 TF 卡时自动挂载的,我们接下来直接访问就可以了。
我们要怎么卸载呢,我们使用的是 umount 命令,
卸载命令:umount 命令
格式:umount 挂载点
我现在卸载掉 U 盘挂载的 mnt 这个挂载点,我们直接输入 umount ,后边跟我们的挂载点就可以了,我们输入 umount /mnt
卸载后,我们来查看下,这里就没有我们 dev/sda1 挂载的 mnt 这个挂载点了,如下图所示。
TF 卡直接和卡座连接
开发板上也预留了 TF 卡座子给大家,我们可以不使用读卡器和开发板连接,直接把 TF 插到我们的开发板 TF 卡座子上,如下图所示。刚刚我已经把 U 盘拔下来了,作者现在把 TF 卡插到这个座子
然后我们看下,我们在超级终端就打印出了我们插上 TF 卡之后的打印信息。如下图所示。
我们按照刚刚学到的,我们第一步要判断下他有没有给我们自动挂载,使用 df 命令,显然他这里是没有给我们自动挂载的。如下图所示。
我就要使用 mount 命令手动挂载一下,我先要确定我设备的名称,设备的名称我这里可以通过打印信息来确定,他这里打印的是 mmcblk0:p1 ,如下图所示。
我们使用 mount /dev/mmcblk0p1 /mnt 然后在使用 df 命令来查看下,我们 TF 卡就挂载到了 mnt 这个挂载点,我们使用 cd /mnt 直接访问就可以了,ls 看到 TF 卡里的信息,这个是 TF 卡自带的一个文件和 hello文件,如下图所示。
使用 U 盘或者 TF 卡拷贝文件到开发板上,我们一般是在开发板没有预留出网口等其他接口的时候,我们使用这个办法来拷贝,因为比较麻烦。
我们来总结下,第一步要保证 U 盘或者 TF 卡的格式为 FAT32 格式,我们把文件或者是程序拷贝到 U盘或者 TF 卡之后,连接到开发板上,连接好之后我们要先确定我们的开发板上有没有自动挂载,使用 df命令来查看,如果他是自动挂载的,我们直接访问挂载的路径就可以了,如果不是自动挂载的,我们要使用 mount 命令手动挂载,使用 mount 命令我们要确定设备的名称,确定设备的名称我们可以通过打印信息来确定,如果没有打印信息,我们可以通过查看分区信息命令来确定,然后我们手动挂载上之后就可以直接访问我们的挂载点也就是访问我们的 U 盘或者 TF 卡了,这个思路并不难,大家可以自己体验下。