From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Date: Sun, 11 Oct 2015 12:38:33 +0200 Subject: [U-Boot] [PATCH] sunxi: Add a bootcmd_old to the default environment to boot old kernels In-Reply-To: <1444554728.16876.21.camel@hellion.org.uk> References: <1444407352-1847-1-git-send-email-hdegoede@redhat.com> <1444554728.16876.21.camel@hellion.org.uk> Message-ID: <561A3C29.2020403@redhat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 bsun 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 >> >> #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