mirror of
https://github.com/elseif/MikroTikPatch.git
synced 2026-10-11 13:14:58 +00:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8594be223a | ||
|
|
9b8d2e6f7a | ||
|
|
c91013d697 | ||
|
|
40f2886e62 |
@@ -133,7 +133,8 @@ show_system_info() {
|
||||
}
|
||||
|
||||
confirm_storage() {
|
||||
STORAGE=$(lsblk | grep disk | head -1 | awk '{print $1}')
|
||||
# STORAGE=$(lsblk | grep disk | head -1 | awk '{print $1}')
|
||||
STORAGE=$(ls /sys/block | grep -vE '^(zram|loop|ram|sr|fd|dm-)' | head -1)
|
||||
ask_until "$MSG_STORAGE_DEVICE" "$STORAGE"
|
||||
STORAGE=$resp
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user