diff --git a/Makefile b/Makefile index acfcd4ed..ed80c8f4 100644 --- a/Makefile +++ b/Makefile @@ -138,7 +138,7 @@ test-lib: include/target.h $(OBJS) wolfboot.efi: wolfboot.elf @echo "\t[BIN] $@" - $(Q)$(OBJCOPY) -j .text -j .sdata -j .data \ + $(Q)$(OBJCOPY) -j .rodata -j .text -j .sdata -j .data \ -j .dynamic -j .dynsym -j .rel \ -j .rela -j .reloc -j .eh_frame \ --target=efi-app-x86_64 --subsystem=10 $^ $@ diff --git a/arch.mk b/arch.mk index 8278aa9e..4936ee97 100644 --- a/arch.mk +++ b/arch.mk @@ -788,6 +788,8 @@ ifeq ($(TARGET),x86_64_efi) -fshort-wchar -mno-red-zone -maccumulate-outgoing-args CFLAGS += -I/usr/include/efi -I/usr/include/efi/x86_64 \ -DPLATFORM_X86_64_EFI -DWOLFBOOT_DUALBOOT + # avoid using of fixed LOAD_ADDRESS, uefi target uses dynamic location + CFLAGS += -DNO_WOLFBOOT_LOAD_ADDRESS LDFLAGS = -shared -Bsymbolic -L/usr/lib -T$(GNU_EFI_LSCRIPT) LD_START_GROUP = $(GNU_EFI_CRT0) LD_END_GROUP = -lgnuefi -lefi diff --git a/config/examples/x86_64_efi.config b/config/examples/x86_64_efi.config index a6e5652a..761393d5 100644 --- a/config/examples/x86_64_efi.config +++ b/config/examples/x86_64_efi.config @@ -8,4 +8,4 @@ SPMATH=0 # required for keytools WOLFBOOT_SECTOR_SIZE?=0x1000 WOLFBOOT_NO_PARTITIONS=1 -WOLFBOOT_LOAD_ADDRESS=0 + diff --git a/include/target.h.in b/include/target.h.in index 2a01a4bb..14c5216f 100644 --- a/include/target.h.in +++ b/include/target.h.in @@ -92,8 +92,10 @@ #endif /* WOLFBOOT_FIXED_PARTITIONS */ +#if !defined(NO_WOLFBOOT_LOAD_ADDRESS) /* Load address in RAM for staged OS (update_ram only) */ #define WOLFBOOT_LOAD_ADDRESS @WOLFBOOT_LOAD_ADDRESS@ +#endif #define WOLFBOOT_LOAD_DTS_ADDRESS @WOLFBOOT_LOAD_DTS_ADDRESS@ diff --git a/tools/efi/compile_efi_linux.sh b/tools/efi/compile_efi_linux.sh index 7a529fd8..a8bbabc1 100755 --- a/tools/efi/compile_efi_linux.sh +++ b/tools/efi/compile_efi_linux.sh @@ -22,7 +22,7 @@ if [ -f "./tools/keytools/sign" ]; then SIGN_TOOL="./tools/keytools/sign" fi -$SIGN_TOOL --ed25519 $IMAGE_DIR/images/bzImage wolfBoot_signing_private_key.der 1 +$SIGN_TOOL --ed25519 $IMAGE_DIR/images/bzImage wolfboot_signing_private_key.der 1 $SIGN_TOOL --ed25519 $IMAGE_DIR/images/bzImage wolfboot_signing_private_key.der 2 mkdir -p /tmp/efi diff --git a/tools/keytools/keygen.c b/tools/keytools/keygen.c index 45d1e272..1dfacdca 100644 --- a/tools/keytools/keygen.c +++ b/tools/keytools/keygen.c @@ -145,6 +145,8 @@ const char Store_hdr[] = "\n" "#define KEYSTORE_SECTION __attribute__((section (\"__KEYSTORE,__keystore\")))\n" "#elif defined(__CCRX__)\n" "#define KEYSTORE_SECTION\n" + "#elif defined(TARGET_x86_64_efi)\n" + "#define KEYSTORE_SECTION\n" "#else\n" "#define KEYSTORE_SECTION __attribute__((section (\".keystore\")))\n" "#endif\n\n"