diff --git a/.gitignore b/.gitignore index 99af9bdeda..808fddec95 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ /output +/dist /dl +/build_all_shredos.log /.auto.deps /.config.cmd /.config.old diff --git a/README.md b/README.md index 1b7408fc46..fe96ddc7ae 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ ## For PCs, Servers and Macs with Intel and AMD 64 & 32 bit processors -#### As well as a 64bit versions, also included are 32bit .img & .iso images of ShredOS that will run on both 32bit and 64bit processors, see [Release Assets](https://github.com/PartialVolume/shredos.x86_64/releases) and the table of download links below. For those that wish to build their own ShredOS from source, rather than just burn the .img/.iso images, instructions for modififing the x86_64 build to generate 32bit code as well as .iso images will be included below in the notes in due course. Please note the additional information provided to run ShredOS on Apple systems. +#### As well as a 64bit versions, also included are 32bit .img & .iso images of ShredOS that will run on both 32bit and 64bit processors, see [Release Assets](https://github.com/PartialVolume/shredos.x86_64/releases) and the table of download links below. For those that wish to build their own ShredOS from source, rather than just burn the .img/.iso images, follow the build instructions and make use of the supplied build configurations. Please note the additional information provided to run ShredOS on Apple systems. #### For those that just want to get on with using ShredOS, you can download the pre-built .img or .iso images and burn them straight to USB flash drive or CD/DVD. Boot from the USB flash drive or CD/DVD and nwipe will appear ready for you to select your preferred wipe options. [![GitHub all releases](https://img.shields.io/github/downloads/PartialVolume/shredos.x86_64/total?label=Total%20downloads%20x86_64%20all%20releases,%2064%20and%2032bit%20code,%20.iso%20and%20.img%20&style=plastic)](https://github.com/PartialVolume/shredos.x86_64/releases) @@ -41,8 +41,10 @@ NOTE! There may be pre-release versions that are newer than the latest versions ### For all releases including latest and more recent pre-releases [releases](https://github.com/PartialVolume/shredos.x86_64/releases) -Note: The .img files for burning to USB flash drives support both bios/UEFI booting. The .iso image currently supports legacy bios booting only and not UEFI, however, a bios/UEFI version of the .iso is in development and will be released shortly. -You can also consider [VENTOY (Open Source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files)](https://github.com/ventoy/Ventoy) as a workaround to avoid bios/UEFI issues. +Note for versions **after** _v2024.11_27_x86-64_0.38_: The .img files for burning to USB flash drives support both BIOS/UEFI booting, as well as saving of generated PDF reports to the USB flash drive. The .iso image also supports both BIOS/UEFI booting, burning to USB flash drives and CD/DVD-ROM, but not (yet) saving of generated PDF reports to the USB flash drive (unless being written in "ISO-Mode" with some tools, such as Rufus). Use the .img file whenever needing these generated PDF reports or planning to customize ShredOS (`autonuke` setups, kernel parameters, ...). The .img file also allows direct interaction with the filesystem and modification of the GRUB boot menu, e.g. appending of kernel parameters, which the .iso file does not support due to filesystem constraints. + +Note for versions **until** _v2024.11_27_x86-64_0.38_: The .img files for burning to USB flash drives support both BIOS/UEFI booting. The .iso image supports legacy BIOS booting only and not UEFI, however, a BIOS/UEFI version of the .iso is available in newer ShredOS versions. +You can also consider [VENTOY (Open Source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files)](https://github.com/ventoy/Ventoy) as a workaround to avoid BIOS/UEFI issues. #### Demo video below: ShredOS automatically displays Nwipe's interactive GUI at boot. You can then select one or more drives to be erased, wipe method or pattern to be used, number of rounds, whether a zeros blanking pass is applied, verification options such as last pass, all passes or no verification. ShredOS and nwipe are highly configurable so if you prefer to run nwipe without a GUI then you can configure nwipe by applying nwipe options to the linux command line in grub.cfg on the USB flash drive. @@ -110,7 +112,7 @@ disks using the program [nwipe](https://github.com/martijnvanbrummelen/nwipe). I ShredOS supports either 32bit or 64bit processors. You will need to download the appropriate 64bit or 32bit .img or .iso file, depending upon your target processor and whether you want to burn ShredOS to a USB memory stick, in which case you would download the .img file. Alternatively, if you wanted to burn ShredOS to CD/DVD, then you would download the .iso file. -Because ShredOS boots and runs straight from a USB flash drive or DVD/CD, it doesn't matter what operating system already exists on the computer. It will remove all data/directories/operating systems, from the drive or drives you have selected for wiping, leaving a disk with no trace of what originally existed. It will wipe PCs & Intel-based Macs, such as MacBookPros. It doesn't care what operating system previosuly existed, be it Windows/Mac OSX/Linux/VXWorks. +Because ShredOS boots and runs straight from a USB flash drive or DVD/CD, it doesn't matter what operating system already exists on the computer. It will remove all data/directories/operating systems, from the drive or drives you have selected for wiping, leaving a disk with no trace of what originally existed. It will wipe PCs & Intel-based Macs, such as MacBookPros. It doesn't care what operating system previously existed, be it Windows/Mac OSX/Linux/VXWorks. ShredOS can be used as a software image and booted via the network using a client PC that supports Preboot execution environment (PXE) via a PXE enabled server. A procedure for creating a simple UEFI PXE server based on Debian/Ubuntu and serving up ShredOS can be found here [#148](https://github.com/PartialVolume/shredos.x86_64/discussions/148) @@ -128,8 +130,8 @@ This paragraph is for those that are not familiar with wiping disks. if you know ## Nwipe's erasure methods -* Fill With Zeros - Fills the device with zeros (0x00), one round only. -* Fill With Ones - Fills the device with ones (0xFF), one round only. +* Fill With Zeros - Fills the device with zeros (0x00). +* Fill With Ones - Fills the device with ones (0xFF). * RCMP TSSIT OPS-II - Royal Canadian Mounted Police Technical Security Standard, OPS-II * DoD Short - The American Department of Defense 5220.22-M short 3 pass wipe (passes 1, 2 & 7). * DoD 5220.22M - The American Department of Defense 5220.22-M full 7 pass wipe. @@ -782,16 +784,29 @@ The image (.img) file is approximately 260 MiB and can be written to a USB memor #### Install the following prerequisite software first. Without this software, the make command will fail ``` -$ sudo apt install git -$ sudo apt install build-essential pkg-config automake libncurses5-dev autotools-dev libparted-dev dmidecode coreutils smartmontools unzip -$ sudo apt-get install libssl-dev -$ sudo apt-get install libelf-dev -$ sudo apt-get install mtools +sudo apt update +sudo apt install \ + automake \ + autotools-dev \ + build-essential \ + cpio \ + coreutils \ + dmidecode \ + dosfstools \ + git \ + libelf-dev \ + libncurses5-dev \ + libparted-dev \ + libssl-dev \ + mtools \ + pkg-config \ + smartmontools \ + unzip ``` #### Download the ShredOS source using the git clone command, build ShredOS and write to a USB memory device. ``` -$ git clone https://github.com/PartialVolume/shredos.x86_64.git (or shredos.i686.git for 32bit) +$ git clone https://github.com/PartialVolume/shredos.x86_64.git $ cd shredos $ mkdir package/shredos $ touch package/shredos/Config.in @@ -802,6 +817,56 @@ $ ls output/images/shredos*.img $ cd output/images $ dd if=shredos-20200412.img of=/dev/sdx (20200412 will be the day you compiled, sdx is the USB flash drive) ``` + +#### 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) + +#### 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) + +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:** +> +>- are BIOS and UEFI bootable +>- can both be written to CD/DVD-ROM and USB flash drives +>- use ISOLINUX in BIOS for better compliance with very old systems +>- **but** do not have a writeable partition for PDFs/configurations +> +> Some tools such as Rufus offer an "ISO-Mode", which enable such a writeable +> 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: + +Generally, when building multiple configurations of the above on the same +architecture, you only need to ensure that `make grub2-reconfigure` (and +eventually `make`) are run between any two configurations. The same applies to +any other package whose configuration has changed, adding corresponding +`-reconfigure` steps, before the eventual `make`. A `make clean` step is +not usually required unless you have made significant changes to the project, +which should save time for such builds between same-architecture configurations. + +For two configurations targeting different architectures, a full `make clean` +is always required when switching between them, plan time for this (takes long). + +For your convenience, look also into the `build_all_shredos.sh` script in the +project root. If you invoke it with no arguments, it will show a usage manual +and allow you to build multiple configuration targets with more ease. + ### Issues that you may get when building ShredOS - **Error: "Internal Size Too Big"** If you are compiling the vanilla version of ShredOS and have made no alterations or additions but it fails to build the .img with the error "Internal error: size too big" then you may have a version of mtools that has a version of mcopy which has a bug whenever the -b option is used. This bug is known to exist in mcopy version 4.0.32 and maybe others but is fixed in v4.0.42. The solution is to upgrade your copy of mtools to a later version. However, if you have altered ShredOS by adding more packages you may need to update the size of the fat32 partition. You can do this by increasing the 'size' in ../board/shredos/genimage.cfg. Depending on how much extra software you have added increase the size by 10MB or more. Currently as of March 2023 the current size is `size = 130000000`, this is in bytes, so adding 10MB will mean you need to edit this value so that it reads `size = 140000000`. After the edit, just run `make` which will result in a quicker build. You don't need to run `make clean` first as that would result in a full rebuild which is not neccessary when all you are doing is increasing the final image size. If your repository does not supply a later version of mtools, then you can obtain mtools packages for various distros from [here](https://www.gnu.org/software/mtools/#downloads) @@ -832,9 +897,36 @@ make busybox-menuconfig make busybox-update-config # save the changes ``` ### Important ShredOS files and folders when building ShredOS from source - -#### ../board/shredos/doimg.sh -doimg.sh is a bash script, the main purpose of which is to generate the .img file located in output/images/. However it is also used to copy the pre-compiled .efi file and other files such as the shredos.ico, autorun.inf for Windows, README.txt. The contents of board/shredos/version.txt is also used to rename the .img file with version info and the current date and time. +#### ../build_all_shredos.sh +build_all_shredos.sh is a convenience script to build (multiple) ShredOS. +If launched without arguments, it will show a usage manual on the screen. + +#### ../board/shredos/make_img_file.sh +make_img_file.sh is a bash script, the main purpose of which is to generate the .img file located in output/images/. However it is also used to copy the compiled .efi file and other files such as the shredos.ico, autorun.inf for Windows, README.txt. The contents of board/shredos/version.txt is also used to rename the .img file with version info and the current date and time. + +#### ../board/shredos/make_iso_file.sh +make_iso_file.sh is a bash script, the main purpose of which is to rename the .iso file located in output/images/. The contents of board/shredos/version.txt is used to rename the .iso file with version info and the current date and time. + +#### ../board/shredos/grub.cfg +The USB image's GRUB configuration, which both the BIOS and UEFI bootloader will use. +It contains the BIOS and UEFI boot menu for the USB image. + +#### ../board/shredos/embed/grub.cfg +The GRUB configuration that is embedded into the GRUB images at build-time. +It contains directions for GRUB to find the right volume and GRUB configuration. +This applies for both the USB images and ISO images, and both for BIOS and UEFI. + +#### ../board/shredos/iso/isolinux.cfg +The ISO image's ISOLINUX configuration, which the BIOS bootloader will use. +It contains the BIOS boot menu for the ISO image. + +#### ../board/shredos/iso/grub.cfg +The ISO image's GRUB configuration, which the UEFI bootloader will use. +It contains the UEFI boot menu for the ISO image. + +#### ../board/shredos/iso/efigrub.cfg +The GRUB configuration that is embedded into the ISO's UEFI partition. +It contains directions for GRUB to find the ISO9660's GRUB configuration. #### ../board/shredos/fsoverlay/etc/shredos/version.txt This file contains the version information as seen in the title on nwipe's title bar, i.e. '2021.08.2_22_x86-64_0.32.023'. This version ingformation is also used when naming the .img file in ../output/images/ ../board/shredos/fsoverlay/etc/shredos/version.txt is manually updated for each new release of ShredOS. diff --git a/board/shredos/bootx64.efi b/board/shredos/bootx64.efi deleted file mode 100644 index 2f95641783..0000000000 Binary files a/board/shredos/bootx64.efi and /dev/null differ diff --git a/board/shredos/doimg.sh b/board/shredos/doimg.sh deleted file mode 100755 index afabed9ad0..0000000000 --- a/board/shredos/doimg.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -e - -version=`cat board/shredos/fsoverlay/etc/shredos/version.txt` - -cp "board/shredos/grub.cfg" "${BINARIES_DIR}/grub.cfg" || exit 1 -cp "board/shredos/bootx64.efi" "${BINARIES_DIR}/bootx64.efi" || exit 1 -#cp "${HOST_DIR}/lib/grub/i386-pc/boot.img" "${BINARIES_DIR}/boot.img" || exit 1 -cp "output/target/lib/grub/i386-pc/boot.img" "${BINARIES_DIR}/boot.img" || exit 1 - -# copy the ShredOS icon and Windows autorun.inf; if a USB stick is plugged into a Windows system -# it will be identified as 'ShredOS - Dangerous' as a warning to users unaware what ShredOS is. -cp "board/shredos/autorun.inf" "${BINARIES_DIR}/autorun.inf" || exit 1 -cp "board/shredos/README.txt" "${BINARIES_DIR}/README.txt" || exit 1 -cp "board/shredos/shredos.ico" "${BINARIES_DIR}/shredos.ico" || exit 1 - -# version.txt is used to help identify boot disc -cp "board/shredos/fsoverlay/etc/shredos/version.txt" "${BINARIES_DIR}/version.txt" || exit 1 - -rm -rf "${BUILD_DIR}/genimage.tmp" || exit 1 -genimage --rootpath="${TARGET_DIR}" --inputpath="${BINARIES_DIR}" --outputpath="${BINARIES_DIR}" --config="board/shredos/genimage.cfg" --tmppath="${BUILD_DIR}/genimage.tmp" || exit 1 - -# renaming -SUFFIXIMG="${version}_$(date +%Y%m%d)" -FINAL_IMAGE_PATH="${BINARIES_DIR}/shredos-${SUFFIXIMG}.img" -mv "${BINARIES_DIR}/shredos.img" "${FINAL_IMAGE_PATH}" || exit 1 -#mv "${BINARIES_DIR}/bzImage" "${FINAL_IMAGE_PATH}" || exit 1 - -echo "File ${FINAL_IMAGE_PATH} created successfully" - -exit 0 diff --git a/board/shredos/embed/README b/board/shredos/embed/README new file mode 100644 index 0000000000..e3370125c1 --- /dev/null +++ b/board/shredos/embed/README @@ -0,0 +1,16 @@ +This file is embedded into the GRUB bootloaders at build-time. +Helps GRUB find our ShredOS volume when it cannot (Ventoy BIOS). +There is no point to put it anywhere on the USB - so don't do that. + +Keep consistent with BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE +when building any configurations that build both an ISO and the IMG. + +Do not use the version file as identification file though, because +read-only ISO9660 filesystem doesn't have it (but has needed grub.cfg), +so you should always use a unique file not otherwise used for anything. + +Also ensure it is in a location where users cannot delete it by accident. + +Note that contrary to the GNU manual the BIOS bootloader seems to need the +explicit "configfile" directive, otherwise the Buildroot static prefix takes +precedence over the actual found volume path (which may be entirely different). diff --git a/board/shredos/embed/grub.cfg b/board/shredos/embed/grub.cfg new file mode 100644 index 0000000000..e41461a533 --- /dev/null +++ b/board/shredos/embed/grub.cfg @@ -0,0 +1,3 @@ +search --file --set=root /boot/shredos.id +set prefix=($root)/boot/grub +configfile $prefix/grub.cfg diff --git a/board/shredos/genimage.cfg b/board/shredos/genimage.cfg index 5557b2d39a..ef3b90872d 100644 --- a/board/shredos/genimage.cfg +++ b/board/shredos/genimage.cfg @@ -1,14 +1,15 @@ image boot.vfat { vfat { extraargs = "-F 32 -n SHREDOS" + file boot/bzImage { image = 'bzImage' } file boot/grub/grub.cfg { image = 'grub.cfg' } - file boot/shredos { image = 'bzImage' } file boot/version.txt { image = 'version.txt' } + file boot/shredos.id { image = '/dev/null' } file EFI/BOOT/bootx64.efi { image = 'bootx64.efi' } file EFI/BOOT/grub.cfg { image = 'grub.cfg' } - file shredos.ico { image = 'shredos.ico' } - file README.txt { image = 'README.txt' } - file autorun.inf { image = 'autorun.inf' } + file shredos.ico { image = 'shredos.ico' } + file README.txt { image = 'README.txt' } + file autorun.inf { image = 'autorun.inf' } } size = 310000000 diff --git a/board/shredos/genimage_i586.cfg b/board/shredos/genimage_i586.cfg new file mode 100644 index 0000000000..770d4fe68b --- /dev/null +++ b/board/shredos/genimage_i586.cfg @@ -0,0 +1,41 @@ +image boot.vfat { + vfat { + extraargs = "-F 32 -n SHREDOS" + file boot/bzImage { image = 'bzImage' } + file boot/grub/grub.cfg { image = 'grub.cfg' } + file boot/version.txt { image = 'version.txt' } + file boot/shredos.id { image = '/dev/null' } + file EFI/BOOT/bootia32.efi { image = 'bootia32.efi' } + file EFI/BOOT/grub.cfg { image = 'grub.cfg' } + file shredos.ico { image = 'shredos.ico' } + file README.txt { image = 'README.txt' } + file autorun.inf { image = 'autorun.inf' } + } + + size = 310000000 +} + +image shredos.img { + hdimage { + } + + partition boot { + in-partition-table = "no" + image = "boot.img" + offset = 0 + size = 512 + holes = {"(440; 512)"} + } + + partition grub { + in-partition-table = "no" + image = "grub.img" + offset = 512 + } + + partition vfat { + partition-type = 0xC + image = "boot.vfat" + offset = 646656 + } +} diff --git a/board/shredos/grub.cfg b/board/shredos/grub.cfg index b4307b1df6..c96e7933bb 100644 --- a/board/shredos/grub.cfg +++ b/board/shredos/grub.cfg @@ -1,6 +1,10 @@ set default="0" -set timeout="0" +set timeout="5" -menuentry "shredos" { - linux /boot/shredos console=tty3 loglevel=3 +menuentry "ShredOS" { + linux /boot/bzImage console=tty3 loglevel=3 +} + +menuentry "ShredOS (nomodeset)" { + linux /boot/bzImage console=tty3 loglevel=3 nomodeset } diff --git a/board/shredos/iso/README b/board/shredos/iso/README new file mode 100644 index 0000000000..bc465b7fa7 --- /dev/null +++ b/board/shredos/iso/README @@ -0,0 +1,8 @@ +ISO9660 filesystem was updated to modern standards as of 20/11/2025. +The changes have - at the time of this writing - not been upstreamed. +Do compare (and port 'fs/iso9660' over) when updating the Buildroot release. + +The following variables are filled in at build-time: + - __EFI_ID_FILE__ + - __KERNEL_PATH__ + - __INITRD_PATH__ (automatically removed if not used) diff --git a/board/shredos/iso/efigrub.cfg b/board/shredos/iso/efigrub.cfg new file mode 100644 index 0000000000..a8f2c567eb --- /dev/null +++ b/board/shredos/iso/efigrub.cfg @@ -0,0 +1,3 @@ +search --file --set=root __EFI_ID_FILE__ +set prefix=($root)/boot/grub +source $prefix/grub.cfg diff --git a/board/shredos/iso/grub.cfg b/board/shredos/iso/grub.cfg new file mode 100644 index 0000000000..137e3a0b08 --- /dev/null +++ b/board/shredos/iso/grub.cfg @@ -0,0 +1,12 @@ +set default="0" +set timeout="5" + +menuentry "ShredOS" { + linux __KERNEL_PATH__ console=tty3 loglevel=3 + initrd __INITRD_PATH__ +} + +menuentry "ShredOS (nomodeset)" { + linux __KERNEL_PATH__ console=tty3 loglevel=3 nomodeset + initrd __INITRD_PATH__ +} diff --git a/board/shredos/iso/isolinux.cfg b/board/shredos/iso/isolinux.cfg new file mode 100644 index 0000000000..565647f0bf --- /dev/null +++ b/board/shredos/iso/isolinux.cfg @@ -0,0 +1,15 @@ +default menu.c32 +prompt 0 +timeout 50 + +menu title ShredOS + +label shredos + menu label ShredOS + kernel __KERNEL_PATH__ + append initrd=__INITRD_PATH__ console=tty3 loglevel=3 + +label shredos-nomodeset + menu label ShredOS (nomodeset) + kernel __KERNEL_PATH__ + append initrd=__INITRD_PATH__ console=tty3 loglevel=3 nomodeset 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/board/shredos/make_img_file.sh b/board/shredos/make_img_file.sh new file mode 100755 index 0000000000..7f435d66c8 --- /dev/null +++ b/board/shredos/make_img_file.sh @@ -0,0 +1,50 @@ +#!/bin/bash -e + +if grep -Eq "^BR2_ARCH_IS_64=y$" "${BR2_CONFIG}"; then + MKIMAGE_ARCH=x86_64 + MKIMAGE_EFI=bootx64.efi + MKIMAGE_CFG=genimage.cfg +else + MKIMAGE_ARCH=i586 + MKIMAGE_EFI=bootia32.efi + MKIMAGE_CFG=genimage_i586.cfg +fi + +version=$(cat board/shredos/fsoverlay/etc/shredos/version.txt) + +cp "board/shredos/grub.cfg" "${BINARIES_DIR}/grub.cfg" || exit 1 +cp "output/target/lib/grub/i386-pc/boot.img" "${BINARIES_DIR}/boot.img" || exit 1 +cp "${BINARIES_DIR}/efi-part/EFI/BOOT/${MKIMAGE_EFI}" "${BINARIES_DIR}/${MKIMAGE_EFI}" || exit 1 + +cp "board/shredos/autorun.inf" "${BINARIES_DIR}/autorun.inf" || exit 1 +cp "board/shredos/README.txt" "${BINARIES_DIR}/README.txt" || exit 1 +cp "board/shredos/shredos.ico" "${BINARIES_DIR}/shredos.ico" || exit 1 + +# version.txt is used to help identify the (boot) USB disk +cp "board/shredos/fsoverlay/etc/shredos/version.txt" "${BINARIES_DIR}/version.txt" || exit 1 + +rm -rf "${BUILD_DIR}/genimage.tmp" || exit 1 +genimage --rootpath="${TARGET_DIR}" \ + --inputpath="${BINARIES_DIR}" \ + --outputpath="${BINARIES_DIR}" \ + --config="board/shredos/${MKIMAGE_CFG}" \ + --tmppath="${BUILD_DIR}/genimage.tmp" || exit 1 + +SUFFIXIMG="${version}_$(date +%Y%m%d)" +FINAL_IMAGE_PATH="${BINARIES_DIR}/shredos-${SUFFIXIMG}.img" +mv "${BINARIES_DIR}/shredos.img" "${FINAL_IMAGE_PATH}" || exit 1 + +GREEN="\033[0;32m" +RESET="\033[0m" + +printf "%b" "$GREEN" +echo +echo "===============================================" +echo " USB image '${FINAL_IMAGE_PATH}'" +echo " (for '${MKIMAGE_ARCH}' architecture)" +echo " CREATED SUCCESSFULLY!" +echo "===============================================" +echo +printf "%b\n" "$RESET" + +exit 0 diff --git a/board/shredos/make_iso_file.sh b/board/shredos/make_iso_file.sh new file mode 100755 index 0000000000..a9a12ab346 --- /dev/null +++ b/board/shredos/make_iso_file.sh @@ -0,0 +1,29 @@ +#!/bin/bash -e + +if grep -Eq "^BR2_ARCH_IS_64=y$" "${BR2_CONFIG}"; then + MKIMAGE_ARCH=x86_64 +else + MKIMAGE_ARCH=i386 +fi + +version=$(cat board/shredos/fsoverlay/etc/shredos/version.txt) + +SUFFIXISO="${version}_$(date +%Y%m%d)" +FINAL_ISO_PATH="${BINARIES_DIR}/shredos-${SUFFIXISO}.iso" + +mv "${BINARIES_DIR}/rootfs.iso9660" "${FINAL_ISO_PATH}" || exit 1 + +GREEN="\033[0;32m" +RESET="\033[0m" + +printf "%b" "$GREEN" +echo +echo "===============================================" +echo " ISO image '${FINAL_ISO_PATH}'" +echo " (for '${MKIMAGE_ARCH}' architecture)" +echo " CREATED SUCCESSFULLY!" +echo "===============================================" +echo +printf "%b" "$RESET" + +exit 0 diff --git a/board/shredos/patches/grub2/001-remove-messages.patch b/board/shredos/patches/grub2/001-remove-messages.patch deleted file mode 100644 index 040c0caeb2..0000000000 --- a/board/shredos/patches/grub2/001-remove-messages.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c -index 3262444..3e37133 100644 ---- a/grub-core/kern/main.c -+++ b/grub-core/kern/main.c -@@ -211,8 +211,8 @@ grub_main (void) - grub_machine_init (); - - /* Hello. */ -- grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT); -- grub_printf ("Welcome to GRUB!\n\n"); -+ //grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT); -+ //grub_printf ("Welcome to GRUB!\n\n"); - grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); - - /* Load pre-loaded modules and free the space. */ -diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c -index 7e0a158..255db71 100644 ---- a/grub-core/normal/menu.c -+++ b/grub-core/normal/menu.c -@@ -672,9 +672,9 @@ static void - notify_booting (grub_menu_entry_t entry, - void *userdata __attribute__((unused))) - { -- grub_printf (" "); -- grub_printf_ (N_("Booting `%s'"), entry->title); -- grub_printf ("\n\n"); -+ //grub_printf (" "); -+ //grub_printf_ (N_("Booting `%s'"), entry->title); -+ grub_printf ("\nShred OS - booting...\n"); - } - - /* Callback invoked when a default menu entry executed because of a timeout diff --git a/build_all_shredos.sh b/build_all_shredos.sh new file mode 100755 index 0000000000..950d27493a --- /dev/null +++ b/build_all_shredos.sh @@ -0,0 +1,572 @@ +#!/bin/bash +set -euo pipefail + +################################################################################ +# Usage: ./build_all_shredos.sh [x64|x32|all] +# +# Arguments: +# x64 - Build only x86-64 configurations +# x32 - Build only i586 (32-bit) configurations +# all - Build all configurations (64-bit first, then 32-bit) +# +# Environment Variables: +# DRY_RUN=0|1 - Output all commands that would be executed (default: 0) +# PRE_CLEAN=0|1 - Do an initial 'make clean' before starting (default: 1) +# QUICK_BUILD=0|1 - Do not full rebuild for same architecture (default: 0) +# FAST_FAIL=0|1 - Exit on first configuration build failure (default: 1) +# NEW_VERSION=STR - Set version string (default: prompts user) +# +# Examples: +# ./build_all_shredos.sh x64 +# ./build_all_shredos.sh all +# QUICK_BUILD=1 ./build_all_shredos.sh x32 +# NEW_VERSION="2024.11_27_x86-64_0.38" ./build_all_shredos.sh x64 +################################################################################ + +# Location of the version file: +VERSION_FILE="board/shredos/fsoverlay/etc/shredos/version.txt" + +# 64-bit configurations to build: +X64_CONFIGS=( + "shredos_defconfig" + "shredos_img_defconfig" + "shredos_iso_defconfig" + "shredos_iso_legacy_defconfig" + "shredos_iso_extra_defconfig" # experimental +) + +# 32-bit configurations to build: +X32_CONFIGS=( + "shredos_i586_defconfig" + "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. +# This only applies when QUICK_BUILD is enabled, otherwise rebuilds everything. +ALWAYS_REBUILD_PKGS=( + "grub2" +) + +################################################################################ + +DRY_RUN="${DRY_RUN:-0}" +PRE_CLEAN="${PRE_CLEAN:-1}" +QUICK_BUILD="${QUICK_BUILD:-0}" +FAST_FAIL="${FAST_FAIL:-1}" +NEW_VERSION="${NEW_VERSION:-}" + +X64_SUCCESS=0 +X64_FAILED=0 +X32_SUCCESS=0 +X32_FAILED=0 + +GREEN="\033[0;32m" +YELLOW="\033[0;33m" +RED="\033[0;31m" +RESET="\033[0m" + +FORCE_CLEAN=0 + +print_usage() { + echo + echo "Usage: $0 [x64|x32|all]" + echo "" + echo "Arguments:" + echo " x64 - Build only x86-64 configurations" + echo " x32 - Build only i586 (32-bit) configurations" + echo " all - Build all configurations (64-bit first, then 32-bit)" + echo "" + echo "Environment Variables:" + echo " DRY_RUN=0|1 - Output all commands that would be executed (default: 0)" + echo " PRE_CLEAN=0|1 - Do an initial 'make clean' before starting (default: 1)" + echo " QUICK_BUILD=0|1 - Do not full rebuild for same architecture (default: 0)" + echo " FAST_FAIL=0|1 - Exit on first failure (default: 1)" + echo " NEW_VERSION=STR - Set version string (default: prompts user)" + echo "" + echo "Examples:" + echo " $0 x64" + echo " $0 all" + echo " QUICK_BUILD=1 PRE_CLEAN=0 $0 x32" + echo +} + +parse_arguments() { + if [ $# -eq 0 ]; then + printf "%b" "$RED" + echo "Error: Missing architecture argument" + printf "%b" "$RESET" + print_usage + exit 1 + fi + + BUILD_TARGET="$1" + case "$BUILD_TARGET" in + x64) + X32_CONFIGS=() + ;; + x32) + X64_CONFIGS=() + ;; + all) + ;; + *) + printf "%b" "$RED" + echo "Error: Invalid architecture '$BUILD_TARGET'" + echo "Must be one of: x64, x32, all" + printf "%b" "$RESET" + print_usage + exit 1 + ;; + esac +} + +prompt_version() { + local current_version="" + + if [ -f "$VERSION_FILE" ]; then + current_version=$(cat "$VERSION_FILE") + else + printf "%b" "$RED" + echo + echo "===============================================" + echo "Version file not found: $VERSION_FILE" + echo "===============================================" + echo + printf "%b" "$RESET" + exit 1 + fi + + if [ -z "$NEW_VERSION" ]; then + echo + echo "x86-64 and i586 will be replaced/switched around during builds (depending on architecture)" + read -rp "Enter new version or press ENTER to keep existing [${current_version}]: " NEW_VERSION + [ -z "$NEW_VERSION" ] && NEW_VERSION="$current_version" + fi + + run_cmd_change_version "$NEW_VERSION" + + printf "%b" "$GREEN" + echo + echo "===============================================" + echo "Version updated to: $NEW_VERSION" + echo "===============================================" + echo + printf "%b" "$RESET" +} + +display_build_plan() { + local total_configs=$((${#X64_CONFIGS[@]} + ${#X32_CONFIGS[@]})) + + printf "%b" "$GREEN" + echo + echo "===============================================" + echo "PLANNING TO BUILD:" + echo "===============================================" + echo "Version: $NEW_VERSION" + echo "Dry-Run: $DRY_RUN" + echo "Pre-Clean: $PRE_CLEAN" + echo "Quick Build: $QUICK_BUILD" + echo "Fast Failure: $FAST_FAIL" + echo "Total Configurations: $total_configs" + echo "Building Architectures: $BUILD_TARGET" + echo "===============================================" + echo + printf "%b" "$RESET" + + if [ ${#X64_CONFIGS[@]} -gt 0 ]; then + echo "64-bit configurations (${#X64_CONFIGS[@]}):" + for config in "${X64_CONFIGS[@]}"; do + echo " - $config" + done + echo + fi + + if [ ${#X32_CONFIGS[@]} -gt 0 ]; then + echo "32-bit configurations (${#X32_CONFIGS[@]}):" + for config in "${X32_CONFIGS[@]}"; do + echo " - $config" + done + echo + fi + + if [ ${#ALWAYS_REBUILD_PKGS[@]} -gt 0 ]; then + echo "Packages that will be re-built between same-architecture runs (${#ALWAYS_REBUILD_PKGS[@]}):" + for package in "${ALWAYS_REBUILD_PKGS[@]}"; do + echo " - $package" + done + echo + fi + + printf "%b" "$GREEN" + echo "===============================================" + echo "Configurations to build can be amended inside the script." + echo "===============================================" + echo + printf "%b" "$RESET" +} + +replace_version() { + local from=$1 + local to=$2 + + if [ -f "$VERSION_FILE" ]; then + run_cmd sed -i "s@$from@$to@g" "$VERSION_FILE" + fi +} + +run_cmd() { + local timestamp + timestamp=$(date '+%d.%m.%Y %H:%M:%S') + + if [ "$DRY_RUN" -eq 1 ]; then + if [[ $* == make* ]]; then + printf "%b" "$YELLOW" + echo "[DRY_RUN] $*" + printf "%b" "$RESET" + else + echo "[DRY_RUN] $*" + fi + else + echo "[$timestamp] $*" >> "build_all_shredos.log" + "$@" + fi +} + +run_cmd_tee() { + local timestamp + timestamp=$(date '+%d.%m.%Y %H:%M:%S') + local log_file="$1" + + if [ "$DRY_RUN" -eq 1 ]; then + echo "[DRY_RUN] tee $log_file" + cat + else + echo "[$timestamp] tee $log_file" >> "build_all_shredos.log" + tee "$log_file" + fi +} + +run_cmd_change_version() { + local timestamp + timestamp=$(date '+%d.%m.%Y %H:%M:%S') + local new_version="$1" + + if [ "$DRY_RUN" -eq 1 ]; then + echo "[DRY_RUN] echo \"$new_version\" > \"$VERSION_FILE\"" + else + echo "[$timestamp] echo \"$new_version\" > \"$VERSION_FILE\"" >> "build_all_shredos.log" + echo "$new_version" > "$VERSION_FILE" + fi +} + +build_config() { + local index="$1" + local config="$2" + local arch="$3" + local log_file="dist/${config}.log" + + printf "%b" "$YELLOW" + echo + echo "============================================" + echo "Started: '$config' ($arch)" + echo "============================================" + echo + printf "%b" "$RESET" + + # Build | QuickBuild=1, PreClean=1 | QuickBuild=0, PreClean=1 | QuickBuild=1, PreClean=0 | QuickBuild=0, PreClean=0 + # -------|---------------------------|---------------------------|---------------------------|--------------------------- + # x64 #0 | config -> make | config -> make | config -> rebuild -> make | config -> rebuild -> make + # x64 #1 | config -> rebuild -> make | clean -> config -> make | config -> rebuild -> make | clean -> config -> make + # x64 #2+| config -> rebuild -> make | clean -> config -> make | config -> rebuild -> make | clean -> config -> make + # x32 #0 | clean -> config -> make | clean -> config -> make | clean -> config -> make | clean -> config -> make + # x32 #1+| config -> rebuild -> make | clean -> config -> make | config -> rebuild -> make | clean -> config -> make + + if [ "$index" -ne 0 ] && [ "$QUICK_BUILD" -eq 1 ] && [ "$FORCE_CLEAN" -ne 1 ]; then + # If it's not the first configuration, and quick-build is enabled, + # and a clean is not otherwise forced, just rebuild necessary packages. + echo + echo "============================================" + echo "Loading configuration '$config' ($arch)..." + echo "============================================" + echo + if ! run_cmd make "$config"; then + build_config_failed "$config" "$arch" "$log_file" + return 1 + fi + echo + echo "============================================" + echo "Rebuilding packages for '$config' ($arch)..." + echo "============================================" + echo + for pkg in "${ALWAYS_REBUILD_PKGS[@]}"; do + # Reconfigure starts one stage before rebuild, just to be safe. + # It is the earliest step after the source download and patching. + if ! run_cmd make "${pkg}-reconfigure"; then + build_config_failed "$config" "$arch" "$log_file" + return 1 + fi + done + else + if [ "$index" -ne 0 ] || [ "$FORCE_CLEAN" -eq 1 ]; then + # If it's not the first configuration, or the clean was forced + # (due to architecture change), clean the building environment. + echo + echo "============================================" + echo "Running 'make clean' for '$config' ($arch)..." + echo "============================================" + echo + if ! run_cmd make clean; then + build_config_failed "$config" "$arch" "$log_file" + return 1 + fi + fi + echo + echo "============================================" + echo "Loading configuration '$config' ($arch)..." + echo "============================================" + echo + if ! run_cmd make "$config"; then + build_config_failed "$config" "$arch" "$log_file" + return 1 + fi + if [ "$index" -eq 0 ] && [ "$PRE_CLEAN" -eq 0 ] && [ "$FORCE_CLEAN" -ne 1 ]; then + # If it's the first configuration in a deliberately unclean environment, + # and clean was not otherwise forced, at least rebuild the necessary packages. + echo + echo "============================================" + echo "Rebuilding packages for '$config' ($arch)..." + echo "============================================" + echo + for pkg in "${ALWAYS_REBUILD_PKGS[@]}"; do + # Reconfigure starts one stage before rebuild, just to be safe. + # It is the earliest step after the source download and patching. + if ! run_cmd make "${pkg}-reconfigure"; then + build_config_failed "$config" "$arch" "$log_file" + return 1 + fi + done + fi + fi + + FORCE_CLEAN=0 # Reset previous dirty state + + echo + echo "============================================" + echo "Building '$config' ($arch)..." + echo "============================================" + echo + if run_cmd make 2>&1 | run_cmd_tee "$log_file"; then + echo + echo "============================================" + echo "Finishing '$config' ($arch)..." + echo "============================================" + echo + build_config_success "$config" "$arch" "$log_file" + return 0 + else + echo + echo "============================================" + echo "Finishing '$config' ($arch)..." + echo "============================================" + echo + build_config_failed "$config" "$arch" "$log_file" + return 1 + fi +} + +print_summary_and_exit() { + local return_code="$1" + local total_success=$((X64_SUCCESS + X32_SUCCESS)) + local total_failed=$((X64_FAILED + X32_FAILED)) + local total_builds=$((total_success + total_failed)) + + echo + echo "============================================" + echo "BUILD SUMMARY" + echo "============================================" + echo "64-bit builds: $X64_SUCCESS succeeded, $X64_FAILED failed" + echo "32-bit builds: $X32_SUCCESS succeeded, $X32_FAILED failed" + echo "--------------------------------------------" + echo "Total: $total_success succeeded, $total_failed failed (out of $total_builds)" + echo "--------------------------------------------" + echo "You will find all output files of the builds in the 'dist/' folder." + echo "Check 'build_all_shredos.log' for all the commands that were executed." + echo "============================================" + echo + + if [ "$return_code" -ne 0 ]; then + exit "$return_code" + elif [ "$total_failed" -gt 0 ]; then + exit 1 + else + exit 0 + fi +} + +build_config_success() { + local config="$1" + local arch="$2" + local log_file="$3" + + if [ -f "$log_file" ]; then + run_cmd mv "$log_file" "dist/${config}-SUCCESS.log" + fi + + run_cmd mkdir -p "dist/$config" + run_cmd mv output/images/shredos*.iso "dist/$config/" 2>/dev/null || true + run_cmd mv output/images/shredos*.img "dist/$config/" 2>/dev/null || true + + printf "%b" "$GREEN" + echo + echo "===============================================" + echo "SUCCESS: '$config' ($arch)" + echo "===============================================" + echo + printf "%b" "$RESET" + + if [ "$arch" = "x64" ]; then + ((X64_SUCCESS++)) + else + ((X32_SUCCESS++)) + fi +} + +build_config_failed() { + local config="$1" + local arch="$2" + local log_file="$3" + + if [ -f "$log_file" ]; then + run_cmd mv "$log_file" "dist/${config}-FAILED.log" + fi + + printf "%b" "$RED" + echo + echo "===============================================" + echo "FAILURE: '$config' ($arch)" + echo "===============================================" + echo + printf "%b" "$RESET" + + if [ "$arch" = "x64" ]; then + ((X64_FAILED++)) + else + ((X32_FAILED++)) + fi + + if [ "$FAST_FAIL" -eq 1 ]; then + printf "%b" "$RED" + echo + echo "===============================================" + echo "Fast Failure Mode is enabled - not proceeding..." + echo "===============================================" + echo + printf "%b" "$RESET" + exit 1 + fi +} + +################################################################################ + +if [ -f "build_all_shredos.log" ]; then + rm build_all_shredos.log +fi + +parse_arguments "$@" +prompt_version +display_build_plan + +if [ "$DRY_RUN" -eq 1 ]; then + printf "%b" "$YELLOW" + echo + echo "===============================================" + echo "DRY RUN - NO ACTUAL CHANGES WILL BE MADE" + echo "DISREGARD WARNINGS ABOUT 'MAKE CLEAN' ETC..." + echo "===============================================" + echo + printf "%b" "$RESET" +fi + +if [ "$PRE_CLEAN" -eq 1 ]; then + printf "%b" "$RED" + echo + echo "===============================================" + echo "Beware - WILL run a MAKE CLEAN before starting building!" + echo "Press ENTER in the next 10 seconds to skip this step..." + echo "or otherwise (if you want to MAKE CLEAN) - just wait..." + echo "===============================================" + echo + printf "%b" "$RESET" + + if read -rt 10; then + PRE_CLEAN=0 + echo "Skipped cleaning the building stage (no 'make clean')..." + fi +fi + +printf "%b" "$YELLOW" +echo +echo "===============================================" +echo "Starting build in 10 seconds... (press CTRL+C to cancel)" +if [ "$PRE_CLEAN" -eq 1 ]; then + printf "%b" "$RESET" + printf "%b" "$RED" + echo "Beware - WILL run a MAKE CLEAN before starting building!" + printf "%b" "$RESET" + printf "%b" "$YELLOW" +fi +echo "===============================================" +echo +printf "%b" "$RESET" + +sleep 10 + +if [ "$PRE_CLEAN" -eq 1 ]; then + echo "Running 'make clean' on the building environment..." + run_cmd make clean +fi + +echo "Removing and recreating 'dist/' folder (if it exists)..." +run_cmd rm -r dist || true +run_cmd mkdir -p dist + +echo "Starting to build..." +trap 'print_summary_and_exit $?' EXIT INT TERM + +if [ ${#X64_CONFIGS[@]} -gt 0 ]; then + echo + echo "===============================================" + echo "Starting 64-bit builds..." + echo "===============================================" + echo + replace_version "i586" "x86-64" + + CFG_INDEX=0 + for config in "${X64_CONFIGS[@]}"; do + build_config "$CFG_INDEX" "$config" "x64" || true + ((++CFG_INDEX)) + done +fi + +if [ ${#X32_CONFIGS[@]} -gt 0 ]; then + if [ ${#X64_CONFIGS[@]} -gt 0 ]; then + run_cmd make clean + FORCE_CLEAN=1 # Need this for architecture change + fi + + echo + echo "===============================================" + echo "Starting 32-bit builds..." + echo "===============================================" + echo + replace_version "x86-64" "i586" + + CFG_INDEX=0 + for config in "${X32_CONFIGS[@]}"; do + build_config "$CFG_INDEX" "$config" "x32" || true + ((++CFG_INDEX)) + done +fi diff --git a/configs/shredos_defconfig b/configs/shredos_defconfig index d76362015a..e15d7ed364 100644 --- a/configs/shredos_defconfig +++ b/configs/shredos_defconfig @@ -15,7 +15,7 @@ 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_IMAGE_SCRIPT="board/shredos/doimg.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/shredos/make_iso_file.sh board/shredos/make_img_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" @@ -164,15 +164,26 @@ 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_EXT2=y -BR2_TARGET_ROOTFS_EXT2_SIZE="768M" BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_TARGET_ROOTFS_ISO9660=y +BR2_TARGET_ROOTFS_ISO9660_BOTH=y +BR2_TARGET_ROOTFS_ISO9660_VOLUME_NAME="SHREDOS" +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_TAR is not set BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_I386_PC=y BR2_TARGET_GRUB2_X86_64_EFI=y -BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard" -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" +BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg" +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 diff --git a/configs/shredos_i586_defconfig b/configs/shredos_i586_defconfig new file mode 100644 index 0000000000..240591da29 --- /dev/null +++ b/configs/shredos_i586_defconfig @@ -0,0 +1,187 @@ +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_IMAGE_SCRIPT="board/shredos/make_iso_file.sh board/shredos/make_img_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_VOLUME_NAME="SHREDOS" +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_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_I386_PC=y +BR2_TARGET_GRUB2_I386_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg" +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_img_defconfig b/configs/shredos_img_defconfig new file mode 100644 index 0000000000..f175c3149d --- /dev/null +++ b/configs/shredos_img_defconfig @@ -0,0 +1,181 @@ +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_IMAGE_SCRIPT="board/shredos/make_img_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_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_I386_PC=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg" +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" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg" +BR2_TARGET_GRUB2_INSTALL_TOOLS=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_img_i586_defconfig b/configs/shredos_img_i586_defconfig new file mode 100644 index 0000000000..079281d7cc --- /dev/null +++ b/configs/shredos_img_i586_defconfig @@ -0,0 +1,178 @@ +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_IMAGE_SCRIPT="board/shredos/make_img_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_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_I386_PC=y +BR2_TARGET_GRUB2_I386_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg" +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" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg" +BR2_TARGET_GRUB2_INSTALL_TOOLS=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_defconfig b/configs/shredos_iso_defconfig new file mode 100644 index 0000000000..db9f0a26a1 --- /dev/null +++ b/configs/shredos_iso_defconfig @@ -0,0 +1,187 @@ +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_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_VOLUME_NAME="SHREDOS" +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_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_defconfig b/configs/shredos_iso_extra_defconfig new file mode 100644 index 0000000000..34c1412242 --- /dev/null +++ b/configs/shredos_iso_extra_defconfig @@ -0,0 +1,189 @@ +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_VOLUME_NAME="SHREDOS" +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..38eb6616d1 --- /dev/null +++ b/configs/shredos_iso_extra_i586_defconfig @@ -0,0 +1,186 @@ +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_VOLUME_NAME="SHREDOS" +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/configs/shredos_iso_i586_defconfig b/configs/shredos_iso_i586_defconfig new file mode 100644 index 0000000000..f25b247307 --- /dev/null +++ b/configs/shredos_iso_i586_defconfig @@ -0,0 +1,184 @@ +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_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_VOLUME_NAME="SHREDOS" +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_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/configs/shredos_iso_legacy_defconfig b/configs/shredos_iso_legacy_defconfig new file mode 100644 index 0000000000..676ad43f59 --- /dev/null +++ b/configs/shredos_iso_legacy_defconfig @@ -0,0 +1,186 @@ +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_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_VOLUME_NAME="SHREDOS" +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_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_legacy_i586_defconfig b/configs/shredos_iso_legacy_i586_defconfig new file mode 100644 index 0000000000..78976354dd --- /dev/null +++ b/configs/shredos_iso_legacy_i586_defconfig @@ -0,0 +1,183 @@ +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_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_VOLUME_NAME="SHREDOS" +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_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 8c4e7badf8..2dc0610d18 100644 --- a/fs/iso9660/Config.in +++ b/fs/iso9660/Config.in @@ -4,7 +4,7 @@ config BR2_TARGET_ROOTFS_ISO9660 depends on BR2_LINUX_KERNEL depends on BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX select BR2_LINUX_KERNEL_INSTALL_TARGET \ - if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) + if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) help Build a bootable ISO9660 image. By default, the root filesystem is directly packed as the ISO9660 filesystem, @@ -23,27 +23,53 @@ if BR2_TARGET_ROOTFS_ISO9660 choice prompt "Bootloader" + depends on BR2_TARGET_ROOTFS_ISO9660 config BR2_TARGET_ROOTFS_ISO9660_GRUB2 bool "grub2" - depends on BR2_TARGET_GRUB2 + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_GRUB2 \ + && (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER \ if BR2_TARGET_GRUB2_I386_PC select BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER \ if (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) help - Use Grub 2 as the bootloader for the ISO9660 image. Make - sure to enable the 'iso9660' module in - BR2_TARGET_GRUB2_BUILTIN_MODULES_PC or - BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. Use 'cd' as the boot - partition in BR2_TARGET_GRUB2_BOOT_PARTITION= for GRUB on BIOS - or 'set root=(cd0)' in the configuration file passed to - BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI for GRUB on EFI. + Use Grub 2 as the bootloader for the ISO9660 image. + Make sure to enable the 'iso9660' module in + (when used) BR2_TARGET_GRUB2_BUILTIN_MODULES_PC and (when used) + BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. For GRUB on BIOS, use 'cd' + as the boot partition in BR2_TARGET_GRUB2_BOOT_PARTITION setting. + For GRUB on EFI 'set root=(cd0)' in the configuration file passed + to BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI, although just an ISO9660 + BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU containing a "search" + using the BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE also works. config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX bool "isolinux" + depends on BR2_TARGET_ROOTFS_ISO9660 depends on BR2_TARGET_SYSLINUX_ISOLINUX select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER + help + Use ISOLINUX as the bootloader for the ISO9660 image. + ISOLINUX is a bootloader for BIOS systems that can boot + from CD-ROM or USB devices. + +config BR2_TARGET_ROOTFS_ISO9660_BOTH + bool "both" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_SYSLINUX_ISOLINUX + depends on BR2_TARGET_GRUB2 \ + && (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) + select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER + select BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER + help + Use both ISOLINUX (for BIOS boot) and GRUB2 (for UEFI boot). + This creates an ISO that can boot on both legacy BIOS + systems and modern UEFI systems, combined with the hybrid + image option this will produce a Debian-style hybrid ISO, + as it is commonly shipped alongside modern Linux distros, + which can both be flashed to USB and burned to CD/DVD-ROM. endchoice @@ -53,20 +79,99 @@ config BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER config BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER bool -config BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU - string "Boot menu config file" - default "fs/iso9660/grub.cfg" if BR2_TARGET_ROOTFS_ISO9660_GRUB2 - default "fs/iso9660/isolinux.cfg" if BR2_TARGET_ROOTFS_ISO9660_ISOLINUX +config BR2_TARGET_ROOTFS_ISO9660_VOLUME_NAME + string "iso volume name" + depends on BR2_TARGET_ROOTFS_ISO9660 + default "ISO9660" help - Use this option to provide a custom bootloader configuration - file (grub.cfg for Grub 2, isolinux.cfg for isolinux). + Set the Volume ID of the ISO image. xorriso accepts any text up to 32 + characters, but according to rarely obeyed specs stricter rules apply: + Conformant are ASCII characters out of [A-Z0-9_], like: "IMAGE_23". Joliet + allows 16 UCS-2 characters, like: "Windows name". Be aware that the volume + ID might get used automatically as name of the mount point when the medium + is inserted into a playful computer system. + +config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX_BOOT_MENU + string "Isolinux configuration file" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX || BR2_TARGET_ROOTFS_ISO9660_BOTH + default "fs/iso9660/isolinux.cfg" + help + Use this option to provide a custom ISOLINUX configuration + file (isolinux.cfg). Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ will automatically be replaced by the path to the kernel and - initrd images respectively. + initrd images respectively (or removed, if not applicable). + +config BR2_TARGET_ROOTFS_ISO9660_GRUB2_BOOT_MENU + string "Grub2 configuration file" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH + default "fs/iso9660/grub.cfg" + help + Use this option to provide a custom GRUB2 configuration + file (grub.cfg). + + Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ + will automatically be replaced by the path to the kernel and + initrd images respectively (or removed, if not applicable). + +config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU + string "Grub2 configuration file (EFI)" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \ + && BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER + default "fs/iso9660/efigrub.cfg" + help + Use this option to provide a custom GRUB2 configuration + file (grub.cfg), copied both to the EFI partition and the + ISO9660 filesystem EFI-structure (for an EFI bootloader to find). + + It will usually contain a "search" and "source" directive to find + the ISO9660 filesystem containing a common (BIOS) GRUB2 configuration. + Alternatively, 'set root=(cd0)' and other such quirks are possible here. + + This is specifically for directives required for ISO9660 builds, for + baking an EFI search config into the common GRUB image (often better) + check out instead the GRUB2 setting: BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI + + Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ + will automatically be replaced by the path to the kernel and + initrd images respectively (or removed, if not applicable). + + Note that any string __EFI_ID_FILE__ will automatically be + replaced with the BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE. + +config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE + string "Grub2 identification file (EFI)" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \ + && BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER + default "/boot/buildroot" + help + Use this option to provide a custom name for the identification + file that is added to the ISO9660 filesystem, so the EFI bootloader + can better "search" it among possibly multiple attached boot devices. + +config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_PARTITION_SIZE + string "Grub2 partition size (EFI)" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \ + && BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER + default "3M" + help + Use this option to increase the size of the EFI partition. + Embedding more GRUB2 modules may require a larger EFI partition size. + + Beware that sizes above 32M may not be compatible with all systems. + xorriso will raise warnings, but not fail partitions larger than 32M. + If you exceed 32M, carefully examine your builds and partition layouts. config BR2_TARGET_ROOTFS_ISO9660_INITRD bool "Use initrd" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on !BR2_TARGET_ROOTFS_INITRAMFS default y select BR2_TARGET_ROOTFS_CPIO help @@ -78,21 +183,56 @@ config BR2_TARGET_ROOTFS_ISO9660_INITRD config BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION bool "transparent compression" + depends on BR2_TARGET_ROOTFS_ISO9660 depends on !BR2_TARGET_ROOTFS_ISO9660_INITRD depends on !BR2_TARGET_ROOTFS_INITRAMFS help - Say 'y' to enable use of transparent (de)compression. Files + Enables the use of transparent (de)compression. All files are stored compressed and will be decompressed on-the-fly upon access at runtime. config BR2_TARGET_ROOTFS_ISO9660_HYBRID bool "Build hybrid image" - depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX || BR2_TARGET_ROOTFS_ISO9660_BOTH help - Enable this option to build an hybrid image, i.e an image - which can either be booted from a CD-ROM or from a device - which BIOS considers a hard disk or ZIP disk, e.g. a USB key - or similar. + Enable this option to build a hybrid image, which is an image + 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 partition to hybrid image" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_ROOTFS_ISO9660_BOTH + depends on BR2_TARGET_ROOTFS_ISO9660_HYBRID + default "" + help + Enable this option to append a prepared filesystem image + to the hybrid image, useful when needing a writeable data + partition for USBs - should be considered as 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. + +config BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE + string "Append partition type" + depends on BR2_TARGET_ROOTFS_ISO9660 + depends on BR2_TARGET_ROOTFS_ISO9660_BOTH + depends on BR2_TARGET_ROOTFS_ISO9660_HYBRID + depends on BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION != "" + default "0x0e" + help + May be "FAT12", "FAT16", "Linux", or a hexadecimal number between 0x00 and + 0xff. Not all those numbers will yield usable results. For a list of codes + search the internet for "Partition Types". If the partition appears in GPT + then 0xef is mapped to the EFI System Partition Type GUID. All others get + mapped to Basic Data Type GUID. May also be a type GUID as plain hex + string like a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like + EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the partition is + mentioned in GPT. In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be + mapped to 0xef. Any other GUID will be mapped to 0x83. endif diff --git a/fs/iso9660/README b/fs/iso9660/README new file mode 100644 index 0000000000..bc465b7fa7 --- /dev/null +++ b/fs/iso9660/README @@ -0,0 +1,8 @@ +ISO9660 filesystem was updated to modern standards as of 20/11/2025. +The changes have - at the time of this writing - not been upstreamed. +Do compare (and port 'fs/iso9660' over) when updating the Buildroot release. + +The following variables are filled in at build-time: + - __EFI_ID_FILE__ + - __KERNEL_PATH__ + - __INITRD_PATH__ (automatically removed if not used) diff --git a/fs/iso9660/efigrub.cfg b/fs/iso9660/efigrub.cfg new file mode 100644 index 0000000000..a8f2c567eb --- /dev/null +++ b/fs/iso9660/efigrub.cfg @@ -0,0 +1,3 @@ +search --file --set=root __EFI_ID_FILE__ +set prefix=($root)/boot/grub +source $prefix/grub.cfg diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index 0524f94c35..1eb6abb1b6 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -1,6 +1,6 @@ ################################################################################ # -# Build the iso96600 root filesystem image +# Build the ISO9660 root filesystem image # ################################################################################ @@ -21,11 +21,41 @@ # built into the kernel image. This is when # BR2_TARGET_ROOTFS_INITRAMFS is enabled (regardless of the value # of BR2_TARGET_ROOTFS_ISO9660_INITRD). +# -ROOTFS_ISO9660_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU)) +################################################################################ +# Configuration Variables +################################################################################ ROOTFS_ISO9660_DEPENDENCIES = host-xorriso linux +ROOTFS_ISO9660_VOLUME_NAME = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_VOLUME_NAME)) +ROOTFS_ISO9660_GRUB2_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_GRUB2_BOOT_MENU)) +ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU)) +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)) +ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE)) + +################################################################################ +# Architecture-specific variables +################################################################################ + +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 + +################################################################################ +# Determine if we're using initrd +################################################################################ + ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) ROOTFS_ISO9660_USE_INITRD = YES endif @@ -34,17 +64,23 @@ ifeq ($(BR2_TARGET_ROOTFS_ISO9660_INITRD),y) ROOTFS_ISO9660_USE_INITRD = YES endif +################################################################################ +# Setup temporary target directory +################################################################################ + ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) +# Using initrd: create minimal temporary directory ROOTFS_ISO9660_TMP_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp define ROOTFS_ISO9660_CREATE_TEMPDIR $(RM) -rf $(ROOTFS_ISO9660_TMP_TARGET_DIR) mkdir -p $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR + else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION),y) +# Using transparent compression: create compressed tree ROOTFS_ISO9660_DEPENDENCIES += host-zisofs-tools ROOTFS_ISO9660_TMP_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp -# This must be early, before we copy the bootloader files. define ROOTFS_ISO9660_MKZFTREE $(RM) -rf $(ROOTFS_ISO9660_TMP_TARGET_DIR) $(HOST_DIR)/bin/mkzftree -X -z 9 -p $(PARALLEL_JOBS) \ @@ -53,10 +89,16 @@ define ROOTFS_ISO9660_MKZFTREE endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_MKZFTREE ROOTFS_ISO9660_OPTS += -z + else +# Standard mode: use TARGET_DIR directly ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR) endif +################################################################################ +# Reproducible build support +################################################################################ + ifeq ($(BR2_REPRODUCIBLE),y) ROOTFS_ISO9660_VFAT_OPTS = --invariant ROOTFS_ISO9660_FIX_TIME = touch -d @$(SOURCE_DATE_EPOCH) @@ -64,134 +106,374 @@ else ROOTFS_ISO9660_FIX_TIME = : endif +################################################################################ +# GRUB2 BIOS Bootloader Configuration +################################################################################ + ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),yy) ROOTFS_ISO9660_DEPENDENCIES += grub2 -ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ - $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg +ROOTFS_ISO9660_GRUB2_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg ROOTFS_ISO9660_BOOT_IMAGE = boot/grub/grub-eltorito.img -define ROOTFS_ISO9660_INSTALL_BOOTLOADER_BIOS + +define ROOTFS_ISO9660_INSTALL_GRUB2_BIOS $(INSTALL) -D -m 0644 $(BINARIES_DIR)/grub-eltorito.img \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub-eltorito.img endef -endif -ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),yy) -ROOTFS_ISO9660_DEPENDENCIES += grub2 host-dosfstools host-mtools -ROOTFS_ISO9660_EFI_PARTITION = boot/fat.efi -ROOTFS_ISO9660_EFI_PARTITION_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_EFI_PARTITION) -ROOTFS_ISO9660_EFI_PARTITION_CONTENT = $(BINARIES_DIR)/efi-part -ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ - $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg -define ROOTFS_ISO9660_INSTALL_BOOTLOADER_EFI - rm -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH) - mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH)) - dd if=/dev/zero of=$(ROOTFS_ISO9660_EFI_PARTITION_PATH) bs=1M count=1 - $(HOST_DIR)/sbin/mkfs.vfat $(ROOTFS_ISO9660_VFAT_OPTS) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) - $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* - $(HOST_DIR)/bin/mcopy -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) -s \ - $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* ::/ - $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) +define ROOTFS_ISO9660_INSTALL_GRUB2_CONFIG + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_GRUB2_BOOT_MENU) \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH) + $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH) endef endif +################################################################################ +# GRUB2 EFI Bootloader Configuration +################################################################################ + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),yy) +ROOTFS_ISO9660_DEPENDENCIES += grub2 host-dosfstools host-mtools +ROOTFS_ISO9660_EFI_PARTITION = boot/efi.img +ROOTFS_ISO9660_EFI_PARTITION_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_EFI_PARTITION) +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 + +define ROOTFS_ISO9660_INSTALL_GRUB2_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) + # Create EFI FAT partition + $(RM) -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH) + mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH)) + dd if=/dev/zero of=$(ROOTFS_ISO9660_EFI_PARTITION_PATH) bs=$(ROOTFS_ISO9660_GRUB2_EFI_PARTITION_SIZE) count=1 + $(HOST_DIR)/sbin/mkfs.vfat $(ROOTFS_ISO9660_VFAT_OPTS) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) + # Copy bootloader and modules to EFI partition + $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* + $(HOST_DIR)/bin/mcopy -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) -s \ + $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* ::/ + # Delete the EFI bootloader that is NOT for the platform we're building for + $(HOST_DIR)/bin/mdel -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) \ + ::$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME) || true + # Overwrite generic EFI configuration with our EFI configuration + $(HOST_DIR)/bin/mcopy -n -o -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) ::$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/grub.cfg + $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) +endef + +define ROOTFS_ISO9660_INSTALL_GRUB2_CONFIG + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_GRUB2_BOOT_MENU) \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH) + $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH) + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU) \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) + $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) + $(SED) "s%__EFI_ID_FILE__%$(ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)%" \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) +endef +endif + +################################################################################ +# ISOLINUX Bootloader Configuration (BIOS only) +################################################################################ + ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y) ROOTFS_ISO9660_DEPENDENCIES += syslinux -ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ - $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/isolinux.cfg +ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/isolinux.cfg ROOTFS_ISO9660_BOOT_IMAGE = isolinux/isolinux.bin -define ROOTFS_ISO9660_INSTALL_BOOTLOADER_BIOS + +define ROOTFS_ISO9660_INSTALL_ISOLINUX_BIOS $(INSTALL) -D -m 0644 $(BINARIES_DIR)/syslinux/* \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/ldlinux.c32 \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ldlinux.c32 + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/menu.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/menu.c32 + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/libutil.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/libutil.c32 + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/libcom32.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/libcom32.c32 +endef + +define ROOTFS_ISO9660_INSTALL_ISOLINUX_CONFIG + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_ISOLINUX_BOOT_MENU) \ + $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH) + $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ + $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH) endef endif -define ROOTFS_ISO9660_PREPARATION - $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_BOOT_MENU) \ - $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) +################################################################################ +# BOTH Mode: ISOLINUX (BIOS) + GRUB2 (EFI) +################################################################################ + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BOTH),y) +ROOTFS_ISO9660_DEPENDENCIES += syslinux grub2 host-dosfstools host-mtools + +# ISOLINUX configuration +ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/isolinux.cfg +ROOTFS_ISO9660_BOOT_IMAGE = isolinux/isolinux.bin + +# GRUB2 EFI configuration +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 +ROOTFS_ISO9660_EFI_PARTITION = boot/efi.img +ROOTFS_ISO9660_EFI_PARTITION_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_EFI_PARTITION) +ROOTFS_ISO9660_EFI_PARTITION_CONTENT = $(BINARIES_DIR)/efi-part + +define ROOTFS_ISO9660_INSTALL_ISOLINUX_BIOS + $(INSTALL) -D -m 0644 $(BINARIES_DIR)/syslinux/* \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/ldlinux.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ldlinux.c32 + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/menu.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/menu.c32 + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/libutil.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/libutil.c32 + $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/libcom32.c32 \ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/libcom32.c32 +endef + +define ROOTFS_ISO9660_INSTALL_ISOLINUX_CONFIG + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_ISOLINUX_BOOT_MENU) \ + $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH) $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ - $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) - $(ROOTFS_ISO9660_INSTALL_BOOTLOADER_BIOS) - $(ROOTFS_ISO9660_INSTALL_BOOTLOADER_EFI) + $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH) endef -ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_PREPARATION - -define ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD - $(SED) '/__INITRD_PATH__/d' $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) +define ROOTFS_ISO9660_INSTALL_GRUB2_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) + # Create EFI FAT partition + $(RM) -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH) + mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH)) + dd if=/dev/zero of=$(ROOTFS_ISO9660_EFI_PARTITION_PATH) bs=$(ROOTFS_ISO9660_GRUB2_EFI_PARTITION_SIZE) count=1 + $(HOST_DIR)/sbin/mkfs.vfat $(ROOTFS_ISO9660_VFAT_OPTS) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) + # Copy bootloader and modules to EFI partition + $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* + $(HOST_DIR)/bin/mcopy -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) -s \ + $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* ::/ + # Delete the EFI bootloader that is NOT for the platform we're building for + $(HOST_DIR)/bin/mdel -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) \ + ::$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME) || true + # Overwrite generic EFI configuration with our EFI configuration + $(HOST_DIR)/bin/mcopy -n -o -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) ::$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/grub.cfg + $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_PATH) endef -# Copy the kernel to temporary filesystem +define ROOTFS_ISO9660_INSTALL_GRUB2_CONFIG + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_GRUB2_BOOT_MENU) \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH) + $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH) + $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU) \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) + $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) + $(SED) "s%__EFI_ID_FILE__%$(ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)%" \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH) +endef +endif + +################################################################################ +# Bootloader Configuration Installation +################################################################################ + +define ROOTFS_ISO9660_INSTALL_BOOTLOADER_CONFIGS + $(ROOTFS_ISO9660_INSTALL_GRUB2_CONFIG) + $(ROOTFS_ISO9660_INSTALL_ISOLINUX_CONFIG) +endef + +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_INSTALL_BOOTLOADER_CONFIGS + +################################################################################ +# Initrd Handling +################################################################################ + define ROOTFS_ISO9660_COPY_KERNEL $(INSTALL) -D -m 0644 $(LINUX_IMAGE_PATH) \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/$(LINUX_IMAGE_NAME) endef -ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) -ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_KERNEL - -# If initramfs is used, disable loading the initrd as the rootfs is -# already inside the kernel image. Otherwise, make sure a cpio is -# generated and use it as the initrd. -ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) -ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD -else -ROOTFS_ISO9660_DEPENDENCIES += rootfs-cpio -define ROOTFS_ISO9660_COPY_INITRD +define ROOTFS_ISO9660_ENABLE_EXTERNAL_INITRD $(INSTALL) -D -m 0644 $(BINARIES_DIR)/rootfs.cpio$(ROOTFS_CPIO_COMPRESS_EXT) \ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/initrd - $(SED) "s%__INITRD_PATH__%/boot/initrd%" \ - $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) + $(if $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH), \ + $(SED) "s%__INITRD_PATH__%/boot/initrd%" \ + $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH)) + $(if $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH), \ + $(SED) "s%__INITRD_PATH__%/boot/initrd%" \ + $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH)) + $(if $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH), \ + $(SED) "s%__INITRD_PATH__%/boot/initrd%" \ + $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH)) endef -ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_INITRD + +define ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD + $(if $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH), \ + $(SED) '/__INITRD_PATH__/d' $(ROOTFS_ISO9660_GRUB2_CONFIG_PATH)) + $(if $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH), \ + $(SED) '/__INITRD_PATH__/d' $(ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH)) + $(if $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH), \ + $(SED) '/append[[:space:]]*initrd=__INITRD_PATH__[[:space:]]*$$/d' $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH) && \ + $(SED) 's/initrd=__INITRD_PATH__[[:space:]]*//' $(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH)) +endef + +ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) +# Copy kernel when using initrd +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_KERNEL + +ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) +# Initramfs is built into kernel - disable external initrd +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD +else +# External initrd - copy it and update configs +ROOTFS_ISO9660_DEPENDENCIES += rootfs-cpio +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_ENABLE_EXTERNAL_INITRD endif -else # ROOTFS_ISO9660_USE_INITRD +else # Not using initrd ifeq ($(BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION),y) -# We must use the uncompressed kernel image +# Transparent compression requires uncompressed kernel ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_KERNEL endif ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD +endif -endif # ROOTFS_ISO9660_USE_INITRD +################################################################################ +# Bootloader Installation +# This must happen last after all config files are prepared +################################################################################ -ROOTFS_ISO9660_OPTS += -J -R +define ROOTFS_ISO9660_INSTALL_BOOTLOADERS + $(ROOTFS_ISO9660_INSTALL_GRUB2_BIOS) + $(ROOTFS_ISO9660_INSTALL_ISOLINUX_BIOS) + $(ROOTFS_ISO9660_INSTALL_GRUB2_EFI) +endef +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_INSTALL_BOOTLOADERS + +################################################################################ +# ISO9660 Generation Options +# +# Note: Argument order is crucial here, this command line was inspired by +# modern Debian distributions (see .disk/mkisofs inside one of their ISOs) +################################################################################ + +ROOTFS_ISO9660_OPTS += -r -V '$(ROOTFS_ISO9660_VOLUME_NAME)' -J -joliet-long -cache-inodes + +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BOTH)$(BR2_TARGET_ROOTFS_ISO9660_HYBRID),yy) +# BOTH + HYBRID (uses ISOLINUX) +# Hybrid Image Support (Modern Variant, Debian-style) +ROOTFS_ISO9660_OPTS_BIOS = \ + -isohybrid-mbr $(HOST_DIR)/share/syslinux/isohdpfx.bin \ + -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ + -c isolinux/boot.cat \ + -boot-load-size 4 \ + -boot-info-table \ + -no-emul-boot +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BOTH),y) +# BOTH (uses ISOLINUX) ROOTFS_ISO9660_OPTS_BIOS = \ -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ - -no-emul-boot \ + -c isolinux/boot.cat \ -boot-load-size 4 \ - -boot-info-table - -ROOTFS_ISO9660_OPTS_EFI = \ - --efi-boot $(ROOTFS_ISO9660_EFI_PARTITION) \ + -boot-info-table \ -no-emul-boot +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y) +# ISOLINUX +ROOTFS_ISO9660_OPTS_BIOS = \ + -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ + -c isolinux/boot.cat \ + -boot-load-size 4 \ + -boot-info-table \ + -no-emul-boot +else +# GRUB2 +ROOTFS_ISO9660_OPTS_BIOS = \ + -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ + -boot-load-size 4 \ + -boot-info-table \ + -no-emul-boot +endif +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BOTH)$(BR2_TARGET_ROOTFS_ISO9660_HYBRID),yy) +# BOTH + HYBRID (uses GRUB2 in EFI) +# Hybrid Image Support (Modern Variant, Debian-style) +ROOTFS_ISO9660_OPTS_EFI = \ + -e $(ROOTFS_ISO9660_EFI_PARTITION) \ + -no-emul-boot \ + -isohybrid-gpt-basdat \ + -isohybrid-apm-hfsplus +else +# BOTH or GRUB2 (use GRUB2 in EFI) +ROOTFS_ISO9660_OPTS_EFI = \ + -e $(ROOTFS_ISO9660_EFI_PARTITION) \ + -no-emul-boot +endif + +# Determine which boot options to use ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER)$(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),yy) +# BIOS and EFI ROOTFS_ISO9660_OPTS += \ $(ROOTFS_ISO9660_OPTS_BIOS) \ -eltorito-alt-boot \ $(ROOTFS_ISO9660_OPTS_EFI) -else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),y) -ROOTFS_ISO9660_OPTS += $(ROOTFS_ISO9660_OPTS_BIOS) -else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),y) -ROOTFS_ISO9660_OPTS += $(ROOTFS_ISO9660_OPTS_EFI) +# Append an extra partition image, if one was provided (for hybrid images) +ifneq ($(ROOTFS_ISO9660_HYBRID_APPEND_PARTITION),) +ROOTFS_ISO9660_OPTS += \ + -append_partition 3 $(ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE) \ + $(BINARIES_DIR)/$(ROOTFS_ISO9660_HYBRID_APPEND_PARTITION) \ + -partition_cyl_align all endif +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),y) +# BIOS +ROOTFS_ISO9660_OPTS += $(ROOTFS_ISO9660_OPTS_BIOS) + +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),y) +# EFI +ROOTFS_ISO9660_OPTS += $(ROOTFS_ISO9660_OPTS_EFI) + +endif + +################################################################################ +# Hybrid Image Support (Legacy Variant, No UEFI) +################################################################################ + +ifneq ($(BR2_TARGET_ROOTFS_ISO9660_BOTH),y) +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_HYBRID),y) +define ROOTFS_ISO9660_GEN_HYBRID + $(HOST_DIR)/bin/isohybrid -t 0x96 $@ +endef +ROOTFS_ISO9660_POST_GEN_HOOKS += ROOTFS_ISO9660_GEN_HYBRID +endif +endif + +################################################################################ +# ISO9660 Image Generation +################################################################################ + define ROOTFS_ISO9660_CMD $(HOST_DIR)/bin/xorriso -as mkisofs \ $(ROOTFS_ISO9660_OPTS) \ -o $@ $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef -ifeq ($(BR2_TARGET_ROOTFS_ISO9660_HYBRID),y) -define ROOTFS_ISO9660_GEN_HYBRID - $(HOST_DIR)/bin/isohybrid -t 0x96 $@ -endef - -ROOTFS_ISO9660_POST_GEN_HOOKS += ROOTFS_ISO9660_GEN_HYBRID -endif +################################################################################ +# Register filesystem +################################################################################ $(eval $(rootfs)) diff --git a/fs/iso9660/isolinux.cfg b/fs/iso9660/isolinux.cfg index 28be4fa05a..b968d85206 100644 --- a/fs/iso9660/isolinux.cfg +++ b/fs/iso9660/isolinux.cfg @@ -1,5 +1,4 @@ default 1 label 1 - kernel __KERNEL_PATH__ - initrd __INITRD_PATH__ - append root=/dev/sr0 + kernel __KERNEL_PATH__ + append initrd=__INITRD_PATH__ root=/dev/sr0