基于rockpi4b启动流程(2)

本文详细探讨了RockPi4B开发板的UBoot启动kernel的过程,包括环境变量分析、启动命令解析和kernel、dtb的加载地址。通过启动日志,指出kernel在DDR首地址0x00200000处启动,dtb位于0x1f00000。代码分析部分涉及cmd(sysboot)到do_booti的执行路径,并对比了Image、zImage和uImage的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

uboot启动kernel

基于上篇文章,将开发板烧录loder和system镜像,即可开机进console。
在这里插入图片描述
我们将系统停到uboot命令行,printenv看下环境变量

=> printenv
arch=arm
baudrate=1500000
board=evb_rk3399
board_name=evb_rk3399
boot_a_script=load ${
   devtype} ${
   devnum}:${
   distro_bootpart} ${
   scriptaddr} ${
   prefix}${
   script}; source ${
   scriptaddr}
boot_efi_binary=load ${
   devtype} ${
   devnum}:${
   distro_bootpart} ${
   kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${
   fdt_addr_r}; then bootefi ${
   kernel_addr_r} ${
   fdt_addr_r};else bootefi ${
   kernel_addr_r} ${
   fdtcontroladdr};fi
boot_extlinux=sysboot ${
   devtype} ${
   devnum}:${
   distro_bootpart} any ${
   scriptaddr} ${
   prefix}extlinux/extlinux.conf
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc1 mmc0 usb0 pxe dhcp
bootargs=storagemedia=emmc androidboot.mode=emmc
bootcmd=run distro_bootcmd;boot_android ${
   devtype} ${
   devnum};bootrkp;
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${
   scriptaddr} ${
   boot_script_dhcp}; then source ${
   scriptaddr}; fi;setenv efi_fdtfile ${
   fdtfile}; setenv efi_old_vci ${
   bootp_vci};setenv efi_old_arch ${
   bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${
   kernel_addr_r}; then tftpboot ${
   fdt_addr_r} dtb/${
   efi_fdtfile};if fdt addr ${
   fdt_addr_r}; then bootefi ${
   kernel_addr_r} ${
   fdt_addr_r}; else bootefi ${
   kernel_addr_r} ${
   fdtcontroladdr};fi;fi;setenv bootp_vci ${
   efi_old_vci};setenv bootp_arch ${
   efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_pxe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linux顿悟吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值