Add support for the Nook Tablet, Acclaim
Also changed occurences of NOOK with NOOKHD
This commit is contained in:
parent
3e48427eaf
commit
d780b5a0e4
@ -124,11 +124,16 @@ int parse_img(const char *image, boot_img *boot) {
|
||||
fprintf(stderr, "PXA_BOOT_HDR\n");
|
||||
boot->hdr = malloc(sizeof(pxa_boot_img_hdr));
|
||||
memcpy(boot->hdr, head, sizeof(pxa_boot_img_hdr));
|
||||
} else if (memcmp(((boot_img_hdr*) head)->cmdline, NOOK_MAGIC, 12) == 0
|
||||
|| memcmp(((boot_img_hdr*) head)->cmdline, NOOK_NEW_MAGIC, 26) == 0) {
|
||||
boot->flags |= NOOK_FLAG;
|
||||
fprintf(stderr, "NOOK_GREEN_LOADER\n");
|
||||
head += NOOK_PRE_HEADER_SZ - 1;
|
||||
} else if (memcmp(((boot_img_hdr*) head)->cmdline, NOOKHD_MAGIC, 12) == 0
|
||||
|| memcmp(((boot_img_hdr*) head)->cmdline, NOOKHD_NEW_MAGIC, 26) == 0) {
|
||||
boot->flags |= NOOKHD_FLAG;
|
||||
fprintf(stderr, "NOOKHD_GREEN_LOADER\n");
|
||||
head += NOOKHD_PRE_HEADER_SZ - 1;
|
||||
continue;
|
||||
} else if (memcmp(((boot_img_hdr*) head)->name, ACCLAIM_MAGIC, 10) == 0) {
|
||||
boot->flags |= ACCLAIM_FLAG;
|
||||
fprintf(stderr, "ACCLAIM_BAUWKSBOOT\n");
|
||||
head += ACCLAIM_PRE_HEADER_SZ - 1;
|
||||
continue;
|
||||
} else {
|
||||
boot->hdr = malloc(sizeof(boot_img_hdr));
|
||||
@ -289,8 +294,10 @@ void repack(const char* orig_image, const char* out_image) {
|
||||
} else if (boot.flags & BLOB_FLAG) {
|
||||
// Skip blob header
|
||||
write_zero(fd, sizeof(blob_hdr));
|
||||
} else if (boot.flags & NOOK_FLAG) {
|
||||
restore_buf(fd, boot.map_addr, NOOK_PRE_HEADER_SZ);
|
||||
} else if (boot.flags & NOOKHD_FLAG) {
|
||||
restore_buf(fd, boot.map_addr, NOOKHD_PRE_HEADER_SZ);
|
||||
} else if (boot.flags & ACCLAIM_FLAG) {
|
||||
restore_buf(fd, boot.map_addr, ACCLAIM_PRE_HEADER_SZ);
|
||||
}
|
||||
|
||||
// Skip a page for header
|
||||
|
@ -130,7 +130,8 @@ typedef struct blob_hdr {
|
||||
#define LG_BUMP_FLAG 0x0040
|
||||
#define SHA256_FLAG 0x0080
|
||||
#define BLOB_FLAG 0x0100
|
||||
#define NOOK_FLAG 0x0200
|
||||
#define NOOKHD_FLAG 0x0200
|
||||
#define ACCLAIM_FLAG 0x0400
|
||||
|
||||
typedef struct boot_img {
|
||||
// Memory map of the whole image
|
||||
|
@ -38,9 +38,11 @@ typedef enum {
|
||||
#define DHTB_MAGIC "\x44\x48\x54\x42\x01\x00\x00\x00"
|
||||
#define SEANDROID_MAGIC "SEANDROIDENFORCE"
|
||||
#define TEGRABLOB_MAGIC "-SIGNED-BY-SIGNBLOB-"
|
||||
#define NOOK_MAGIC "Green Loader"
|
||||
#define NOOK_NEW_MAGIC "eMMC boot.img+secondloader"
|
||||
#define NOOK_PRE_HEADER_SZ 1048576
|
||||
#define NOOKHD_MAGIC "Green Loader"
|
||||
#define NOOKHD_NEW_MAGIC "eMMC boot.img+secondloader"
|
||||
#define NOOKHD_PRE_HEADER_SZ 1048576
|
||||
#define ACCLAIM_MAGIC "BauwksBoot"
|
||||
#define ACCLAIM_PRE_HEADER_SZ 262144
|
||||
|
||||
#define SUP_LIST ((char *[]) { "gzip", "xz", "lzma", "bzip2", "lz4", "lz4_legacy", NULL })
|
||||
#define SUP_EXT_LIST ((char *[]) { "gz", "xz", "lzma", "bz2", "lz4", "lz4", NULL })
|
||||
|
Loading…
Reference in New Issue
Block a user