zynq& zynqmp使用gpt分区

zynq系列使用gpt分区启动

关于gpt和mbr的区别这里就不再叙述了
gpt的好处是可以最多扩展128个分区,无主分区和逻辑分区的区别,这为个性化的版本管理和控制提供了很好的基础
zynq系列默认使用的是MBR分区,也就是说如果直接写入gpt分区,zynq的片子是起不来的,感兴趣的可以试一下

这里提供了一种方法使zynq可以从gpt分区启动,
另一种是修改fsbl也可以
话不多说

  • 1 先将sd或者emmc分区成mbr的格式,采用fdisk就可以,然后将前521B的数据拷出来备用,如下
dd if=$dev_no of=./MBR.temp count=512 bs=1
  • 2 将sd或者emmc进行gpt分区,parted执行,parted的命令可以自行查看,分区完成后将刚刚的MBR.temp数据进行patch后再重新写入,如下,目录关系可以自己把控
dd if=$dev_no of=./GPT.ori count=512 bs=1
dd conv=notrunc bs=1 count=16 skip=446 if=GPT.ori of=MBR.temp seek=462
dd if=MBR.temp of=$dev_no count=512 bs=1
  • 3 在执行格式化命令就行了,boot和image.ub要放在首个fat分区
root@localhost:/home# ls /dev/mmcblk1
mmcblk1       mmcblk1boot1  mmcblk1p2     mmcblk1p4     mmcblk1p6
mmcblk1boot0  mmcblk1p1     mmcblk1p3     mmcblk1p5     mmcblk1rpmb
root@localhost:/home# ls /dev/mmcblk1
root@localhost:/home# uname -a
Linux localhost.localdomain 4.14.0-xilinx #1 SMP PREEMPT Mon Jan 6 10:33:33 CST 2020 armv7l armv7l armv7l GNU/Linux
root@localhost:/home# 

你可能感兴趣的:(zynq& zynqmp使用gpt分区)