whilebreak

CH06 ZYNQ LINUX自动挂载EMMC

0
阅读(3257)

版本信息:

版本

REV2018

时间

05/22/2018

XILINX ZYNQ LINUX

基于米联MZ7X系列

电子版自学资料

常州一二三电子科技有限公司

溧阳米联电子科技有限公司

版权所有

米联客学院04QQ群:516869816

米联客学院03QQ群:543731097(半满)

米联客学院02QQ群:86730608(满)

米联客学院01QQ群:34215299(满)

版本

时间

描述

Rev2018

2018-05-22

采用批处理文件,自动化管理,侧重基础和应用

感谢您使用米联客ZYNQ系列开发板,以及配套教程。本教程将对之前编写的《修炼秘籍》部分内容做出改进,并且增加新的课程内容。本教程不仅仅适合用于米联客开发板,而且可以用于其他的ZYNQ开发板。

软件版本:VIVADO2017.4(提供安装好环境的虚拟机)

版权声明:

本手册版权归常州一二三电子科技有限公司/溧阳米联电子科技有限公司所有,并保留一切权利,未经我司书面授权,擅自摘录或者修改本手册部分或者全部内容,我司有权追究其法律责任。

版主大神们都等着大家去提问--电子资源论坛 www.osrc.cn

扫描以下二维码注册论坛:www.osrc.cn

clip_image002

微信公众平台:电子资源论坛

clip_image004
目录

XILINX ZYNQ LINUX............................................................................................................................... 1

基于米联MZ7X系列..................................................................................................................................... 1

CH06 自动挂载EMMC.................................................................................................................................... 5

5.1概述.................................................................................................................................................... 5

5.2 S60mount_emmc.sh.............................................................................................................................. 5

5.3 make_rootfs.sh..................................................................................................................................... 5

5.4 编译................................................................................................................................................... 6

5.4 测试................................................................................................................................................... 6


CH06 ZYNQ LINUX自动挂载EMMC

5.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文件到开机自动启动的路径下。

clip_image006

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中了

clip_image008

执行

umount_rootfs.sh

然后执行

make_sdcard_image.sh

插入SD卡后执行

deploy_sdcard_image.sh

5.4 测试

拔掉TF卡插入到开发板,开发板以SD启动模式,接通USB串口,打开putty软件查看串口输出,通电。可以看到EMMC挂载成功了。

clip_image010