SOM-TL138Linux SD系统启动卡制作及系统固化

发布时间:2019-8-2 14:11    发布者:Tronlong818
1 SD系统启动卡说明
SD卡启动是开发板系统启动方式的一种。SD系统启动卡共有boot分区、rootfs分区和rootfs-backup分区三个分区,其中boot分区为FAT32格式、rootfs分区和rootfs-backup分区为EXT4格式。FAT32格式分区在Windows系统下可见,EXT4格式分区在Windows系统下不可见,三个分区在Linux系统下均可见。boot分区存放U-Boot、内核、设备树等;rootfs分区存放文件系统;rootfs-backup分区用于备份文件系统,系统固化时将其拷贝并固化到eMMC。
开发板出厂时已经提供一个正常使用的Linux SD系统启动卡。以下步骤是Linux SD系统启动卡的制作过程。
l 操作环境:
Ubuntu 14.04.3 64bit
l 制作文件说明
制作文件为光盘“Shell\Linux-4.4.19-mksdboot.tar.gz”压缩包,基于Linux-4.4.19内核,适用于TL5728-EasyEVMTL5728-IDK
根据制作文件制作的SD卡默认支持TL5728-EasyEVM开发板,若要支持其它型号开发板,需要设置系统启动的U-Boot环境变量。
2 SD系统启动卡制作步骤2.1 拷贝启动卡制作文件Ubuntu
打开Ubuntu执行如下命令创建“/home/tronlong/AM57xx/Linux-4.4.19-mksdboot”目录,将光盘“Shell\Linux-4.4.19-mksdboot.tar.gz”压缩包复制到该目录下进入制卡压缩包所在路径执行如下指令将其解压到当前目录:
Host#        mkdir -p /home/tronlong/AM57xx/Linux-4.4.19-mksdboot
Host#        cd /home/tronlong/AM57xx/Linux-4.4.19-mksdboot
Host#        tar -xvf Linux-4.4.19-mksdboot.tar.gz -C .
图片74.jpg

解压后的Linux-4.4.19-mksdboot文件夹内容结构大致如下图:
图片75.jpg

boot目录:
该目录MLOu-boot.imguEnv.txt文件会复制到SD卡的boot分区,该目录下的zImage文件和dtb目录下的全部文件会复制到SDrootfs分区的boot目录下
Ø MLOU-Boot一级启动镜像;
Ø u-boot.imgU-Boot二级启动镜像;
Ø zImageLinux内核镜像;
Ø dtb目录:存放.dtb设备树文件,由内核编译步骤产生。
filesystem目录:
该目录存放了将要复制到SDrootfs分区的文件系统。
Ø modules目录:内核驱动压缩包,和内核版本对应;
Ø product-test目录:生产测试压缩包,会解压到rootfs分区的opt目录下;
Ø rootfs目录:存放根文件系统压缩包;
Ø tools目录tools目录里存放着部分shell脚本,会被复制到SD启动卡的boot分区;
Ø mksdboot.shLinux SD系统启动卡制作脚本。
        以上文件如需替换,务必保证命名、格式与原文件保持一致。
2.2 识别SD
Micro SD通过读卡器连接到计算机虚拟机Ubuntu系统识别后会自动识别SD卡分区,如下图所示:
图片76.jpg

如果没有自动识别,请右击右下角的USB大容量存储设备图标,再点击“Connect (Disconnect from Host)”
图片77.jpg

如果没有以上图标或者连接不成功请尝试如下方法:
l 请将Micro SD卡通过读卡器插到USB 2.0接口,而不是USB 3.0接口,部分版本VMware可能不支持USB 3.0
l 请将Micro SD卡插在PC上,然后重启UbuntuUbuntu重启过程中不要拨出来,开机后图标会重新出现。
2.3 确认SD卡设备节点名
执行如下命令,确认SD卡设备节点名:
Host#        sudo fdisk -l
图片78.jpg

可以看到SD卡设备节点是sdb,其中有1个分区,分区名字是sdb1SD卡设备节点名字是可变的,一般插拔多次或者不同的卡插拔后,可能会显示sdc或者sdd甚至sde
2.4 运行SD系统启动卡制作脚本
系统启动卡制作脚本mksdboot.sh主要有如下作用:
l SD卡格式化为boot分区、rootfs分区和rootfs-backup分区。
l 将rootfs文件夹中的文件系统压缩包解压安装到rootfs分区,同时还将文件系统压缩包解压备份到rootfs-backup分区。
l boot目录下U-Boot镜像文件MLO、u-boot.img拷贝到boot分区。SD卡模式启动时,系统会使用boot分区U-Boot镜像文件
l 将“boot/dtb”目录下的所有dtb设备树文件,拷贝到rootfs分区“/boot”目录。在U-Boot命令行下,通过修改环境变量board_name的参数值,系统会根据修改加载rootfs分区“/boot”目录下不同型号开发板对应设备树文件
l boot目录下的内核镜像文件zImage拷贝到rootfs分区“/boot”目录。SD卡模式启动时,系统会使用rootfs分区“/boot”目录下内核镜像文件
使用SD系统启动卡启动系统时,需替换U-Boot镜像、设备树内核镜像文件系统,有如下方法:
1        使用新的U-Boot镜像文件保持文件名与原文件一致,替换SD系统启动卡boot分区下对应文件;使用新的设备树文件,替换SD系统启动卡rootfs分区“/boot”目录下对应文件;使用新的内核镜像文件,保持文件名与原文件一致,替换SD系统启动卡rootfs分区“/boot”目录下对应文件同时还需替换与新内核版本对应的内核驱动压缩包;先删除SD系统启动卡rootfs分区所有内容,再使用新的文件系统压缩包,将其解压SD系统启动卡rootfs分区,并将设备树文件、内核镜像文件拷贝到SD系统启动卡rootfs分区“/boot”目录。
2        使用新的U-Boot镜像文件、设备树文件、内核镜像文件文件系统压缩包,保持文件名与原文件一致,替换SD系统启动制作文件目录下对应文件,然后重新制作SD系统启动卡。
进入Linux-4.4.19-mksdboot目录下的mksdboot文件夹,执行如下命令,运行SD系统启动卡制作脚本
Host#        cd /home/tronlong/AM57xx/Linux-4.4.19-mksdboot/mksdboot/
Host#        sudo ./mksdboot.sh --device /dev/sdb
/dev/sdb”SD卡设备节点。请再次确认SD卡设备节点一致,如错误输入其他存储介质设备节点,将会造成存储介质数据损坏。
图片79.jpg

按回车键,进行SD系统启动卡制作,耗时约30 min,制卡耗时跟SD卡容量和接口性能有关。SD系统启动卡制作完成,如下图所示:
图片80.jpg

2.5 SD系统启动卡启动Linux系统
根据以上步骤制作的SD系统启动卡默认支持TL5728-EasyEVM开发板。开发板断电,将开发板的拨码开关拨为010001~5),这个档位是Micro SDMMC1)启动模式。
使用Micro USB线连接PC和开发板的USB转串口调试口,然后将开发板上电,串口终端会打印以下启动信息,并可以成功登陆系统,说明SD系统启动卡制作成功,如下图所示:
图片81.jpg

图片82.jpg



更多帮助
销售邮箱:www.tronlong.com
技术论坛:www.51ele.net
线上商城:https://tronlong.taobao.com

本文地址:https://www.eechina.com/thread-566716-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表