[U-Boot] [PATCH] sunxi: Add a bootcmd_old to the default environment to boot old kernels
Hans de Goede
hdegoede at redhat.com
Sun Oct 11 12:38:33 CEST 2015
Hi,
On 11-10-15 11:12, Ian Campbell wrote:
> 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"?
Yep, my bad.
> "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.
Ok, bootcmd_sunxi_compat it is.
>> +#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?
Right, we need this because it is typically set from uEnv.txt, using
setenv before importing uEnv.txt is a good idea though. And there
is no need for the root_sunxi_compat indirection there IMHO.
Patch v2 with all this fixed coming up.
>
>> + "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 */
Regards,
Hans
More information about the U-Boot
mailing list