github PartialVolume/shredos.x86_64 v2025.11_28_x86-64_0.40

5 hours ago

v2025.11_28_x86-64_0.40

Buildroot Version Kernel Version Shredos Minor version Architecture Nwipe Version
2025.11 6.18.0 28 x86-64 0.40

Other software versions used within ShredOS for disc related operations

hexedit hdparm Smartctl Sg3_Utils nvme-cli openSeaChest
1.6 9.65 7.5 1.48 2.15 25.05.3

ShredOS Lite vs. Full: System RAM Requirements

ShredOS now offers Lite versions for both x86-64 (64-bit) and i686 (32-bit) architectures, specifically designed for low-resource hardware.

Memory Requirements:

  • Lite Versions: Boot successfully with just 512MB of RAM.
  • Standard Versions: Requires a minimum of 2GB of RAM to run properly.

Functionality:

Both versions provide the same core disk-wiping capabilities. They share nearly identical driver sets to ensure maximum hardware compatibility across diverse systems.

Key Differences:

The primary difference lies in the graphics firmware. The Lite version omits certain heavy firmware files to save space—most notably AMDGPU, which alone requires over 100MB of memory and typically targets systems manufactured after 2010. Radeon and Intel graphics firmware are still included in both versions to maintain broad display support.

Lite versions target hardware from before 2010. Since the removed drivers only affect graphics cards made after that year, most users will not encounter issues. However, if you are using a post-2010 system with an AMD GPU, you can still run the Lite version by selecting nomodeset from the GRUB menu when booting.

Notable changes in this release - ShredOS

  • Updated ShredOS to Buildroot 2025.11, kernel 6.18.0 Thanks @PartialVolume #416

  • ShredOS now includes multiple defconfig files, allowing users to build .iso and .img files for both i686 (32-bit) and x86-64 (64-bit) architectures from source. A new configuration option also enables building .iso files with an integrated 50MB data partition for writing to USB flash drives. To ensure maximum hardware compatibility, the bootloader now incorporates Isolinux and improvements to EFI booting in general for improved boot reliability across diverse systems. To make it easier to build all versions or even just a particular architecture, ShredOS also includes a script the user can run called build_all_shredos.sh

    • make shredos_defconig

      • X86-64 architecture
      • Builds both USB image (BIOS+UEFI, USB) and hybrid ISO (BIOS+UEFI, USB+CD/DVD).
      • Requirements: Minimum 2GB RAM.
      • Target: Full complement of drivers & firmware for all x86-64 systems subject to minimum RAM requirements of 2GB
    • make shredos_lite_defconfig

      • X86-64 architecture
      • Builds both USB image (BIOS+UEFI, USB) and hybrid ISO (BIOS+UEFI, USB+CD/DVD).
      • Requirements: Minimum 512MB RAM
      • Target: low resource 64 bit x86-64 systems, with less than 2GB RAM but will run on most modern 64 bit hardware as is or with nomodeset boot selection.
    • make shredos_i686_lite_defconfig

      • i686 (32 bit) architecture
      • Builds both USB image (BIOS+UEFI, USB) and hybrid ISO (BIOS+UEFI, USB+CD/DVD).
      • Requirements: Minimum 512MB RAM.
      • Target: low resource 32 bit x86 systems with less than 2GB RAM but will run on most modern 64 bit hardware as is or with nomodeset boot selection.
    • make shredos_iso_extra_defconfig

      • X86-64 architecture
      • Builds the experimental hybrid ISO (BIOS+UEFI, USB+CD/DVD) with an appended writable partition, which aims to combine the functionality of all the other existing formats into one single ISO file.
      • Requirements: Minimum 2GB RAM.
      • Target: Full complement of drivers & firmware for all x86-64 systems subject to minimum RAM requirements of 2GB
    • make shredos_iso_extra_i686_lite_defconfig

      • i686 (32 bit) architecture
      • Builds the experimental hybrid ISO (BIOS+UEFI, USB+CD/DVD) with an appended writable partition, which aims to combine the functionality of all the other existing formats into one single ISO file.
      • Requirements: Minimum 512MB RAM.
      • Target: low resource 32 bit x86 systems with less than 2GB RAM but will run on most modern 64 bit hardware as is or with nomodeset boot selection.

