imx6ull如何单独烧录rootfs

100ask_imx6ull_flashing_tool_v4.0工具,要么烧录整个系统,要么单独烧录内核、设备树、更新Uboot。
没有看到烧录rootfs的地方。
使用MfgTool2.exe烧录不成功,一直提示wait for /dev/mmcblk1 appear。(用的是下载包中的文件来操作的,没有做过改动)

如果使用的是下图的烧录工具;
image
那么要双击运行下图的 vbs 文件才行;
image

关键的文件为:100ask_imx6ull-mfgtools_20200211\Profiles\Linux\OS Firmware\ucl2.xml
自己阅读下就理解了;

我要是能解透了,还需要发帧吗?直接用你们提供的文件和工具,什么都没有改动。就是不成功。另外一个100ask_imx6ull_flashing_tool_v4.0工具,就能成功。
如果是文件不对,拜托你们把文件弄好,再给到用户。

不能单独烧写文件系统,不能单独烧写文件系统,不能单独烧写文件系统,
这是嵌入式Linux,不是发行版,也不是安卓手机,请按照教程操作,不要自己随意折腾!

网友真的没有说错,一流的老师,垃圾的服务。
那你就告诉我,为什么正点原子同样的imx6ull可以?
不能烧文件系统,你放个rootfs自己吃呀

“单独”烧写文件系统是一个“伪命题”,或者是2440时代遗留下来的“老思路”。
以前的uboot功能没那么强大,不支持文件系统,它要启动内核时就是“裸读”内核,
所以以前是:uboot、内核、文件系统分开。
现在的uboot功能强大,支持文件系统了,于是就把内核、设备树放在文件系统里。
这时板子上只有:uboot、文件系统(里面含有内核、设备树)。
所以要“单独更新文件系统”,就是:会把整个文件系统包括里面的内核、设备树一起更新了。
这并没有什么问题,内核、设备树很小的。
把内核、设备树放在文件系统里还有一个好处:更新它们会很方便。

要使用MfgTool2.exe的话,不是双击运行它,
而是双击buildroot-image-100ask_100ask-ddr512m-emmc4g.vbs,
它的内部机制"应该是"根据ucl2.xml来操作硬件,
如何修改ucl2.xml,这部分教程我们并不提供,
你要尝试的话,我可以提供建议:

  1. 弄清楚机制
    a. PC机下载uboot、内核、Initramfs文件系统到板子内存里,运行
    b. PC发送文件、发送命令给开发板,开发板接收文件、执行命令
    c. 具体流程是怎样呢:其实ucl2.xml讲得非常清楚,
    c.1 Loading Kernel. :PC发送内核给单板
    c.2 Loading Initramfs.: PC发送临时文件系统给单板
    c.3 Loading device tree. : PC发送设备树给单板
    c.4 Jumping to OS image. :使用上述文件启动单板
    c.5 Sending partition shell:PC发送分区用的脚本给单板,你要单独烧写rootfs,这个就可以去掉
    c.6 Partitioning…:有两个“Partitioning…”,一个是解压上述脚本,一个是执行脚本来分区,你单独烧写文件系统就无需再次分区
    c.7 clear u-boot arg: 清除uboot参数,你不需要
    c.8 access boot partition 1: 使能uboot分区的访问
    c.9 Sending u-boot.bin : 发送新的uboot
    c.10 write U-Boot to sd card: 注释写错了,这是写uboot到emmc
    c.11 re-enable read-only access: 让uboot分区变为只读
    c.12 enable boot partion 1 to boot: emmc有2个boot分区,使能这个分区
    命令太多了就不逐一列出来,如果你要实现“单独烧写rootfs”,那么你需要看得懂这个ucl2.xml,
    注意:有2个分区,一个是vfat分区用来存放内核、设备树;另一个分区是ext3分区,存放rootfs。
    如果你还看不懂这些步骤,那就还没到“单独烧写rootfs”的地步。

最后,我们没有提供文档,因为这个工具不推荐使用。

wait for /dev/mmcblk1 appear : 确实如此,正在找原因


100ask_imx6ull-mfgtools_20200211\Profiles\Linux\OS Firmware\files\100ask_imx6ull-14x14.dtb
复制过去,替换:
100ask_imx6ull-mfgtools_20200211\Profiles\Linux\OS Firmware\firmware\zImage-imx6ull-14x14-emmc.dtb

就可以了(注意改名为后者),设备树的问题。

我们也正在上传2022版本的。
是我们的错误,非常对不起。

ucl2.zip (1.6 KB)

把附件解压后放入:Profiles\Linux\OS Firmware,
就可以单独烧写rootfs了