buguai 发表于 2019-5-9 15:50:40

4412开发板Linux设备树的镜像烧写和源码简单优化教程






1 烧写:
烧写和4412默认镜像的烧写类似,使用fastboot。

先更新uboot,用4412默认uboot更新支持设备树的uboot

用支持设备树的uboot烧写。
进入支持设备树的uboot控制台
支持设备树的uboot控制台,使用命令:fastboot 0







这里可能需要更新一下驱动,使用驱动精灵自动安装即可。
在cmd命令行,用fastboot烧写:
        fastboot.exe flash bootloader u-boot-iTOP-4412.bin





        fastboot.exe flash kernel uImage





        fastboot.exe flash dtb exynos4412-itop-elite.dtb





        fastboot.exe flash system system.img(文件系统用系统编程中,搭建好的最小linux系统)








        fastboot reboot(可以直接断电重启)
        启动测试:
        开发板启动之后,会发现文件系统挂载不了,不能进入控制台提示找不到root device





2 修改配置文件arch/arm/configs/iTop-4412_scp_defconfig:

CONFIG_CMDLINE="root=/dev/mmcblk0p2 console=ttySAC2,115200 init=/linuxrc rootwait"
改为:
CONFIG_CMDLINE="root=/dev/mmcblk1p2 console=ttySAC2,115200 init=/linuxrc rootwait"






重新烧写,可以挂载,但是控制台一直有pid报错的信息打印。需要处理最小linux系统。





3 最小linux系统,重新编译烧写:
        编译命令:make_ext4fs -s -l 314572800 -a root -L Linux system.img system
        可以启动文件系统,但是控制台一直有打印信息
        修改最小linux系统的启动文件,屏蔽掉。
       vim etc/init.d/rcS 屏蔽:/dev/tty2~4
        最小linux的控制台可以正常使用了。
       


        发现新的问题,文件系统上无法新建文件夹:
        在root=/dev/mmcblk1p2 后面添加 rw,
        表示文件系统可读可写,否则只能读,就不能新建文件夹和文件。





4 再次烧写。
        测试下tf卡(tf卡挂载OK)
        mkdir /mnt/udisk1
        mount /dev/mmcblk0p1 /mnt/udisk1(mmcblk0p1根据系统系统真实识别情况来选择)






        完成到这一步,后面就可以开始正式学习设备树的主体知识了。

支持的功能:
1 uboot烧写功能正常;
2 内核和设备树正常;
3 文件系统可以正常使用。

heimareed 发表于 2019-5-10 09:27:38

不明觉厉,点个赞~

chun2495 发表于 2019-5-13 21:33:27

设备树的烧写属于uboot还是kernel?

buguai 发表于 2019-5-17 16:17:25

chun2495 发表于 2019-5-13 21:33
设备树的烧写属于uboot还是kernel?

设备树是内核

huashengdun 发表于 2019-7-25 16:07:48

好像没看到怎么优化

huangqi412 发表于 2019-7-25 21:20:48

入门到放弃

huashengdun 发表于 2019-12-3 16:22:13

设备树不好理解,在找这方面资料
页: [1]
查看完整版本: 4412开发板Linux设备树的镜像烧写和源码简单优化教程