Commit 1bb4c2da4775329bcf5811616fc8f0ce78ee2121

Authored by Gordon Hollingworth
1 parent c3ee230e

Compile bootcode.bin and start.elf into rpiboot

This helps avoid picking up the wrong files when msd files have already
been installed as a debian package
Showing 2 changed files with 15 additions and 8 deletions
Makefile
1   -rpiboot: main.c
  1 +rpiboot: main.c msd/bootcode.h msd/start.h
2 2 $(CC) -Wall -Wextra -g -o $@ $< -lusb-1.0
3 3  
  4 +%.h: %.bin
  5 + xxd -i $< > $@
  6 +
  7 +%.h: %.elf
  8 + xxd -i $< > $@
  9 +
4 10 uninstall:
5 11 rm -f /usr/bin/rpiboot
6 12 rm -f /usr/share/rpiboot/usbbootcode.bin
... ...
... ... @@ -5,6 +5,9 @@
5 5  
6 6 #include <unistd.h>
7 7  
  8 +#include "msd/bootcode.h"
  9 +#include "msd/start.h"
  10 +
8 11 int signed_boot = 0;
9 12 int verbose = 0;
10 13 int loop = 0;
... ... @@ -410,9 +413,11 @@ FILE * check_file(char * dir, char *fname)
410 413  
411 414 if(fp == NULL)
412 415 {
413   - strcpy(path, "/usr/share/rpiboot/msd/");
414   - strcat(path, fname);
415   - fp = fopen(path, "rb");
  416 + if(strcmp(fname, "bootcode.bin") == 0)
  417 + fp = fmemopen(msd_bootcode_bin, msd_bootcode_bin_len, "r");
  418 + else
  419 + if(strcmp(fname, "start.elf") == 0)
  420 + fp = fmemopen(msd_start_elf, msd_start_elf_len, "r");
416 421 }
417 422  
418 423 return fp;
... ... @@ -563,10 +568,6 @@ int main(int argc, char *argv[])
563 568 #endif
564 569  
565 570  
566   - // Default to standard msd directory
567   - if(directory == NULL)
568   - directory = "msd";
569   -
570 571 second_stage = check_file(directory, "bootcode.bin");
571 572 if(second_stage == NULL)
572 573 {
... ...