mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
5bd6d9377d
Tested on: Sophos RED 15W The TP-Link WL-WDR4900 needs to be disabled when 5.10 becomes the default kernel. When building with all kmods enabled, the resulting kernel image exceeds the maximum size the bootloader reads from the flash. For more information, see GitHub issue #1773 Signed-off-by: David Bauer <mail@david-bauer.net>
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
--- a/arch/powerpc/Kconfig
|
|
+++ b/arch/powerpc/Kconfig
|
|
@@ -885,6 +885,14 @@ config CMDLINE_FORCE
|
|
This is useful if you cannot or don't want to change the
|
|
command-line options your boot loader passes to the kernel.
|
|
|
|
+config CMDLINE_OVERRIDE
|
|
+ bool "Use alternative cmdline from device tree"
|
|
+ help
|
|
+ Some bootloaders may have uneditable bootargs. While CMDLINE_FORCE can
|
|
+ be used, this is not a good option for kernels that are shared across
|
|
+ devices. This setting enables using "chosen/cmdline-override" as the
|
|
+ cmdline if it exists in the device tree.
|
|
+
|
|
config EXTRA_TARGETS
|
|
string "Additional default image types"
|
|
help
|
|
--- a/drivers/of/fdt.c
|
|
+++ b/drivers/of/fdt.c
|
|
@@ -1060,6 +1060,17 @@ int __init early_init_dt_scan_chosen(uns
|
|
if (p != NULL && l > 0)
|
|
strlcpy(data, p, min(l, COMMAND_LINE_SIZE));
|
|
|
|
+ /* CONFIG_CMDLINE_OVERRIDE is used to fallback to a different
|
|
+ * device tree option of chosen/bootargs-override. This is
|
|
+ * helpful on boards where u-boot sets bootargs, and is unable
|
|
+ * to be modified.
|
|
+ */
|
|
+#ifdef CONFIG_CMDLINE_OVERRIDE
|
|
+ p = of_get_flat_dt_prop(node, "bootargs-override", &l);
|
|
+ if (p != NULL && l > 0)
|
|
+ strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
|
|
+#endif
|
|
+
|
|
/*
|
|
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
|
* managed to set the command line, unless CONFIG_CMDLINE_FORCE
|