全志A64 修改uboot环境变量及内核调试级别

博客介绍了通过uboot输出的启动信息,板上emmc分区情况,环境变量单独存于一个分区,修改时无需重编译uboot源码。还说明了环境变量存放文件位置,提到修改loglevel可捕捉内核调试输出,修改bootdelay可在uboot上操作,最后指出修改后重新烧写镜像生效。

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

通过uboot输出的启动信息:

--------fastboot partitions--------
-total partitions:15-
-name-        -start-       -size-      
bootloader  : 1000000       2000000     
env         : 3000000       1000000     
boot        : 4000000       2000000     
system      : 6000000       80000000    
verity_block: 86000000      2000000     
misc        : 88000000      1000000     
recovery    : 89000000      2000000     
cache       : 8b000000      30000000    
metadata    : bb000000      1000000     
private     : bc000000      1000000     
frp         : bd000000      80000       
empty       : bd080000      f80000      
alog        : be000000      5000000     
media_data  : c3000000      1000000     
UDISK       : c4000000      0  

板上的emmc分成14个分区,其中环境变量单独存放在一个分区,所以修改uboot环境变量时无须重编译uboot源码.


环境变量存放的文件在: /lichee/tools/pack/chips/sun50iw1p1/configs/default/env.cfg
里面的内容:


#kernel command arguments
earlyprintk=sunxi-uart,0x01c28000
initcall_debug=0
console=ttyS0,115200
nand_root=/dev/system
mmc_root=/dev/mmcblk0p7
init=/init
loglevel=1
cma=256M
selinux=enforcing
#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this
setargs_nand=setenv bootargs earlyprintk=${earlyprintk} initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} init=${init} partitions=${partitions} cma=${cma} androidboot.selinux=${selinux}
setargs_mmc=setenv  bootargs earlyprintk=${earlyprintk} initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root}  init=${init} partitions=${partitions} cma=${cma} androidboot.selinux=${selinux}
#nand command syntax: sunxi_flash read address partition_name read_bytes
#0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k)
boot_normal=sunxi_flash read 4507f800 boot;boota 4507f800 boot
boot_recovery=sunxi_flash read 4507f800 recovery;boota 4507f800 recovery
boot_fastboot=fastboot
#recovery key
recovery_key_value_max=0x13
recovery_key_value_min=0x10
#fastboot key
fastboot_key_value_max=0x8
fastboot_key_value_min=0x2

#uboot system env config
bootdelay=0
#default bootcmd, will change at runtime according to key press
bootcmd=run setargs_nand boot_normal#default nand boot

从上面的内容可以看出,uboot启动后直接执行”run setargs_nand boot_normal”.

环境变量partitions=bootloader@mmcblk0p2:env@mmcblk0p5:boot@mmcblk0p6:system@mmcblk0p7:verity_block@mmcblk0p8:misc@mmcblk0p9:recovery@mmcblk0p10:cache@mmcblk0p11:metadata@mmcblk0p12:private@mmcblk0p13:frp@mmcblk0p14:empty@mmcblk0p15:alog@mmcblk0p16:media_data@mmcblk0p17:UDISK@mmcblk0p1
setenv bootargs earlyprintk=sunxi-uart,0x01c28000 initcall_debug=0 console=ttyS0,115200 loglevel=1 root=/dev/system init=/init partitions=...

其中loglevel为printk调试输出级别,如需要捕捉内核调试输出,则需要修改loglevel的值.

如需要在uboot上操作,则需要把环境变量bootdelay的值改为非0即可.


 9 loglevel=8
 ...
 28 bootdelay=6

修改完成后,进入android源码目录下操作:

    . ./build/envsetup.sh 

      lunch
        //选择22. tulip_p1-eng

      pack   //重新打包镜像

重新烧写新镜像lichee/tools/pack/sun50iw1p1_android6.0_p1_uart0_bv3.img即修改生效.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值