Compare commits

...
2 Commits
Author SHA1 Message Date
elseif 8594be223a modified: patch.py 2026-10-11 02:49:12 +08:00
elseif 9b8d2e6f7a modified: patch.py 2026-10-10 13:57:56 +08:00
+2 -8
View File
@@ -113,19 +113,13 @@ def patch_bzimage(data:bytes,key_dict:dict):
return new_data
def patch_initrd_xz(initrd_xz:bytes,key_dict:dict,ljust=True):
try:
initrd = lzma.decompress(initrd_xz)
except Exception as e:
print(f'size:{len(initrd_xz)},header:{initrd_xz[:20].hex().upper()},footer:{initrd_xz[-20:].hex().upper()}\n')
raise Exception(f'failed to decompress initrd_xz: {e}')
initrd = lzma.decompress(initrd_xz)
new_initrd = initrd
for old_public_key,new_public_key in key_dict.items():
new_initrd = replace_key(old_public_key,new_public_key,new_initrd,'initrd')
preset = 6
while True:
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters= [{"id": lzma.FILTER_LZMA2,"preset": preset }] )
new_initrd_xz = lzma.compress(new_initrd,check=lzma.CHECK_CRC32,filters=[{"id": lzma.FILTER_LZMA2,"preset": preset | lzma.PRESET_EXTREME}])
print(f'preset:{preset},initrd xz new size:{len(new_initrd_xz)},old size:{len(initrd_xz)}')
preset += 1
if len(new_initrd_xz) <= len(initrd_xz) or preset > 9: