linuxOS_AP05/buildroot/package/abootimg/0002-Support-w-o-ramdisk.patch

58 lines
1.5 KiB
Diff
Raw Permalink Normal View History

2025-06-02 05:59:07 +00:00
From 368952c8cd81a2a4f4873a4d452178c499be2576 Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Sat, 15 Dec 2018 15:57:16 +0800
Subject: [PATCH 2/3] Support w/o ramdisk
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
abootimg.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/abootimg.c b/abootimg.c
index 1ad03f1..b7b9b4b 100644
--- a/abootimg.c
+++ b/abootimg.c
@@ -289,10 +289,8 @@ int check_boot_img_header(t_abootimg* img)
return 1;
}
- if (!(img->header.ramdisk_size)) {
+ if (!(img->header.ramdisk_size))
fprintf(stderr, "%s: ramdisk size is null\n", img->fname);
- return 1;
- }
unsigned page_size = img->header.page_size;
if (!page_size) {
@@ -566,7 +564,7 @@ void update_images(t_abootimg *img)
img->header.ramdisk_size = rsize;
img->ramdisk = r;
}
- else if (img->kernel) {
+ else if (img->kernel && rsize) {
// if kernel is updated, copy the ramdisk from original image
char* r = malloc(rsize);
if (!r)
@@ -806,6 +804,9 @@ void extract_ramdisk(t_abootimg* img)
unsigned n = (ksize + psize - 1) / psize;
unsigned roffset = (1+n)*psize;
+ if (!rsize)
+ return;
+
printf ("extracting ramdisk in %s\n", img->ramdisk_fname);
void* r = malloc(rsize);
@@ -934,7 +935,7 @@ int main(int argc, char** argv)
break;
case create:
- if (!bootimg->kernel_fname || !bootimg->ramdisk_fname) {
+ if (!bootimg->kernel_fname) {
print_usage();
break;
}
--
2.11.0