Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1bcced2b authored by Jean-Baptiste Queru's avatar Jean-Baptiste Queru Committed by Android Git Automerger
Browse files

am c57689fc: Merge "add command-line arguments to mkbootimg to move kernel, ramdisk, etc."

* commit 'c57689fc':
  add command-line arguments to mkbootimg to move kernel, ramdisk, etc.
parents 94938c9d c57689fc
Loading
Loading
Loading
Loading
+18 −11
Original line number Original line Diff line number Diff line
@@ -109,18 +109,17 @@ int main(int argc, char **argv)
    int fd;
    int fd;
    SHA_CTX ctx;
    SHA_CTX ctx;
    uint8_t* sha;
    uint8_t* sha;
    unsigned base           = 0x10000000;
    unsigned kernel_offset  = 0x00008000;
    unsigned ramdisk_offset = 0x01000000;
    unsigned second_offset  = 0x00f00000;
    unsigned tags_offset    = 0x00000100;


    argc--;
    argc--;
    argv++;
    argv++;


    memset(&hdr, 0, sizeof(hdr));
    memset(&hdr, 0, sizeof(hdr));


        /* default load addresses */
    hdr.kernel_addr =  0x10008000;
    hdr.ramdisk_addr = 0x11000000;
    hdr.second_addr =  0x10F00000;
    hdr.tags_addr =    0x10000100;

    while(argc > 0){
    while(argc > 0){
        char *arg = argv[0];
        char *arg = argv[0];
        char *val = argv[1];
        char *val = argv[1];
@@ -140,11 +139,15 @@ int main(int argc, char **argv)
        } else if(!strcmp(arg, "--cmdline")) {
        } else if(!strcmp(arg, "--cmdline")) {
            cmdline = val;
            cmdline = val;
        } else if(!strcmp(arg, "--base")) {
        } else if(!strcmp(arg, "--base")) {
            unsigned base = strtoul(val, 0, 16);
            base = strtoul(val, 0, 16);
            hdr.kernel_addr =  base + 0x00008000;
        } else if(!strcmp(arg, "--kernel_offset")) {
            hdr.ramdisk_addr = base + 0x01000000;
            kernel_offset = strtoul(val, 0, 16);
            hdr.second_addr =  base + 0x00F00000;
        } else if(!strcmp(arg, "--ramdisk_offset")) {
            hdr.tags_addr =    base + 0x00000100;
            ramdisk_offset = strtoul(val, 0, 16);
        } else if(!strcmp(arg, "--second_offset")) {
            second_offset = strtoul(val, 0, 16);
        } else if(!strcmp(arg, "--tags_offset")) {
            tags_offset = strtoul(val, 0, 16);
        } else if(!strcmp(arg, "--board")) {
        } else if(!strcmp(arg, "--board")) {
            board = val;
            board = val;
        } else if(!strcmp(arg,"--pagesize")) {
        } else if(!strcmp(arg,"--pagesize")) {
@@ -159,6 +162,10 @@ int main(int argc, char **argv)
    }
    }
    hdr.page_size = pagesize;
    hdr.page_size = pagesize;


    hdr.kernel_addr =  base + kernel_offset;
    hdr.ramdisk_addr = base + ramdisk_offset;
    hdr.second_addr =  base + second_offset;
    hdr.tags_addr =    base + tags_offset;


    if(bootimg == 0) {
    if(bootimg == 0) {
        fprintf(stderr,"error: no output filename specified\n");
        fprintf(stderr,"error: no output filename specified\n");