[分享] SD启动和制作烧写

明远智睿Lan   2019-4-26 10:00 楼主
1. 制作sd卡启动
打开配置工具MfgConfig.exe(我的核心板是CB140-6G-256M-EMMC
图片1.png
选项Linux-4.1.15-TFCard,在配置工具里面MfgConfig.exe的下来菜单没有的,我在ucl2.xml里面看到Linux-4.1.15-TFCard
修改cfg.ininame=Linux-4.1.15-eMMCname=Linux-4.1.15-TFCard  保存文件。
打开MfgTool2.exe,设置板子为烧写模式,打开电源,检测到HID设备,点击Start
图片2.png
等待绿色烧写完成。
图片3.png
2. 修改环境变量从sd启动
设置2位播码为启动模式(bit1 bit01),设置4位播码为sd卡启动(bit1 bit2bit3bit40010
图片4.png
设置环境变量
setenv mmcdev 0
setenv mmcroot '/dev/mmcblk0p2'
saveeve
启动完成,如下图:
图片5.png
3. 烧写文件到emmc
可以用以太网tftp传输几个文件(这里就不写了)
L4115-core-image-base-myimx6a7.tar.bz2
mksdcard-4115.sh.tar
my_environment_emmc.scr  
myimx6ek140p-6g-256m-emmc.dtb  
uboot-myimx6ek140p-6g-256m-emmc.imx  
zImage-myimx6a7

分区:
umount /dev/mmcblk1p*
tar -xvf mksdcard-4115.sh.tar
./mksdcard.sh /dev/mmcblk1
mkfs.vfat /dev/mmcblk1p1
mkfs.ext4 -F -j /dev/mmcblk1p2

烧写u-boot
dd if=uboot-myimx6ek140p-6g-256m-emmc.imx of=/dev/mmcblk1 bs=1k seek=1

烧写内核和dtb和环境变量
mkdir -p /mnt/mmcblkxp1
mount -t vfat /dev/mmcblk1p1 /mnt/mmcblkxp1
cp myimx6ek140p-6g-256m-emmc.dtb /mnt/mmcblkxp1/
cp zImage-myimx6a7 /mnt/mmcblkxp1/
cp my_environment_emmc.scr /mnt/mmcblkxp1/
umount /mnt/mmcblkxp1
图片6.png
烧写系统系统:
mkdir -p /mnt/mmcblkxp2
mount -t ext4 /dev/mmcblk1p2 /mnt/mmcblkxp2
tar -jxf L4115-core-image-base-myimx6a7.tar.bz2 -C /mnt/mmcblkxp2
umount /mnt/mmcblkxp2
图片7.png
关机,把4位播码设置为EMMC启动。

4. 自己写个脚本,直接烧写EMMC
mkdir -p /mnt/update_file update_file放更新文件,你们自己复制到里面)

vi update_myzr.sh (增加以下内容)
###开始内容###
mksdcard-4115.sh.tar  mksdcard.sh  test  test.zip  update_myzr.sh
root@myimx6ek140p:~# cat update_myzr.sh
cd /mnt/update_file
if [ -f /mnt/update_file/mksdcard.sh ]
then
        echo "####"
else
        tar -xvf mksdcard-4115.sh.tar
fi

umount /dev/mmcblk1p*
echo Start partition and formatting...
./mksdcard.sh /dev/mmcblk1
mkfs.vfat /dev/mmcblk1p1
mkfs.ext4 -F -j /dev/mmcblk1p2

umount /dev/mmcblk1p*

echo Download u-boot...

dd if=uboot-myimx6ek140p-6g-256m-emmc.imx of=/dev/mmcblk1 bs=1k seek=1

echo Download zImage,dtb and src...
if [ -d /mnt/mmcblkxp1 ]
then
        echo "####"
else
        mkdir -p /mnt/mmcblkxp1
fi
mount -t vfat /dev/mmcblk1p1 /mnt/mmcblkxp1
cp myimx6ek140p-6g-256m-emmc.dtb /mnt/mmcblkxp1/
cp zImage-myimx6a7 /mnt/mmcblkxp1/
cp my_environment_emmc.scr /mnt/mmcblkxp1/
umount /mnt/mmcblkxp1

echo Download system...

if [ -d /mnt/mmcblkxp2 ]
then
        echo "####"
else
mkdir -p /mnt/mmcblkxp2
fi
mount -t ext4 /dev/mmcblk1p2 /mnt/mmcblkxp2
tar -jxf L4115-core-image-base-myimx6a7.tar.bz2 -C /mnt/mmcblkxp2
umount /mnt/mmcblkxp2
###结束内容###


最后修改为权限update_myzr.sh
chmod +x update_myzr.sh

如果想自己启动sd自动烧写
cp update_myzr.sh /etc/rc5.d/S99update


  • 图1.jpg
  • 图2.jpg
  • 图3.jpg
  • 图4.jpg
  • 图5.jpg
  • 图6.jpg
  • 图7.jpg

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复