mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 07:46:48 +00:00
uboot-mediatek: no compression means IH_COMP_NONE
Treat missing compression node in FIT image as IH_COMP_NONE.
This is implicentely already happening in most places, but for now
was still triggering an annoying warning about initramfs compression
being obsolete despite compression note being absent.
Fix this.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 0a18456ffc
)
This commit is contained in:
parent
8ff8a4dc9e
commit
3889f90ee2
@ -0,0 +1,48 @@
|
||||
From 22832a0a15227e3fcc364b356247d8aeb9ce45b3 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Sat, 27 Aug 2022 04:05:31 +0100
|
||||
Subject: [PATCH 1/2] bootm: fix typo imape_comp -> image_comp
|
||||
|
||||
Chage variable name 'imape_comp' to the supposedly intended name
|
||||
'image_comp'.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
boot/bootm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/boot/bootm.c
|
||||
+++ b/boot/bootm.c
|
||||
@@ -973,7 +973,7 @@ static int bootm_host_load_image(const v
|
||||
int noffset;
|
||||
ulong load_end;
|
||||
uint8_t image_type;
|
||||
- uint8_t imape_comp;
|
||||
+ uint8_t image_comp;
|
||||
void *load_buf;
|
||||
int ret;
|
||||
|
||||
@@ -991,20 +991,20 @@ static int bootm_host_load_image(const v
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- if (fit_image_get_comp(fit, noffset, &imape_comp)) {
|
||||
+ if (fit_image_get_comp(fit, noffset, &image_comp)) {
|
||||
puts("Can't get image compression!\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Allow the image to expand by a factor of 4, should be safe */
|
||||
load_buf = malloc((1 << 20) + len * 4);
|
||||
- ret = image_decomp(imape_comp, 0, data, image_type, load_buf,
|
||||
+ ret = image_decomp(image_comp, 0, data, image_type, load_buf,
|
||||
(void *)data, len, CONFIG_SYS_BOOTM_LEN,
|
||||
&load_end);
|
||||
free(load_buf);
|
||||
|
||||
if (ret) {
|
||||
- ret = handle_decomp_error(imape_comp, load_end - 0, ret);
|
||||
+ ret = handle_decomp_error(image_comp, load_end - 0, ret);
|
||||
if (ret != BOOTM_ERR_UNIMPLEMENTED)
|
||||
return ret;
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
From b2c109c012ca946baebbb23e7f4301f6eee4c6f3 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Mon, 15 Aug 2022 12:15:50 +0200
|
||||
Subject: [PATCH 2/2] image-fit: don't set compression if it can't be read
|
||||
|
||||
fit_image_get_comp() should not set value -1 in case it can't read
|
||||
the compression node. Instead, leave the value untouched in that case
|
||||
as it can be absent and a default value previously defined by the
|
||||
caller of fit_image_get_comp() should be used.
|
||||
|
||||
As a result the warning message
|
||||
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
|
||||
no longer shows if the compression node is actually absent.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
boot/bootm.c | 6 ++----
|
||||
boot/image-fit.c | 3 +--
|
||||
cmd/ximg.c | 7 ++-----
|
||||
3 files changed, 5 insertions(+), 11 deletions(-)
|
||||
|
||||
--- a/boot/bootm.c
|
||||
+++ b/boot/bootm.c
|
||||
@@ -991,10 +991,8 @@ static int bootm_host_load_image(const v
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- if (fit_image_get_comp(fit, noffset, &image_comp)) {
|
||||
- puts("Can't get image compression!\n");
|
||||
- return -EINVAL;
|
||||
- }
|
||||
+ if (fit_image_get_comp(fit, noffset, &image_comp))
|
||||
+ image_comp = IH_COMP_NONE;
|
||||
|
||||
/* Allow the image to expand by a factor of 4, should be safe */
|
||||
load_buf = malloc((1 << 20) + len * 4);
|
||||
--- a/boot/image-fit.c
|
||||
+++ b/boot/image-fit.c
|
||||
@@ -476,7 +476,7 @@ void fit_print_contents(const void *fit)
|
||||
void fit_image_print(const void *fit, int image_noffset, const char *p)
|
||||
{
|
||||
char *desc;
|
||||
- uint8_t type, arch, os, comp;
|
||||
+ uint8_t type, arch, os, comp = IH_COMP_NONE;
|
||||
size_t size;
|
||||
ulong load, entry;
|
||||
const void *data;
|
||||
@@ -793,7 +793,6 @@ int fit_image_get_comp(const void *fit,
|
||||
data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
|
||||
if (data == NULL) {
|
||||
fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
|
||||
- *comp = -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
--- a/cmd/ximg.c
|
||||
+++ b/cmd/ximg.c
|
||||
@@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int
|
||||
return 1;
|
||||
}
|
||||
|
||||
- if (fit_image_get_comp(fit_hdr, noffset, &comp)) {
|
||||
- puts("Could not find script subimage "
|
||||
- "compression type\n");
|
||||
- return 1;
|
||||
- }
|
||||
+ if (fit_image_get_comp(fit_hdr, noffset, &comp))
|
||||
+ comp = IH_COMP_NONE;
|
||||
|
||||
data = (ulong)fit_data;
|
||||
len = (ulong)fit_len;
|
@ -68,7 +68,7 @@
|
||||
{
|
||||
--- a/boot/image-fit.c
|
||||
+++ b/boot/image-fit.c
|
||||
@@ -1993,6 +1993,51 @@ static const char *fit_get_image_type_pr
|
||||
@@ -1992,6 +1992,51 @@ static const char *fit_get_image_type_pr
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
|
@ -41,11 +41,9 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
boot/image-fdt.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/boot/image-fdt.c b/boot/image-fdt.c
|
||||
index 692a9ad3e4..4017bc94a6 100644
|
||||
--- a/boot/image-fdt.c
|
||||
+++ b/boot/image-fdt.c
|
||||
@@ -601,6 +601,12 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
|
||||
@@ -601,6 +601,12 @@ int image_setup_libfdt(bootm_headers_t *
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user