Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    请教各位同学,Tina-SDK 如何在uboot下单独更新kernel 设备树文件?

    MR Series
    5
    8
    3300
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • baiwen
      100ask LV 6 last edited by

      请教各位同学,Tina-SDK 如何在uboot下单独更新kernel 设备树文件?

      1 Reply Last reply Reply Quote Share 0
      • baiwen
        100ask LV 6 last edited by

        27c44429-ede8-4e6e-8caa-45613c5c8db4-image.png

        Tina-u-boot-2018\board\sunxi\sunxi_replace_fdt.c
        26980859-d143-4d2b-a251-d78f834f49a3-image.png
        uboot配置支持 CONFIG_SUNXI_REPLACE_FDT_FROM_PARTITION 选项,编译烧写,重新启动
        提示如下错误
        f8149ee8-b49c-4461-856e-f185359a4fec-image.png
        这里应该是加载到了设备树,但是启动时 无法启动
        7c6aa039-b51c-4c4e-aefd-5d828dcbfced-image.png

        1 Reply Last reply Reply Quote Share 0
        • Y
          YterAA LV 7 last edited by

          kernel与kernel-dtb存放在不同的独立分区
              uboot启动后,uboot使用uboot-dtb进行初始化,以及设置一些uboot的功能
                                      |
                                      V
              uboot在初始化完flash后从kernel-dtb存放的分区中获取kernel-dtb,用kernel-dtb替换掉正在使用的uboot-dtb
                                      |
                                      V
              更新一些dram以及flash介质参数到kernel-dtb,把kernel-dtb传递给kernel并启动kernel
          
          1.修改uboot目录下对应方案的配置文件
             修改configs/sunxxxp1_defconfig文件如下
             CONFIG_OF_BOARD=y
             #CONFIG_OF_SEPARATE is not set
             修改以及添加:
             #CONFIG_OF_BOARD is not set
             CONFIG_OF_SEPARATE=y                         ------------>  uboot开启独立dtb功能,uboot启动后将使用uboot-dtb(使能哪份dtb请参考Tina独立dtb逻辑介绍中的相同点)
             CONFIG_SUNXI_REPLACE_FDT_FROM_PARTITION=y   -------------->uboot开启从独立分区中读取kernel-dtb的功能
          
          2.在分区表中添加一个分区,并确保下载到分区的dtb数据正确
             例如修改sys_partition.fex文件如下:
             [partition]
                    name    =  dtb                                ---------->分区名可以自己设置
                    size       =  512
                    downloadfile   =  "sunxi.fex"        ---------->分区存放的文件,dtb数据
                    user_type         =  0x8000
          
          3.如下修改uboot的env环境变量文件
             添加如下环境变量
             replace_fdt=dtb:raw    /    replace_fdt=dtb:fat:fdtfilename
             说明:
             在uboot启动的过程中会读取这个env变量,然后进行dtb数据的替换
             (1).replace_fdt : 固定字符串,uboot靠它来进行识别,不可修改
             (2).dtb : 分区名,从哪个分区获取dtb数据,与上面点2的分区名对应,可以修改
             (3).raw / fat : 分区类型,分区是裸分区(raw),还是fat文件系统的分区(fat)
             (4).fdtfilename : fat文件系统才需要,dtb数据的文件名,如果是裸分区(raw)不需要设置
          
          
          baiwen 1 Reply Last reply Reply Quote Share 1
          • baiwen
            100ask LV 6 @YterAA last edited by

            @yteraa 感谢大佬的指点,已经可以,原来我已经找到了实现的代码,就是没有设置环境变量😥 。
            我现在使用buildroot定义
            a7699ae2-5a8e-4da3-8595-e223da095d0a-image.png
            ENV环境变量里进行了配置
            4d787ca2-e716-4e0e-954a-ecc9737e3a54-image.png
            保存后 重启,就可以看到它自动加载了

            e387d5a3-d232-4ca6-b19b-44a9a5305fcb-image.png

            看来以后还是要大胆去尝试
            8389b378-3760-47d3-8692-a5dff6b928aa-image.png

            1 Reply Last reply Reply Quote Share 0
            • xiaowenge
              DOT小文哥 LV 8 last edited by

              大胆尝试 坏了再修

              1 Reply Last reply Reply Quote Share 0
              • aldfaaa
                whycan矿工-小叶 LV 7 last edited by

                好强, 好好做笔记

                1 Reply Last reply Reply Quote Share 0
                • Q
                  qqqlb LV 6 last edited by

                  你好,我想问一下。使用新的dtb,那sys_package.cfg要把dtb项去掉吗?

                  baiwen 1 Reply Last reply Reply Quote Share 0
                  • baiwen
                    100ask LV 6 @qinlinbin last edited by

                    @qinlinbi 其实都可以,uboot会根据配置,来进行选择。

                    1 Reply Last reply Reply Quote Share 0
                    • 1 / 1
                    • First post
                      Last post

                    Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                    行为准则 | 用户协议 | 隐私权政策