aboutsummaryrefslogtreecommitdiff
path: root/scripts/sercomm-kernel-header.py
diff options
context:
space:
mode:
authorMikhail Zhilkin <csharper2005@gmail.com>2022-12-02 15:26:17 +0000
committerChuanhong Guo <gch981213@gmail.com>2023-06-11 13:36:38 +0800
commit35a4418d3966ccf6229916b0021bd18871ef22dd (patch)
tree1455c8c7d838f33fa7f3ce379c435e132c1bda74 /scripts/sercomm-kernel-header.py
parentb8e3fa2d1205213c71bc356744e9bed6cd8e69f9 (diff)
scripts: sercomm-kernel-header.py: improve compatibility
This improves compatibility with the elder stock firmwares of the following devices, which have not yet been merged into OpenWrt: - Beeline SmartBox Pro - Beeline SmartBox Turbo+ - WiFire S1500.NBN Without this, OpenWrt factory image installation may fail. Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Signed-off-by: Maximilian Weinmann <x1@disroot.org>
Diffstat (limited to 'scripts/sercomm-kernel-header.py')
-rwxr-xr-xscripts/sercomm-kernel-header.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/sercomm-kernel-header.py b/scripts/sercomm-kernel-header.py
index bfb29c6fe0..40bcbb1385 100755
--- a/scripts/sercomm-kernel-header.py
+++ b/scripts/sercomm-kernel-header.py
@@ -48,12 +48,12 @@ def get_kernel_header(args):
struct.pack_into('<L', header, 0x2c, rootfs_size)
struct.pack_into('<L', header, 0x30, crc)
- rootfs_end_offset = args.rootfs_offset + rootfs_size
- struct.pack_into('<L', header, 0x4, rootfs_end_offset)
-
kernel_size = os.path.getsize(args.kernel_file)
struct.pack_into('<L', header, 0x14, kernel_size)
+ kernel_end_offset = args.kernel_offset + kernel_size
+ struct.pack_into('<L', header, 0x4, kernel_end_offset)
+
buf = open(args.kernel_file,'rb').read()
crc = binascii.crc32(buf) & 0xffffffff
struct.pack_into('<L', header, 0x18, crc)