Changeset 30627


Ignore:
Timestamp:
2012-02-18T15:45:54+01:00 (6 years ago)
Author:
juhosg
Message:

firmware-utils/mkfwimage: allow to override firmware magic

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/firmware-utils/src/mkfwimage.c

    r18448 r30627  
    103103#define DEFAULT_VERSION         "UNKNOWN" 
    104104 
    105 #define OPTIONS "B:hv:o:r:k:" 
     105#define OPTIONS "B:hv:m:o:r:k:" 
    106106 
    107107static int debug = 0; 
    108108 
    109109typedef struct image_info { 
     110        char magic[16]; 
    110111        char version[256]; 
    111112        char outputfile[PATH_MAX]; 
     
    114115} image_info_t; 
    115116 
    116 static void write_header(void* mem, const char* version) 
     117static void write_header(void* mem, const char *magic, const char* version) 
    117118{ 
    118119        header_t* header = mem; 
    119120        memset(header, 0, sizeof(header_t)); 
    120121 
    121         memcpy(header->magic, MAGIC_HEADER, MAGIC_LENGTH); 
     122        memcpy(header->magic, magic, MAGIC_LENGTH); 
    122123        strncpy(header->version, version, sizeof(header->version)); 
    123124        header->crc = htonl(crc32(0L, (unsigned char *)header, 
     
    184185             "\t-v <version string>\t - firmware version information, default: %s\n" 
    185186             "\t-o <output file>\t - firmware output file, default: %s\n" 
     187             "\t-m <magic>\t - firmware magic, default: %s\n" 
    186188             "\t-k <kernel file>\t\t - kernel file\n" 
    187189             "\t-r <rootfs file>\t\t - rootfs file\n" 
    188190             "\t-B <board name>\t\t - choose firmware layout for specified board (XS2, XS5, RS, XM)\n" 
    189191             "\t-h\t\t\t - this help\n", VERSION, 
    190              progname, DEFAULT_VERSION, DEFAULT_OUTPUT_FILE); 
     192             progname, DEFAULT_VERSION, DEFAULT_OUTPUT_FILE, MAGIC_HEADER); 
    191193} 
    192194 
     
    340342 
    341343        // write header 
    342         write_header(mem, im->version); 
     344        write_header(mem, im->magic, im->version); 
    343345        ptr = mem + sizeof(header_t); 
    344346        // write all parts 
     
    391393        strcpy(im.outputfile, DEFAULT_OUTPUT_FILE); 
    392394        strcpy(im.version, DEFAULT_VERSION); 
     395        strncpy(im.magic, MAGIC_HEADER, sizeof(im.magic)); 
    393396 
    394397        while ((o = getopt(argc, argv, OPTIONS)) != -1) 
     
    402405                        if (optarg) 
    403406                                strncpy(im.outputfile, optarg, sizeof(im.outputfile)); 
     407                        break; 
     408                case 'm': 
     409                        if (optarg) 
     410                                strncpy(im.magic, optarg, sizeof(im.magic)); 
    404411                        break; 
    405412                case 'h': 
Note: See TracChangeset for help on using the changeset viewer.