kern: Update init to reflect 10.0.0 changes
This commit is contained in:
@@ -2,6 +2,20 @@
|
||||
import sys, os
|
||||
from struct import pack as pk, unpack as up
|
||||
|
||||
ATMOSPHERE_TARGET_FIRMWARE_100 = 1
|
||||
ATMOSPHERE_TARGET_FIRMWARE_200 = 2
|
||||
ATMOSPHERE_TARGET_FIRMWARE_300 = 3
|
||||
ATMOSPHERE_TARGET_FIRMWARE_400 = 4
|
||||
ATMOSPHERE_TARGET_FIRMWARE_500 = 5
|
||||
ATMOSPHERE_TARGET_FIRMWARE_600 = 6
|
||||
ATMOSPHERE_TARGET_FIRMWARE_620 = 7
|
||||
ATMOSPHERE_TARGET_FIRMWARE_700 = 8
|
||||
ATMOSPHERE_TARGET_FIRMWARE_800 = 9
|
||||
ATMOSPHERE_TARGET_FIRMWARE_810 = 10
|
||||
ATMOSPHERE_TARGET_FIRMWARE_900 = 11
|
||||
ATMOSPHERE_TARGET_FIRMWARE_910 = 12
|
||||
ATMOSPHERE_TARGET_FIRMWARE_1000 = 13
|
||||
|
||||
def align_up(val, algn):
|
||||
val += algn - 1
|
||||
return val - (val % algn)
|
||||
@@ -18,7 +32,7 @@ def main(argc, argv):
|
||||
kernel_metadata_offset = 4
|
||||
assert (kernel_metadata_offset <= len(kernel) - 0x40)
|
||||
assert (kernel[kernel_metadata_offset:kernel_metadata_offset + 4] == b'MSS0')
|
||||
kernel_end = up('<I', kernel[kernel_metadata_offset + 0x34:kernel_metadata_offset + 0x38])[0]
|
||||
kernel_end = up('<I', kernel[kernel_metadata_offset + 0x38:kernel_metadata_offset + 0x3C])[0]
|
||||
assert (kernel_end >= len(kernel))
|
||||
|
||||
embedded_ini = b''
|
||||
@@ -36,8 +50,8 @@ def main(argc, argv):
|
||||
|
||||
with open('mesosphere.bin', 'wb') as f:
|
||||
f.write(kernel[:kernel_metadata_offset + 4])
|
||||
f.write(pk('<QQ', embedded_ini_offset, kernel_ldr_offset))
|
||||
f.write(kernel[kernel_metadata_offset + 0x14:])
|
||||
f.write(pk('<QQI', embedded_ini_offset, kernel_ldr_offset, ATMOSPHERE_TARGET_FIRMWARE_1000))
|
||||
f.write(kernel[kernel_metadata_offset + 0x18:])
|
||||
f.seek(embedded_ini_offset)
|
||||
f.write(embedded_ini)
|
||||
f.seek(embedded_ini_end)
|
||||
|
||||
Reference in New Issue
Block a user