This shows you the differences between two versions of the page.
ass:labs-2025:03:tasks:01 [2025/08/06 12:52] florin.stancu |
ass:labs-2025:03:tasks:01 [2025/08/06 12:56] (current) florin.stancu |
||
---|---|---|---|
Line 101: | Line 101: | ||
First, let's create this file, let's say ''mydefault.env'' inside the uboot source directory. Let's start from a minimal example: | First, let's create this file, let's say ''mydefault.env'' inside the uboot source directory. Let's start from a minimal example: | ||
- | <code mydefault.env> | + | <code C> |
/* default u-boot environment variables */ | /* default u-boot environment variables */ | ||
/* this file is passed through the C preprocessor (so we can use C-style macros!) */ | /* this file is passed through the C preprocessor (so we can use C-style macros!) */ | ||
Line 114: | Line 114: | ||
console=ttyLP0 | console=ttyLP0 | ||
bootargs=console=ttyLP0,115200 earlycon,115200 rdinit=/linuxrc clk_ignore_unused | bootargs=console=ttyLP0,115200 earlycon,115200 rdinit=/linuxrc clk_ignore_unused | ||
- | # This is the command executed automatically when uboot starts: | + | # TODO: this is the command executed automatically when uboot starts... |
- | bootcmd=echo Fastboot mode... press Ctrl-C to exit; fastboot 0 | + | bootcmd=echo Fastboot mode... press Ctrl-C to exit; fastboot auto |
# This runs instead of bootcmd when booted using `uuu` via USB | # This runs instead of bootcmd when booted using `uuu` via USB | ||
bootcmd_mfg=run bootcmd | bootcmd_mfg=run bootcmd | ||
Line 138: | Line 138: | ||
Afterwards, [re]compile u-boot, copy the u-boot ''.bin'' files again to the ''imx-mkimage'' directory and regenerate your ''flash.bin''. | Afterwards, [re]compile u-boot, copy the u-boot ''.bin'' files again to the ''imx-mkimage'' directory and regenerate your ''flash.bin''. | ||
- | Test it by booting your new firmware using ''uuu''. Did it work? if not, you may need to repeat this process (this is where a script comes in handy!). | + | Test it by booting your new firmware using ''uuu''. |
+ | Try using ''run linux'' to run the ''linux'' script (if you used that), otherwise edit the ''bootcmd'' to do that automatically after the timeout! | ||
+ | Did it work? if not, you may need to repeat this process (this is where a script comes in handy!). | ||
+ | Note that real devices have their uboot configuration proceed automatically with booting the OS if a physical button is NOT pressed (remember those old Android phones? you could stop this process by holding several volume keys together!). You can script this using GPIO, but it's out of scope for today. | ||