diff --git a/GNUmakefile.in b/GNUmakefile.in index bd4c2e10..f8997c0b 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -16,7 +16,7 @@ NASMESCAPE = $(subst ','"'$(COMMA) \"'\"$(COMMA) '"',$(1)) override PATH := @PATH@ export PATH -override BUILD_ELTORITO_EFI := @BUILD_ELTORITO_EFI@ +override BUILD_CD_EFI := @BUILD_CD_EFI@ override BUILD_PXE := @BUILD_PXE@ override BUILD_CD := @BUILD_CD@ override BUILD_LIMINE_S2DEPLOY := @BUILD_LIMINE_S2DEPLOY@ @@ -101,7 +101,7 @@ install-data: $(INSTALL) -d '$(DESTDIR)$(PREFIX)/share/limine' $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/limine.sys' '$(DESTDIR)$(PREFIX)/share/limine/' || true $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/limine-cd.bin' '$(DESTDIR)$(PREFIX)/share/limine/' || true - $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' '$(DESTDIR)$(PREFIX)/share/limine/' || true + $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(DESTDIR)$(PREFIX)/share/limine/' || true $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/limine-pxe.bin' '$(DESTDIR)$(PREFIX)/share/limine/' || true $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/BOOTX64.EFI' '$(DESTDIR)$(PREFIX)/share/limine/' || true $(INSTALL) -m 644 '$(call SHESCAPE,$(BINDIR))/BOOTIA32.EFI' '$(DESTDIR)$(PREFIX)/share/limine/' || true @@ -140,24 +140,24 @@ ifneq ($(BUILD_LIMINE_S2DEPLOY), no) $(MAKE) limine-s2deploy endif -.PHONY: limine-eltorito-efi -limine-eltorito-efi: -ifneq ($(BUILD_ELTORITO_EFI), no) +.PHONY: limine-cd-efi +limine-cd-efi: +ifneq ($(BUILD_CD_EFI), no) mkdir -p '$(call SHESCAPE,$(BINDIR))' - dd if=/dev/zero of='$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' bs=512 count=2880 2>/dev/null - ( mformat -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' -f 1440 :: && \ - mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' ::/EFI && \ - mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' ::/EFI/BOOT && \ + dd if=/dev/zero of='$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' bs=512 count=2880 2>/dev/null + ( mformat -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' -f 1440 :: && \ + mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' ::/EFI && \ + mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' ::/EFI/BOOT && \ ( ( [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi64/BOOTX64.EFI' ] && \ - mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi64/BOOTX64.EFI' ::/EFI/BOOT ) || true ) && \ + mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi64/BOOTX64.EFI' ::/EFI/BOOT ) || true ) && \ ( ( [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi32/BOOTIA32.EFI' ] && \ - mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi32/BOOTIA32.EFI' ::/EFI/BOOT ) || true ) \ - ) || rm -f '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' + mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi32/BOOTIA32.EFI' ::/EFI/BOOT ) || true ) \ + ) || rm -f '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' endif .PHONY: limine-uefi limine-uefi: @BUILD_UEFI32@ @BUILD_UEFI64@ - $(MAKE) limine-eltorito-efi + $(MAKE) limine-cd-efi .PHONY: limine-uefi64 limine-uefi64: $(call MKESCAPE,$(SRCDIR))/reduced-gnu-efi @@ -467,7 +467,7 @@ full-hybrid-test: mkdir -p test_image/boot sudo cp -rv $(BINDIR)/* test_image/boot/ sudo cp -rv test/* test_image/boot/ - xorriso -as mkisofs -b boot/limine-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table --efi-boot boot/limine-eltorito-efi.bin -efi-boot-part --efi-boot-image --protective-msdos-label test_image/ -o test.iso + xorriso -as mkisofs -b boot/limine-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table --efi-boot boot/limine-cd-efi.bin -efi-boot-part --efi-boot-image --protective-msdos-label test_image/ -o test.iso $(BINDIR)/limine-s2deploy test.iso qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4 -cdrom test.iso -debugcon stdio qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4 -hda test.iso -debugcon stdio diff --git a/README.md b/README.md index 027377fe..da7c33de 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ Building the toolchain can be accomplished by running: In order to build Limine, the following programs have to be installed: `GNU make`, `grep`, `sed`, `find`, `awk`, `gzip`, `nasm`, `mtools` -(optional, necessary to build `limine-eltorito-efi.bin`). +(optional, necessary to build `limine-cd-efi.bin`). Furthermore, either the toolchain must have been built in the previous paragraph, or `gcc` or `llvm/clang` must also be installed, alongside `GNU binutils`. `nasm` is optional if the toolchain was built in the previous @@ -180,10 +180,10 @@ with a supported file system. ### BIOS/UEFI hybrid ISO creation In order to create a hybrid ISO with Limine, place the -`limine-eltorito-efi.bin`, `limine-cd.bin`, `limine.sys`, and `limine.cfg` files +`limine-cd-efi.bin`, `limine-cd.bin`, `limine.sys`, and `limine.cfg` files into a directory which will serve as the root of the created ISO. (`limine.sys` and `limine.cfg` must either be in the root or inside a `boot` -subdirectory; `limine-eltorito-efi.bin` and `limine-cd.bin` can reside +subdirectory; `limine-cd-efi.bin` and `limine-cd.bin` can reside anywhere). Place any other file you want to be on the final ISO in said directory, then @@ -191,7 +191,7 @@ run: ``` xorriso -as mkisofs -b \ -no-emul-boot -boot-load-size 4 -boot-info-table \ - --efi-boot \ + --efi-boot \ -efi-boot-part --efi-boot-image --protective-msdos-label \ -o image.iso ``` @@ -208,11 +208,11 @@ limine-s2deploy image.iso For example, if it was copied in `/boot/limine-cd.bin`, it would be `boot/limine-cd.bin`. -`` is the relative path of -`limine-eltorito-efi.bin` inside the root directory. +`` is the relative path of +`limine-cd-efi.bin` inside the root directory. For example, if it was copied in -`/boot/limine-eltorito-efi.bin`, it would be -`boot/limine-eltorito-efi.bin`. +`/boot/limine-cd-efi.bin`, it would be +`boot/limine-cd-efi.bin`. ### BIOS/PXE boot The `limine-pxe.bin` binary is a valid PXE boot image. diff --git a/configure.ac b/configure.ac index 3f861743..9a196950 100644 --- a/configure.ac +++ b/configure.ac @@ -126,24 +126,24 @@ fi AC_SUBST(BUILD_UEFI64, [$BUILD_UEFI64]) -BUILD_ELTORITO_EFI="default" +BUILD_CD_EFI="default" -AC_ARG_ENABLE([eltorito-efi], - AS_HELP_STRING([--disable-eltorito-efi], [disable limine-eltorito-efi.bin build]), - BUILD_ELTORITO_EFI="$enableval") +AC_ARG_ENABLE([cd-efi], + AS_HELP_STRING([--disable-cd-efi], [disable limine-cd-efi.bin build]), + BUILD_CD_EFI="$enableval") -if ! test "x$BUILD_ELTORITO_EFI" = "xno"; then +if ! test "x$BUILD_CD_EFI" = "xno"; then AC_CHECK_PROG([MTOOLS_FOUND], [mcopy], [yes]) if ! test "x$MTOOLS_FOUND" = "xyes"; then - if test "x$BUILD_ELTORITO_EFI" = "xyes"; then - AC_MSG_ERROR([mtools not found, install mtools to build limine-eltorito-efi.bin]) + if test "x$BUILD_CD_EFI" = "xyes"; then + AC_MSG_ERROR([mtools not found, install mtools to build limine-cd-efi.bin]) fi - AC_MSG_WARN([mtools not found, install mtools to build limine-eltorito-efi.bin]) - BUILD_ELTORITO_EFI="no" + AC_MSG_WARN([mtools not found, install mtools to build limine-cd-efi.bin]) + BUILD_CD_EFI="no" fi fi -AC_SUBST(BUILD_ELTORITO_EFI, [$BUILD_ELTORITO_EFI]) +AC_SUBST(BUILD_CD_EFI, [$BUILD_CD_EFI]) AC_ARG_VAR(TOOLCHAIN, [Alternative toolchain prefix [default: limine]]) test "x$TOOLCHAIN" = "x" && TOOLCHAIN='limine' diff --git a/limine-s2deploy/Makefile b/limine-s2deploy/Makefile index 4b0d4493..d9bf6f20 100644 --- a/limine-s2deploy/Makefile +++ b/limine-s2deploy/Makefile @@ -14,7 +14,7 @@ install-data: all $(INSTALL) -d '$(DESTDIR)$(PREFIX)/share/limine' $(INSTALL) -m 644 limine.sys '$(DESTDIR)$(PREFIX)/share/limine/' $(INSTALL) -m 644 limine-cd.bin '$(DESTDIR)$(PREFIX)/share/limine/' - $(INSTALL) -m 644 limine-eltorito-efi.bin '$(DESTDIR)$(PREFIX)/share/limine/' + $(INSTALL) -m 644 limine-cd-efi.bin '$(DESTDIR)$(PREFIX)/share/limine/' $(INSTALL) -m 644 limine-pxe.bin '$(DESTDIR)$(PREFIX)/share/limine/' $(INSTALL) -m 644 BOOTX64.EFI '$(DESTDIR)$(PREFIX)/share/limine/' $(INSTALL) -m 644 BOOTIA32.EFI '$(DESTDIR)$(PREFIX)/share/limine/'