- reduce the U-Boot environment variable "bootdelay", e.g. to 1 second
CC9U> setenv bootdelay 1; saveenv
but avoid to set the bootdelay to 0, as there might be no way back to U-Boot console from this.
- Use 32bit read access while reading the Linux kernel from Flash
typically you have: bootcmd=run boot_flash
with boot_flash=run smtd gfk;bootm
while gfk=cp.w 10040000 ${loadaddr} 180000
but you can reduce read time by using "cp.l" instead with a smaller length value.
E.g. to read a 3MB kernel from flash:
CC9U> setenv gfk cp.l 10040000 ${loadaddr} c0000; saveenv
Note: 0xC0000 * 4 = 0x300000 = 3MB while you have a 3MB kernel partition reserved in flash
- Reduce the Linux kernel size read from flash actually to the exact length of your kernel instead of partition size
E.g. when programming kernel into flash via TFTP or USB:
CC9U> run update_kernel_tftp or update kernel tftp
uImage-unc90dev will be updated now via tftp
TFTP from server 192.168.42.1; our IP address is 192.168.42.30
Filename 'uImage-unc90dev'.
Load address: 0x20100000
Loading: * #################################################################
#################################################################
#################################################################
###################
done
Bytes transferred = 1092916 (10ad34 hex)
Use the size of Bytes beeing transfered, and devide it by 4 (rounded up!) for reading kernel from flash.
In above example kernel size is 0x10ad34, devided by 4 = 0x42B4D, so set:
CC9U> setenv gfk cp.l 10040000 ${loadaddr} 42B4D; saveenv
Note: keep in mind to alter "gfk" every time you update the kernel. E.g. if you do an update from the running Linux you need to alter this environment variable also, in order to avoid that the kernel is not loaded into RAM completely on next boot (presumed your new kernel is bigger).
Last updated:
Oct 29, 2024