mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
50f7c5af4a
Update to next U-Boot timed release. Remove now obsolete patch 100-01-board-mediatek-add-more-network-configurations.patch Default IP addresses are now dealt with in Kconfig, no longer in board- specific C header files. Add patches to restore ANSI support in bootmenu which was broken upstream, always use high-speed mode on serial UART for improved stability and fix an issue with pinconf not being applied on MT7623 resulting in eMMC being inaccessible when booting from micro SD card. In order to keep the size of the bootloader on MT7623 below 512kB remove some unneeded commands on both MT7623 boards. Tested on: * BananaPi BPi-R2 (MT7623N) * BananaPi BPi-R3 (MT7986A) * BananaPi BPi-R64 (MT7622A) * Linksys E8450 (MT7622B) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
73 lines
2.0 KiB
Diff
73 lines
2.0 KiB
Diff
From fc0c70a7c6a088072d0c77e5a59d5e9b7754c6db Mon Sep 17 00:00:00 2001
|
|
From: Weijie Gao <weijie.gao@mediatek.com>
|
|
Date: Mon, 25 Jul 2022 17:01:20 +0800
|
|
Subject: [PATCH 61/71] env: ubi: add support to create environment volume if
|
|
it does not exist
|
|
|
|
Add an option to allow environment volume being auto created if not exist.
|
|
|
|
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
|
---
|
|
env/Kconfig | 6 ++++++
|
|
env/ubi.c | 20 ++++++++++++++++++++
|
|
2 files changed, 26 insertions(+)
|
|
|
|
--- a/env/Kconfig
|
|
+++ b/env/Kconfig
|
|
@@ -675,6 +675,12 @@ config ENV_UBI_VOLUME_REDUND
|
|
help
|
|
Name of the redundant volume that you want to store the environment in.
|
|
|
|
+config ENV_UBI_VOLUME_CREATE
|
|
+ bool "Create UBI volume if not exist"
|
|
+ depends on ENV_IS_IN_UBI
|
|
+ help
|
|
+ Create the UBI volume if it does not exist.
|
|
+
|
|
config ENV_UBI_VID_OFFSET
|
|
int "ubi environment VID offset"
|
|
depends on ENV_IS_IN_UBI
|
|
--- a/env/ubi.c
|
|
+++ b/env/ubi.c
|
|
@@ -106,6 +106,18 @@ static int env_ubi_save(void)
|
|
#endif /* CONFIG_SYS_REDUNDAND_ENVIRONMENT */
|
|
#endif /* CONFIG_CMD_SAVEENV */
|
|
|
|
+int __weak env_ubi_volume_create(const char *volume)
|
|
+{
|
|
+ struct ubi_volume *vol;
|
|
+
|
|
+ vol = ubi_find_volume((char *)volume);
|
|
+ if (vol)
|
|
+ return 0;
|
|
+
|
|
+ return ubi_create_vol((char *)volume, CONFIG_ENV_SIZE, true,
|
|
+ UBI_VOL_NUM_AUTO, false);
|
|
+}
|
|
+
|
|
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
|
static int env_ubi_load(void)
|
|
{
|
|
@@ -135,6 +147,11 @@ static int env_ubi_load(void)
|
|
return -EIO;
|
|
}
|
|
|
|
+ if (IS_ENABLED(CONFIG_ENV_UBI_VOLUME_CREATE)) {
|
|
+ env_ubi_volume_create(CONFIG_ENV_UBI_VOLUME);
|
|
+ env_ubi_volume_create(CONFIG_ENV_UBI_VOLUME_REDUND);
|
|
+ }
|
|
+
|
|
read1_fail = ubi_volume_read(CONFIG_ENV_UBI_VOLUME, (void *)tmp_env1,
|
|
CONFIG_ENV_SIZE);
|
|
if (read1_fail)
|
|
@@ -172,6 +189,9 @@ static int env_ubi_load(void)
|
|
return -EIO;
|
|
}
|
|
|
|
+ if (IS_ENABLED(CONFIG_ENV_UBI_VOLUME_CREATE))
|
|
+ env_ubi_volume_create(CONFIG_ENV_UBI_VOLUME);
|
|
+
|
|
if (ubi_volume_read(CONFIG_ENV_UBI_VOLUME, buf, CONFIG_ENV_SIZE)) {
|
|
printf("\n** Unable to read env from %s:%s **\n",
|
|
CONFIG_ENV_UBI_PART, CONFIG_ENV_UBI_VOLUME);
|