mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-20 09:35:26 +00:00
Merge pull request #466 from desertwitch/upstream-fixes2
QoL improvements
This commit is contained in:
13
README.md
13
README.md
@@ -807,18 +807,13 @@ $ dd if=shredos-20200412.img of=/dev/sdx (20200412 will be the day you compiled,
|
||||
#### The following configurations are available to build different targets:
|
||||
|
||||
- `make shredos_defconfig` - build USB image and hybrid ISO (64-bit)
|
||||
- `make shredos_i586_defconfig` - build USB image and hybrid ISO (32-bit)
|
||||
- `make shredos_img_defconfig` - build USB image only (64-bit)
|
||||
- `make shredos_img_i586_defconfig` - build USB image only (32-bit)
|
||||
- `make shredos_iso_defconfig` - build hybrid ISO only (64-bit)
|
||||
- `make shredos_iso_i586_defconfig` - build hybrid ISO only (32-bit)
|
||||
- `make shredos_iso_legacy_defconfig` - build legacy ISO only (64-bit)
|
||||
- `make shredos_iso_legacy_i586_defconfig` - build legacy ISO only (32-bit)
|
||||
- `make shredos_lite_defconfig` - build lighter USB image and hybrid ISO (64-bit)
|
||||
- `make shredos_i686_lite_defconfig` - build lighter USB image and hybrid ISO (32-bit)
|
||||
|
||||
#### The following experimental configurations are available for testing:
|
||||
|
||||
- `make shredos_iso_extra_defconfig` - build hybrid ISO with appended writeable partition (64-bit)
|
||||
- `make shredos_iso_extra_i586_defconfig` - build hybrid ISO with appended writeable partition (32-bit)
|
||||
- `make shredos_iso_extra_i686_lite_defconfig` - build lighter hybrid ISO with appended writeable partition (32-bit)
|
||||
|
||||
Do note that loading a configuration should typically be the last step before `make`.
|
||||
|
||||
@@ -833,8 +828,6 @@ Do note that loading a configuration should typically be the last step before `m
|
||||
> partition at burn-time, which then also allows customization of the GRUB
|
||||
> configuration.
|
||||
>
|
||||
>The **extra** ISOs (experimental) have an "extra" write partition appended.
|
||||
>The **legacy** ISOs work in BIOS and UEFI, but only as burned to CD/DVD-ROM.
|
||||
|
||||
#### Building multiple configurations:
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ if grep -Eq "^BR2_ARCH_IS_64=y$" "${BR2_CONFIG}"; then
|
||||
MKIMAGE_EFI=bootx64.efi
|
||||
MKIMAGE_CFG=genimage.cfg
|
||||
else
|
||||
MKIMAGE_ARCH=i586
|
||||
MKIMAGE_ARCH=i686
|
||||
MKIMAGE_EFI=bootia32.efi
|
||||
MKIMAGE_CFG=genimage_i586.cfg
|
||||
MKIMAGE_CFG=genimage_i686.cfg
|
||||
fi
|
||||
|
||||
version=$(cat board/shredos/fsoverlay/etc/shredos/version.txt)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
if grep -Eq "^BR2_ARCH_IS_64=y$" "${BR2_CONFIG}"; then
|
||||
MKIMAGE_ARCH=x86_64
|
||||
else
|
||||
MKIMAGE_ARCH=i386
|
||||
MKIMAGE_ARCH=i686
|
||||
fi
|
||||
|
||||
version=$(cat board/shredos/fsoverlay/etc/shredos/version.txt)
|
||||
|
||||
@@ -44,11 +44,9 @@ ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE = $(call qstrip,$(BR2_TARGET_ROOTFS_
|
||||
|
||||
ifeq ($(BR2_ARCH_IS_64),y)
|
||||
ROOTFS_ISO9660_EFI_NAME = bootx64.efi
|
||||
ROOTFS_ISO9660_EFI_NOTNAME = bootia32.efi
|
||||
ROOTFS_ISO9660_GRUB2_EFI_PREFIX = $(call qstrip,$(GRUB2_PREFIX_x86_64-efi))
|
||||
else
|
||||
ROOTFS_ISO9660_EFI_NAME = bootia32.efi
|
||||
ROOTFS_ISO9660_EFI_NOTNAME = bootx64.efi
|
||||
ROOTFS_ISO9660_GRUB2_EFI_PREFIX = $(call qstrip,$(GRUB2_PREFIX_i386-efi))
|
||||
endif
|
||||
|
||||
@@ -95,9 +93,15 @@ else
|
||||
ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Memtest
|
||||
################################################################################
|
||||
|
||||
define ROOTFS_ISO9660_COPY_MEMTEST_BINARIES
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/memtest.efi $(ROOTFS_ISO9660_TMP_TARGET_DIR)/EFI/BOOT/memtest.efi
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/memtest.bin $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/memtest
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/memtest.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/memtest.efi
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/memtest.bin \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/memtest
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
@@ -145,28 +149,33 @@ ROOTFS_ISO9660_EFI_PARTITION_CONTENT = $(BINARIES_DIR)/efi-part
|
||||
ROOTFS_ISO9660_GRUB2_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg
|
||||
ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/grub.cfg
|
||||
|
||||
ifeq ($(BR2_ARCH_IS_64),y)
|
||||
# Backup 64-bit bootloader for use with future 32-bit builds
|
||||
define ROOTFS_ISO9660_BACKUP_RESTORE_X64_EFI
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(TOPDIR)/board/shredos/bootx64.efi
|
||||
endef
|
||||
else
|
||||
# We are building for 32-bit, but also add the 64-bit bootloader
|
||||
define ROOTFS_ISO9660_BACKUP_RESTORE_X64_EFI
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
endef
|
||||
endif
|
||||
|
||||
define ROOTFS_ISO9660_INSTALL_GRUB2_EFI
|
||||
# If 32bit build also copy the bootx64.efi from board/shredos/ so 32bit shredos will boot on a 64 EFI system
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi; \
|
||||
fi
|
||||
# Install memtest binaries to ISO9660 filesystem
|
||||
$(ROOTFS_ISO9660_COPY_MEMTEST_BINARIES)
|
||||
# Either backup or restore the 64-bit bootloader
|
||||
$(ROOTFS_ISO9660_BACKUP_RESTORE_X64_EFI)
|
||||
# Create file to better find ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 /dev/null \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)
|
||||
# Copy EFI bootloader also to ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME)
|
||||
# If 32 bit build we also want the 64 bit EFI installed
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME)
|
||||
fi
|
||||
# If 64bit build copy the bootx64.efi to board/shredos/ as this will be used when building 32bit build
|
||||
if [ "$(BR2_x86_64)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi $(TOPDIR)/board/shredos/bootx64.efi; \
|
||||
fi
|
||||
# Copy memtest.efi and memtest.bin to ISO9660 filesystem
|
||||
$(ROOTFS_ISO9660_COPY_MEMTEST_BINARIES)
|
||||
# Create EFI FAT partition
|
||||
$(RM) -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
||||
mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH))
|
||||
@@ -264,28 +273,33 @@ define ROOTFS_ISO9660_INSTALL_ISOLINUX_CONFIG
|
||||
$(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_ARCH_IS_64),y)
|
||||
# Backup 64-bit bootloader for use with future 32-bit builds
|
||||
define ROOTFS_ISO9660_BACKUP_RESTORE_X64_EFI
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(TOPDIR)/board/shredos/bootx64.efi
|
||||
endef
|
||||
else
|
||||
# We are building for 32-bit, but also add the 64-bit bootloader
|
||||
define ROOTFS_ISO9660_BACKUP_RESTORE_X64_EFI
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
endef
|
||||
endif
|
||||
|
||||
define ROOTFS_ISO9660_INSTALL_GRUB2_EFI
|
||||
# If 32bit build also copy the bootx64.efi from board/shredos/ so 32bit shredos will boot on a 64 EFI system
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi; \
|
||||
fi
|
||||
# Install memtest binaries to ISO9660 filesystem
|
||||
$(ROOTFS_ISO9660_COPY_MEMTEST_BINARIES)
|
||||
# Either backup or restore the 64-bit bootloader
|
||||
$(ROOTFS_ISO9660_BACKUP_RESTORE_X64_EFI)
|
||||
# Create file to better find ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 /dev/null \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)
|
||||
# Copy EFI bootloader also to ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME)
|
||||
# If 32 bit build we also want the 64 bit EFI installed
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME)
|
||||
fi
|
||||
# If 64bit build copy the bootx64.efi to board/shredos/ as this will be used when building 32bit build
|
||||
if [ "$(BR2_x86_64)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi $(TOPDIR)/board/shredos/bootx64.efi; \
|
||||
fi
|
||||
# Copy memtest.efi and memtest.bin to ISO9660 filesystem
|
||||
$(ROOTFS_ISO9660_COPY_MEMTEST_BINARIES)
|
||||
# Create EFI FAT partition
|
||||
$(RM) -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
||||
mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH))
|
||||
|
||||
Reference in New Issue
Block a user