1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
#!/usr/bin/env python3
"""
# SPDX-License-Identifier: GPL-2.0-or-later
#
# sercomm-kernel-header.py: Creates Sercomm kernel header
#
# Copyright © 2022 Mikhail Zhilkin
"""
import argparse
import binascii
import os
import struct
KERNEL_HEADER_SIZE = 0x100
PADDING = 0xff
ROOTFS_FAKE_HEADER = "UBI#"
def auto_int(x):
return int(x, 0)
def create_kernel_header(args):
out_file = open(args.header_file, "wb")
header = get_kernel_header(args)
out_file.write(header)
out_file.close()
def get_kernel_header(args):
header = bytearray([PADDING] * KERNEL_HEADER_SIZE)
struct.pack_into('