修改默认启动选项
开发板在启动uboot后,会要求选择一个显示模组,如下图:
默认模组为:OpenSTLinux该选项不包含任何显示的模组。我们可以通过修改系统下的stm32mp157a-fsmp1a_extlinux.conf配置文件来更改默认的模组。
首先需先连接串口线或者使用ssh远程登录到开发板的控制台。
将目录切换到【/boot】
root@fsmp1a:# cd /boot
boot目录内容如下
该目录下以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;
如果是启动7寸RGB屏幕就将DEFAULT改为stm32mp157a-fsmp1a-rgb070;
如果是HDMI的话就将DEFAULT修改为stm32mp157a-fsmp1a。
修改完成后我们使用reboot命令重启开发板就会发现系统使用相应的启动项启动了。这里我修改的是emmc对应的mmc1_extlinux文件夹下的文件,如果需要修改tf启动方式的配置,修改mmc0_extlinux文件夹下对应的stm32mp157a-fsmp1a_extlinux.conf配置文件即可。