diff --git a/README.md b/README.md index d44942aefd..18d71f489c 100644 --- a/README.md +++ b/README.md @@ -829,6 +829,11 @@ $ dd if=shredos-20200412.img of=/dev/sdx (20200412 will be the day you compiled, - `make shredos_iso_legacy_defconfig` - build legacy ISO only (64-bit) - `make shredos_iso_legacy_i586_defconfig` - build legacy ISO only (32-bit) +#### The following experimental configurations are available for testing: + +- `make shredos_iso_extra_defconfig` - build hybrid ISO with extra writeable partition (when burned to USB flash drive) (64-bit) +- `make shredos_iso_extra_i586_defconfig` - build hybrid ISO with extra writeable partition (when burned to USB flash drive) (32-bit) + Do note that loading a configuration should typically be the last step before `make`. > **The hybrid ISOs offer the most flexibility over the other formats:** diff --git a/board/shredos/make_extra_partition.sh b/board/shredos/make_extra_partition.sh new file mode 100755 index 0000000000..22a622b1a3 --- /dev/null +++ b/board/shredos/make_extra_partition.sh @@ -0,0 +1,18 @@ +#!/bin/bash -e + +# This file produces the extra FAT16 partition for the shredos_iso_extra_*_defconfig configurations. +# The partition is appended to the ISO, so that when written to USB a writeable partition is available. + +rm "${BINARIES_DIR}"/extra.vfat || true + +dd if=/dev/zero of="${BINARIES_DIR}/extra.vfat" bs=50M count=1 || exit 1 +"$HOST_DIR"/sbin/mkfs.vfat -F16 "${BINARIES_DIR}/extra.vfat" || exit 1 + +"$HOST_DIR"/bin/mmd -i "${BINARIES_DIR}/extra.vfat" ::/boot || exit 1 + +"$HOST_DIR"/bin/mcopy -p -m -i "${BINARIES_DIR}/extra.vfat" board/shredos/fsoverlay/etc/shredos/version.txt ::/boot/version.txt || exit 1 +"$HOST_DIR"/bin/mcopy -p -m -i "${BINARIES_DIR}/extra.vfat" board/shredos/README.txt ::/README.txt || exit 1 +"$HOST_DIR"/bin/mcopy -p -m -i "${BINARIES_DIR}/extra.vfat" board/shredos/autorun.inf ::/autorun.inf || exit 1 +"$HOST_DIR"/bin/mcopy -p -m -i "${BINARIES_DIR}/extra.vfat" board/shredos/shredos.ico ::/shredos.ico || exit 1 + +exit 0 diff --git a/build_all_shredos.sh b/build_all_shredos.sh index 41f40a6d44..950d27493a 100755 --- a/build_all_shredos.sh +++ b/build_all_shredos.sh @@ -32,6 +32,7 @@ X64_CONFIGS=( "shredos_img_defconfig" "shredos_iso_defconfig" "shredos_iso_legacy_defconfig" + "shredos_iso_extra_defconfig" # experimental ) # 32-bit configurations to build: @@ -40,6 +41,7 @@ X32_CONFIGS=( "shredos_img_i586_defconfig" "shredos_iso_i586_defconfig" "shredos_iso_legacy_i586_defconfig" + "shredos_iso_extra_i586_defconfig" # experimental ) # Packages always needing rebuild between runs, even for the same architecture. diff --git a/configs/shredos_iso_extra_defconfig b/configs/shredos_iso_extra_defconfig new file mode 100644 index 0000000000..aec7bbb618 --- /dev/null +++ b/configs/shredos_iso_extra_defconfig @@ -0,0 +1,188 @@ +BR2_x86_64=y +BR2_x86_nocona=y +BR2_PACKAGE_GLIBC_UTILS=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y +BR2_CPAN_MIRROR="http://cpan.metacpan.org" +BR2_TARGET_GENERIC_HOSTNAME="shredos" +BR2_TARGET_GENERIC_ISSUE="Welcome to ShredOS https://github.com/PartialVolume/shredos.x86_64" +BR2_INIT_SYSV=y +BR2_ROOTFS_MERGED_USR=y +BR2_SYSTEM_BIN_SH_BASH=y +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +# BR2_ENABLE_LOCALE_PURGE is not set +BR2_GENERATE_LOCALE="en_US.UTF-8" +BR2_SYSTEM_ENABLE_NLS=y +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="board/shredos/fsoverlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/shredos/make_extra_partition.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/shredos/make_iso_file.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/shredos/kernel-6.6.22-defconfig.config" +BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y +BR2_PACKAGE_LINUX_TOOLS_PERF=y +BR2_PACKAGE_LINUX_TOOLS_SELFTESTS=y +# BR2_PACKAGE_BUSYBOX_SELINUX is not set +BR2_PACKAGE_FFMPEG=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_NONFREE=y +BR2_PACKAGE_FFMPEG_SWSCALE=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_HEXEDIT=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_GREP=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_SED=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_EXFATPROGS=y +BR2_PACKAGE_ASCII_INVADERS=y +BR2_PACKAGE_DIRECTFB=y +BR2_PACKAGE_DIRECTFB_ATI128=y +BR2_PACKAGE_DIRECTFB_MATROX=y +BR2_PACKAGE_DIRECTFB_I830=y +BR2_PACKAGE_FBDUMP=y +BR2_PACKAGE_FBGRAB=y +BR2_PACKAGE_FBSET=y +BR2_PACKAGE_FBTERM=y +BR2_PACKAGE_FBV=y +BR2_PACKAGE_MESA3D=y +BR2_PACKAGE_MESA3D_LLVM=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y +BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL=y +BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y +BR2_PACKAGE_MESA3D_OPENGL_ES=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_AMDGPU=y +BR2_PACKAGE_LINUX_FIRMWARE_I915=y +BR2_PACKAGE_LINUX_FIRMWARE_RADEON=y +BR2_PACKAGE_LINUX_FIRMWARE_QCOM_VENUS=y +BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO=y +BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8=y +BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174=y +BR2_PACKAGE_LINUX_FIRMWARE_BROADCOM_TIGON3=y +BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y +BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100=y +BR2_PACKAGE_LINUX_FIRMWARE_INTEL_ICE=y +BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY=y +BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX=y +BR2_PACKAGE_EDID_DECODE=y +BR2_PACKAGE_HDPARM=y +BR2_PACKAGE_KBD=y +BR2_PACKAGE_LM_SENSORS=y +BR2_PACKAGE_LSHW=y +BR2_PACKAGE_LSSCSI=y +BR2_PACKAGE_MINICOM=y +BR2_PACKAGE_NVME=y +BR2_PACKAGE_READ_EDID=y +BR2_PACKAGE_SG3_UTILS=y +BR2_PACKAGE_SG3_UTILS_PROGS=y +BR2_PACKAGE_SMARTMONTOOLS=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_TRIGGERHAPPY=y +BR2_PACKAGE_PERL=y +BR2_PACKAGE_PYTHON_PYASN1_MODULES=y +BR2_PACKAGE_PYTHON_PYBIND=y +BR2_PACKAGE_PYTHON_PYNDIFF=y +BR2_PACKAGE_PYTHON_SCAPY=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_LIBGCRYPT=y +BR2_PACKAGE_LIBJPEG=y +BR2_PACKAGE_STB=y +BR2_PACKAGE_LIBHID=y +BR2_PACKAGE_JSON_GLIB=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBUPNP=y +BR2_PACKAGE_KERNEL_CMDLINE_EXTRACTOR=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_LIBSECCOMP=y +BR2_PACKAGE_NWIPE=y +BR2_PACKAGE_LIBFRIBIDI=y +BR2_PACKAGE_NCURSES_WCHAR=y +BR2_PACKAGE_UTF8PROC=y +BR2_PACKAGE_HEIRLOOM_MAILX=y +BR2_PACKAGE_COLLECTD=y +BR2_PACKAGE_COLLECTD_NTPD=y +BR2_PACKAGE_XUTIL_UTIL_MACROS=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_LFTP=y +BR2_PACKAGE_LFTP_PROTO_SFTP=y +BR2_PACKAGE_NMAP=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_NTP_NTPTIME=y +BR2_PACKAGE_OPENSSH=y +# BR2_PACKAGE_OPENSSH_SERVER is not set +BR2_PACKAGE_RPCBIND=y +BR2_PACKAGE_SNMPCLITOOLS=y +BR2_PACKAGE_TFTPD=y +BR2_PACKAGE_TRACEROUTE=y +BR2_PACKAGE_WIREGUARD_TOOLS=y +BR2_PACKAGE_RESTORECOND=y +BR2_PACKAGE_SELINUX_PYTHON=y +BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW=y +BR2_PACKAGE_PARALLEL=y +BR2_PACKAGE_TMUX=y +BR2_PACKAGE_OPENSEACHEST=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_RUNC=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_AGETTY=y +BR2_PACKAGE_UTIL_LINUX_FSCK=y +BR2_PACKAGE_UTIL_LINUX_LAST=y +BR2_PACKAGE_UTIL_LINUX_LOGIN=y +BR2_PACKAGE_UTIL_LINUX_MOUNT=y +BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT=y +BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT=y +BR2_PACKAGE_UTIL_LINUX_RFKILL=y +BR2_PACKAGE_UTIL_LINUX_RUNUSER=y +BR2_PACKAGE_UTIL_LINUX_SETTERM=y +BR2_PACKAGE_UTIL_LINUX_SU=y +BR2_PACKAGE_UTIL_LINUX_SULOGIN=y +BR2_TARGET_ROOTFS_CPIO_LZMA=y +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_TARGET_ROOTFS_ISO9660=y +BR2_TARGET_ROOTFS_ISO9660_BOTH=y +BR2_TARGET_ROOTFS_ISO9660_ISOLINUX_BOOT_MENU="board/shredos/iso/isolinux.cfg" +BR2_TARGET_ROOTFS_ISO9660_GRUB2_BOOT_MENU="board/shredos/iso/grub.cfg" +BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU="board/shredos/iso/efigrub.cfg" +BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE="/boot/shredos.id" +BR2_TARGET_ROOTFS_ISO9660_HYBRID=y +BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION="extra.vfat" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg" +BR2_TARGET_GRUB2_INSTALL_TOOLS=y +BR2_TARGET_SYSLINUX=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_PYTHON3=y +BR2_PACKAGE_HOST_PYTHON3_BZIP2=y +BR2_PACKAGE_HOST_PYTHON3_SSL=y diff --git a/configs/shredos_iso_extra_i586_defconfig b/configs/shredos_iso_extra_i586_defconfig new file mode 100644 index 0000000000..cabeef7d25 --- /dev/null +++ b/configs/shredos_iso_extra_i586_defconfig @@ -0,0 +1,185 @@ +BR2_PACKAGE_GLIBC_UTILS=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y +BR2_CPAN_MIRROR="http://cpan.metacpan.org" +BR2_TARGET_GENERIC_HOSTNAME="shredos" +BR2_TARGET_GENERIC_ISSUE="Welcome to ShredOS https://github.com/PartialVolume/shredos.x86_64" +BR2_INIT_SYSV=y +BR2_ROOTFS_MERGED_USR=y +BR2_SYSTEM_BIN_SH_BASH=y +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +# BR2_ENABLE_LOCALE_PURGE is not set +BR2_GENERATE_LOCALE="en_US.UTF-8" +BR2_SYSTEM_ENABLE_NLS=y +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="board/shredos/fsoverlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/shredos/make_extra_partition.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/shredos/make_iso_file.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/shredos/kernel-6.6.22-defconfig.config" +BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y +BR2_PACKAGE_LINUX_TOOLS_PERF=y +BR2_PACKAGE_LINUX_TOOLS_SELFTESTS=y +# BR2_PACKAGE_BUSYBOX_SELINUX is not set +BR2_PACKAGE_FFMPEG=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_NONFREE=y +BR2_PACKAGE_FFMPEG_SWSCALE=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_HEXEDIT=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_GREP=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_SED=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_EXFATPROGS=y +BR2_PACKAGE_ASCII_INVADERS=y +BR2_PACKAGE_DIRECTFB=y +BR2_PACKAGE_DIRECTFB_ATI128=y +BR2_PACKAGE_DIRECTFB_MATROX=y +BR2_PACKAGE_DIRECTFB_I830=y +BR2_PACKAGE_FBDUMP=y +BR2_PACKAGE_FBGRAB=y +BR2_PACKAGE_FBSET=y +BR2_PACKAGE_FBTERM=y +BR2_PACKAGE_FBV=y +BR2_PACKAGE_MESA3D=y +BR2_PACKAGE_MESA3D_LLVM=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y +BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL=y +BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y +BR2_PACKAGE_MESA3D_OPENGL_ES=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_AMDGPU=y +BR2_PACKAGE_LINUX_FIRMWARE_I915=y +BR2_PACKAGE_LINUX_FIRMWARE_RADEON=y +BR2_PACKAGE_LINUX_FIRMWARE_QCOM_VENUS=y +BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO=y +BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8=y +BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174=y +BR2_PACKAGE_LINUX_FIRMWARE_BROADCOM_TIGON3=y +BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y +BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100=y +BR2_PACKAGE_LINUX_FIRMWARE_INTEL_ICE=y +BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY=y +BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX=y +BR2_PACKAGE_EDID_DECODE=y +BR2_PACKAGE_HDPARM=y +BR2_PACKAGE_KBD=y +BR2_PACKAGE_LM_SENSORS=y +BR2_PACKAGE_LSHW=y +BR2_PACKAGE_LSSCSI=y +BR2_PACKAGE_MINICOM=y +BR2_PACKAGE_NVME=y +BR2_PACKAGE_READ_EDID=y +BR2_PACKAGE_SG3_UTILS=y +BR2_PACKAGE_SG3_UTILS_PROGS=y +BR2_PACKAGE_SMARTMONTOOLS=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_TRIGGERHAPPY=y +BR2_PACKAGE_PERL=y +BR2_PACKAGE_PYTHON_PYASN1_MODULES=y +BR2_PACKAGE_PYTHON_PYBIND=y +BR2_PACKAGE_PYTHON_PYNDIFF=y +BR2_PACKAGE_PYTHON_SCAPY=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_LIBGCRYPT=y +BR2_PACKAGE_STB=y +BR2_PACKAGE_LIBHID=y +BR2_PACKAGE_JSON_GLIB=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBUPNP=y +BR2_PACKAGE_KERNEL_CMDLINE_EXTRACTOR=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_LIBSECCOMP=y +BR2_PACKAGE_NWIPE=y +BR2_PACKAGE_LIBFRIBIDI=y +BR2_PACKAGE_NCURSES_WCHAR=y +BR2_PACKAGE_UTF8PROC=y +BR2_PACKAGE_HEIRLOOM_MAILX=y +BR2_PACKAGE_COLLECTD=y +BR2_PACKAGE_COLLECTD_NTPD=y +BR2_PACKAGE_XUTIL_UTIL_MACROS=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_LFTP=y +BR2_PACKAGE_LFTP_PROTO_SFTP=y +BR2_PACKAGE_NMAP=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_NTP_NTPTIME=y +BR2_PACKAGE_OPENSSH=y +# BR2_PACKAGE_OPENSSH_SERVER is not set +BR2_PACKAGE_RPCBIND=y +BR2_PACKAGE_SNMPCLITOOLS=y +BR2_PACKAGE_TFTPD=y +BR2_PACKAGE_TRACEROUTE=y +BR2_PACKAGE_WIREGUARD_TOOLS=y +BR2_PACKAGE_RESTORECOND=y +BR2_PACKAGE_SELINUX_PYTHON=y +BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW=y +BR2_PACKAGE_PARALLEL=y +BR2_PACKAGE_TMUX=y +BR2_PACKAGE_OPENSEACHEST=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_RUNC=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_AGETTY=y +BR2_PACKAGE_UTIL_LINUX_FSCK=y +BR2_PACKAGE_UTIL_LINUX_LAST=y +BR2_PACKAGE_UTIL_LINUX_LOGIN=y +BR2_PACKAGE_UTIL_LINUX_MOUNT=y +BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT=y +BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT=y +BR2_PACKAGE_UTIL_LINUX_RFKILL=y +BR2_PACKAGE_UTIL_LINUX_RUNUSER=y +BR2_PACKAGE_UTIL_LINUX_SETTERM=y +BR2_PACKAGE_UTIL_LINUX_SU=y +BR2_PACKAGE_UTIL_LINUX_SULOGIN=y +BR2_TARGET_ROOTFS_CPIO_LZMA=y +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_TARGET_ROOTFS_ISO9660=y +BR2_TARGET_ROOTFS_ISO9660_BOTH=y +BR2_TARGET_ROOTFS_ISO9660_ISOLINUX_BOOT_MENU="board/shredos/iso/isolinux.cfg" +BR2_TARGET_ROOTFS_ISO9660_GRUB2_BOOT_MENU="board/shredos/iso/grub.cfg" +BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU="board/shredos/iso/efigrub.cfg" +BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE="/boot/shredos.id" +BR2_TARGET_ROOTFS_ISO9660_HYBRID=y +BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION="extra.vfat" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_I386_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg" +BR2_TARGET_GRUB2_INSTALL_TOOLS=y +BR2_TARGET_SYSLINUX=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_PYTHON3=y +BR2_PACKAGE_HOST_PYTHON3_BZIP2=y +BR2_PACKAGE_HOST_PYTHON3_SSL=y diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in index 5f30f5c9a2..c66367ce35 100644 --- a/fs/iso9660/Config.in +++ b/fs/iso9660/Config.in @@ -176,6 +176,21 @@ config BR2_TARGET_ROOTFS_ISO9660_HYBRID that can either be burned to CD/DVD-ROM or flashed onto a device which the BIOS considers as HDD/removable device (e.g. USB stick) +config BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION + string "Append hybrid partition image" + depends on BR2_TARGET_ROOTFS_ISO9660_BOTH \ + && BR2_TARGET_ROOTFS_ISO9660_HYBRID + default "" + help + Enable this option to append a prepared FAT16 filesystem + image to the hybrid image, useful when needing a writeable + data partition for USBs - should be considered EXPERIMENTAL. + + The path is expected to be relative to folder "output/images/". + + You can use e.g. a BR2_ROOTFS_POST_BUILD_SCRIPT for preparing + the respective filesystem image for your target configuration. + endif comment "iso image needs a Linux kernel and either grub2 or isolinux to be built" diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index 14f13af88c..5feea015a4 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -34,6 +34,7 @@ ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_G ROOTFS_ISO9660_GRUB2_EFI_PARTITION_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_PARTITION_SIZE)) ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)) ROOTFS_ISO9660_ISOLINUX_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX_BOOT_MENU)) +ROOTFS_ISO9660_HYBRID_APPEND_PARTITION = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION)) ################################################################################ # Architecture-specific variables @@ -428,6 +429,12 @@ ROOTFS_ISO9660_OPTS += \ $(ROOTFS_ISO9660_OPTS_BIOS) \ -eltorito-alt-boot \ $(ROOTFS_ISO9660_OPTS_EFI) +# Append an extra FAT16 partition image (if one was provided, for hybrid mode) +ifneq ($(ROOTFS_ISO9660_HYBRID_APPEND_PARTITION),) +ROOTFS_ISO9660_OPTS += \ + -append_partition 3 0x0e $(BINARIES_DIR)/$(ROOTFS_ISO9660_HYBRID_APPEND_PARTITION) \ + -partition_cyl_align all +endif else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),y) # BIOS