Thanks to @desertwitch for the hard work & time that has been put into this. #393

  • USB Inactivity Delay: Increased from 5 to 10 seconds to improve USB device detection reliability. Boot Timeout: Remains unchanged at 30 seconds, ensuring the system starts even if the USB bus remains active. Thanks @PartialVolume

  • Enable additional cryptographic kernel options required for using AES-CTR via the AF_ALG userspace interface in future features. Thanks @Knogle #395

  • Add kernel support for virtualized HDDs, CONFIG_VIRTIO .. etc Thanks @desertwitch #396

  • Fix a repeating ifup and DHCP being executed when no network connection which could cause the system to crash with an out of memory error on some ethernet hardware. Thanks @PartialVolume #403

  • Add kernel command line flags, nonet and shredos_nonet to disable network Thanks @Knogle & @PartialVolume #404

  • Honour pdf path in nwipe command line options -P path and --PDFreportpath=path. Thanks @PartialVolume #408

  • Increase lftp retries from 1 to 100 Thanks @PartialVolume #409 #397

  • Added AMD and Intel IOMMU, Virtio drivers. Thanks @PartialVolume #412

  • Upgraded Seagate's openSeaChest tools to 25.05.3 Thanks @PartialVolume #418

  • Add video and video_fb modules to grub legacy and EFI Thanks @PartialVolume #421

  • Modify various defconfigs Thanks @PartialVolume #426 #427 #428 #429 #430 #431 #432 #436 #439 #442 #443 #444 #445 #446 #447 #448 #450

  • Dynamically calculate vfat size based on bzImage size plus 20MB Thanks @PartialVolume #433

  • Automatically update banner with correct architecture during nwipe build Thanks @PartialVolume #434

  • Auto update nwipe banner and version.txt with version tag or commit SHA Thanks @PartialVolume #435

  • Fix issues #342 and #385 by adding RW support for NTFS (Microsoft basic data) Thanks @PartialVolume #437 #438

  • Add ssh logins as alternative to telnet. Thanks @PartialVolume see #440 for notes on how to enable this.

  • Update build_all_shredos.sh due to change in defconfig names and number of defconfigs Thanks @PartialVolume #441

  • Add creation of sha1 checksum files for .iso and .img files and add additional info to image filenames Thanks @PartialVolume #451

  • Add a new x86-64 lite defconfig for 64bit systems with min. 512MB RAM. Thanks @PartialVolume #452

  • Make ISO9660 volume name upper case for maximum compatibility. Thanks @PartialVolume #453

Notable changes in this release - Nwipe

New Features and improved performance in V0.40

  • Upon initialization, nwipe identifies and sets the most efficient Pseudo-Random Number Generator (PRNG) as the default, based on a real-time hardware performance test. Thanks to @Knogle #698 #699 #700 #706
  • AES-256-CTR PRNG that utilizes native AES-NI instructions to significantly boost data-wiping throughput on compatible CPUs. Thanks @Knogle #695 #660 #659
  • Implemented a new wipe method, the BMB21-2019 Chinese State Secrets Bureau standard Technical Requirement for Data Sanitization. Thanks @xicaixiaokeke #668
  • Implemented Direct I/O with large buffers as the default wipe method, reducing write instructions and boosting throughput. This change cut wipe completion times by 5–10% in tests and significantly lowered CPU load—especially on high-density servers wiping 10+ drives simultaneously. Kernel cached I/O remains available via command-line switches. Thanks @Knogle #683
  • Added support for host UUID, serial number, and custom tags in PDF report headers. These options can be configured and toggled in the nwipe config menu ('c'), accessible from the nwipe drive selection screen and are saved to nwipe's config file, /etc/nwipe/nwipe.conf for persistent configuration between restarts." Thanks @PartialVolume #709
  • Added a new GUI “device topology” view, opened with the 't' key from the device selection screen. Useful if you want to check which device controller, which HBA, etc. your drive is attached. This improves safety and usability on systems with multiple controllers by clearly showing the physical attachment path of each drive without changing wipe behaviour. Thanks @Knogle #697
  • Enhanced the --exclude option to match devices by their underlying block device ID (major/minor), allowing persistent identifiers in /dev/disk/by-id/ and /dev/disk/by-path/ to be used safely. Legacy string-based matching is preserved. Thanks @Knogle #686
  • The internal PRNGs are now seeded via getrandom(2) rather than through a long-lived file descriptor to /dev/urandom, to improve reliability. Thanks @Knogle #680

Resolved issues

  • fixed: To resolve issues with partition wipes, as opposed to whole disc wipes, nwipe now includes the device name in the PDF report filename. Previously, when wiping specific partitions (e.g., sudo nwipe /dev/sdc3 /dev/sd4 /dev/sd5) via the CLI, the absence of a disk model or serial number caused PDF filenames to conflict and overwrite each other. This update ensures unique filenames and prevents data loss when processing multiple partitions. Thanks @PartialVolume #676
  • Add static linking libraries that are required by parted 3.6 @deamen #655
  • fixed: some declaration changes to satisfy gcc 15 Thanks @Knogle & @xandris #663 #658
  • Optimised that header code that generates the PDF reports. Thanks @PartialVolume #678
  • fixed: respect no-blanking methods in --nogui mode. This fixes an issue where a default blanking pass was added to methods which do not support it when in --nogui mode. Existing GUI code overriding the option is never called in --nogui mode, Thanks @desertwitch #682
  • fixed: sanitize device serial numbers and fix uninitialized/fallback handling. Thanks @Knogle #690
  • fixed: Automatically create PDF report directory if missing and improve permission model Thanks @Knogle #693
  • optimise: Validate autonuke and nogui for valid values and harden logic by not using assumptions in if statements for binary values and switching to case statements for value specific checks. Thanks @PartialVolume #701
  • fixed: Improve str_truncate to fix memory error detected in valgrind #702
  • fixed: Require strict input of long form options, i.e no abbreviations allowed!. Command line option syntax as specifically described in nwipe --help and nwipe man page are only allowed. Corrects a 'feature' in GNU getopt_long(). Thanks @PartialVolume #705

Don't miss a new shredos.x86_64 release

NewReleases is sending notifications on new releases.