修改默认启动选项

来自华清远见研发中心
跳转至: 导航搜索

开发板在启动uboot后,会要求选择一个显示模组,如下图:

55-1.png

默认模组为:OpenSTLinux该选项不包含任何显示的模组。我们可以通过修改系统下的stm32mp157a-fsmp1a_extlinux.conf配置文件来更改默认的模组。

首先需先连接串口线或者使用ssh远程登录到开发板的控制台。

55-2.png

将目录切换到【/boot】

root@fsmp1a:# cd /boot

boot目录内容如下

55-3.png

该目录下以dtb结尾的文件是设备启动时需要用到的设备树文件,uImage文件是linux内核镜像。这里我们关心的是mmc0_extlinux和mmc1_extlinux这两个文件夹。这两个文件夹对应了两种启动方式。mmc0_extlinux对应着tf卡启动,mmc1_extlinux对应着emmc启动。

由于mmc0_extlinux和mmc1_extlinux中的内容基本相似,这里以emmc启动为例来修改默认的启动选项。进入【mmc1_extlinux】目录。

root@fsmp1a:# cd mmc1_extlinux

mmc1_extlinux目录中我们只关心stm32mp157a-fsmp1a_extlinux.conf这个配置文件。

# Generic Distro Configuration file generated by OpenEmbedded
menu title Select the boot mode
MENU BACKGROUND /splash.bmp
TIMEOUT 20
DEFAULT OpenSTLinux
LABEL OpenSTLinux
        KERNEL /uImage
        FDTDIR /
        INITRD /uInitrd
        APPEND root=PARTUUID=491f6117-415d-4f53-88c9-6e0de54deac6 rootwait rw console=ttySTM0,115200
LABEL stm32mp157a-fsmp1a
        KERNEL /uImage
        FDT /stm32mp157a-fsmp1a.dtb
        INITRD /uInitrd
        APPEND root=PARTUUID=491f6117-415d-4f53-88c9-6e0de54deac6 rootwait rw console=ttySTM0,115200
LABEL stm32mp157a-fsmp1a-mipi050
        KERNEL /uImage
        FDT /stm32mp157a-fsmp1a-mipi050.dtb
        INITRD /uInitrd
        APPEND root=PARTUUID=491f6117-415d-4f53-88c9-6e0de54deac6 rootwait rw console=ttySTM0,115200
LABEL stm32mp157a-fsmp1a-rgb070
        KERNEL /uImage
        FDT /stm32mp157a-fsmp1a-rgb070.dtb
        INITRD /uInitrd
        APPEND root=PARTUUID=491f6117-415d-4f53-88c9-6e0de54deac6 rootwait rw console=ttySTM0,115200

这里可以看到全文共有4个LABEL分别对应着OpenSTLinux、stm32mp157a-fsmp1a、stm32mp157a-fsmp1a-mipi050、stm32mp157a-fsmp1a-rgb070。我们可以通过对比我们启动时选择启动模式界面发现。这4个LABEL正好对应了启动时的4种启动模式。每个LABEL下又有KERNEL、FDT、INITRD、APPEND这4个配置项。这里就不难分析出来KERNEL对应着该启动选项所使用的linux内核镜像文件;FDT对着该启动选项所使用的设备树文件;APPEND对应着该启动选项所使用的环境变量。在该文件的上方还有一个DEFAULT选项,这个选项就是用来设置默认的启动模式的,当前DEFAULT被配置为OpenSTLinux这也是为什么我们默认启动会使用OpenSTLinux选项的原因。

如果我们需要修改默认的启动选项只需要用LABEL后面的启动项名称替换DEFAULT后的配置即可。

例如我们想要系统默认启动时启动5寸的MIPI屏我们就可以将DEFAULT改为stm32mp157a-fsmp1a-mipi050;

55-4.png

如果是启动7寸RGB屏幕就将DEFAULT改为stm32mp157a-fsmp1a-rgb070;

55-5.png

如果是HDMI的话就将DEFAULT修改为stm32mp157a-fsmp1a。

55-6.png

修改完成后我们使用reboot命令重启开发板就会发现系统使用相应的启动项启动了。这里我修改的是emmc对应的mmc1_extlinux文件夹下的文件,如果需要修改tf启动方式的配置,修改mmc0_extlinux文件夹下对应的stm32mp157a-fsmp1a_extlinux.conf配置文件即可。