squeak-phone/devices/samsung-herolte/reassemble-mkbootimg-osm0si...

35 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python3
# shell quoting sucks *so hard* that I switched to python.
# PostmarketOS comes with mkbootimg-osm0sis and unpackbootimg, which
# aren't *quite* inverses of each other. This script is a
# quick-and-dirty almost-inverse of unpackbootimg.
import sys
import os
[_exe, basefilename] = sys.argv
cmdline = ['mkbootimg-osm0sis']
for p in ['base', 'board', 'cmdline', 'hashtype',
'kernel_offset', 'os_patch_level', 'os_version', 'pagesize',
'ramdisk_offset', 'second_offset', 'tags_offset']:
filename = basefilename + '-' + p
try:
with open(filename, 'rt') as f:
param = f.read().strip()
except FileNotFoundError:
param = ''
if param:
cmdline.append('--' + p)
cmdline.append(param)
cmdline = cmdline + ['--kernel', basefilename + '-zImage',
'--dt', basefilename + '-dt',
'--ramdisk', basefilename + '-ramdisk.gz',
'-o', basefilename]
os.execvp(cmdline[0], cmdline)