[U-Boot] [PATCH] sunxi: Add a bootcmd_old to the default environment to boot old kernels

Ian Campbell ijc+uboot at hellion.org.uk
Sun Oct 11 11:12:08 CEST 2015


On Fri, 2015-10-09 at 18:15 +0200, Hans de Goede wrote:
> Add a bootcmd_old value to the default environment when building with
> CONFIG_OLD_SUNXI_KERNEL_COMPAT, this way people who occasionally want
> to boot an old kernel can do so by simply typing "run bootcmd_old"
> rather then needing to have 2 separe setups / sdcards for old and

"separate"?


"old" is a bit non-specific (e.g. there are also old mainline kernels).
Perhaps bootcmd_sunxi_compat? It's a bit of a mouthful but it will tab
complete b<tab>sun<tab> or close to that.

> +#ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
> +#define BOOTCMD_OLD \
> +	"root=/dev/mmcblk0p3 rootwait\0" \

Does something other than the below setenv bootargs rely on this? It'd
be better not to pollute the default env with such a generically named
thing. I suggest following the naming of the command, so
root_sunxi_compat.

If it is important to have root= present e.g. for script.bin or
uEnv.txt then perhaps put setenv root ${root_sunxi_compat} at the start
of the command?

> +	"bootcmd_old=" \
> +		"if ext2load mmc 0 0x44000000 uEnv.txt; then " \
> +			"echo Loaded environment from uEnv.txt; " \
> +			"env import -t 0x44000000 ${filesize}; " \
> +		"fi; " \
> +		"setenv bootargs console=${console} root=${root}
> ${extraargs}; " \
> +		"ext2load mmc 0 0x43000000 script.bin && " \
> +		"ext2load mmc 0 0x48000000 uImage && " \
> +		"bootm 0x48000000\0"
> +#else
> +#define BOOTCMD_OLD
> +#endif
> +
>  #include <config_distro_bootcmd.h>
>  
>  #ifdef CONFIG_USB_KEYBOARD
> @@ -495,6 +511,7 @@ extern int soft_i2c_gpio_scl;
>  	MTD_ENV_SETTINGS \
>  	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
>  	"console=ttyS0,115200\0" \
> +	BOOTCMD_OLD \
>  	BOOTENV
>  
>  #else /* ifndef CONFIG_SPL_BUILD */


More information about the U-Boot mailing list