CH06 ZYNQ LINUX自动挂载EMMC5.1概述 EMMC 内存是直接焊接在PCB 板上的,因此不能像TF 卡那样方便的通过插入USB 接 口进行分区格式化。在第一次使用的时候,首先要分区,然后格式化,最后挂载到系统。 本课程承接上一课程,请读者学习的时候注意学习顺序。(MZ701Amini 没有EMMC 所以 跳过此课程) 5.2 S60mount_emmc.sh
首先看下已经编写好的S60mount_emmc.sh 文件。可以看到执行mount_emmc.sh 批处理命令,首 先是在根目录下创建emmc 文件夹路径。之后再把ext2 格式的EMMC 挂在到/mnt/emmc.。如果开机发现没有分区,就会分区后格式化,再挂载 # # Start mount emmc.... # case "$1" in start) echo "开始挂载EMMC,创建路径/mnt/emmc" mkdir -p /mnt/emmc mount -t ext2 /dev/mmcblk1p1 /mnt/emmc ret=$? if [ $ret -ne 0 ]; then echo "EMMC正在格式化..." echo -e "n \n p \n 1 \n \n \n w \n" | fdisk /dev/mmcblk1 mkfs.ext2 /dev/mmcblk1p1 mount -t ext2 /dev/mmcblk1p1 /mnt/emmc fi echo "挂载成功!" ;; stop) ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit $? | 5.3 make_rootfs.sh
修改make_rootfs.sh批处理命令 通过sudo cp ${script_dir}/S60mount_emmc.sh /${ZN_ROOTFS_MOUNT_POINT}/etc/init.d/S60mount_emmc.sh 复制S60mount_emmc.sh文件到开机自动启动的路径下。 5.4 编译
之后执行以下指令 cd /mnt/workspace/osrc/scripts source settings64.sh make_rootfs.sh 执行完成后查看ramdisk文件系统是否有S60mount_emmc.sh文件了 执行以下指令 mount_roots.sh 查看路径 ls /mnt/workspace/osrc/boards/mz7x/mylinux/output/rootfs/etc/init.d 可以看到S60mount_emmc.sh已经存在于ramdisk中了 执行 umount_rootfs.sh 然后执行 make_sdcard_image.sh 插入SD卡后执行 deploy_sdcard_image.sh 5.4 测试
拔掉TF卡插入到开发板,开发板以SD启动模式,接通USB串口,打开putty软件查看串口输出,通电。可以看到EMMC挂载成功了。
|