Skip to contentSkip to conversation

sunxi: Add a bootcmd_sunxi_compat to the default environment to boot old kernels

PATCH New Hans de Goede 2 participants 2 messages Oct 11, 2015 Arm/Allwinner sunXi SoC support

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 sunxi: Add a bootcmd_sunxi_compat to the default environment to boot old kernels

Add a bootcmd_sunxi_compat 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_sunxi_compat" rather then needing to have 2 separate setups / sdcards for old and new kernels.

---
Changes in v2:
-Rename env variable from bootcmd_old to bootcmd_sunxi_compat -Set the default root environment value used from the bootcmd_sunxi_compat
script rather then polluting the default environment with a "root" value

---
 include/configs/sunxi-common.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
include/configs/sunxi-common.h +17 -0
index 29745fe..c7729d1 100644
@@ -464,6 +464,22 @@ extern int soft_i2c_gpio_scl;
 	func(PXE, pxe, na) \
 	func(DHCP, dhcp, na)
 
+#ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
+#define BOOTCMD_SUNXI_COMPAT \
+	"bootcmd_sunxi_compat=" \
+		"setenv root /dev/mmcblk0p3 rootwait; " \
+		"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_SUNXI_COMPAT
+#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_SUNXI_COMPAT \
 	BOOTENV
 
 #else /* ifndef CONFIG_SPL_BUILD */
Signature · 1 line
2.5.0
#1 lore raw

PATCH v2 1/1 sunxi: Add a bootcmd_sunxi_compat to the default environment to boot old kernels

Quoted 10 lines · Hans de Goede

Add a bootcmd_sunxi_compat 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_sunxi_compat"
rather then needing to have 2 separate setups / sdcards for old and new kernels.