Commit Graph

71 Commits

Author SHA1 Message Date
PartialVolume
f56ff5e12a Merge pull request #403 from PartialVolume/update_networking
Fix repeating ifup when no RJ45 link
2025-12-05 19:08:39 +00:00
PartialVolume
847f761d5a Fix repeating ifup when no RJ45 link 2025-12-05 18:51:47 +00:00
desertwitch
1462b1c48f feat: add kernel support for virtualized HDDs
Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-27 08:05:01 +01:00
PartialVolume
26e1cdef75 Merge pull request #395 from Knogle/enable-af-alg-crypto
board/shredos: enable crypto options for future AF_ALG AES-CTR support
2025-11-25 01:18:04 +00:00
Fabian Druschke
e579514bfe board/shredos: enable crypto options for future AF_ALG AES-CTR support
Enable additional cryptographic kernel options required for using
AES-CTR via the AF_ALG userspace interface in future features:

- CONFIG_CRYPTO_PCRYPT: parallel crypto wrapper for symmetric ciphers
- CONFIG_CRYPTO_USER_API_SKCIPHER: AF_ALG user API for skcipher
- CONFIG_CRYPTO_AES_NI_INTEL: AES-NI accelerated AES implementation on x86_64

These options prepare the kernel for an AF_ALG-based AES-CTR PRNG and
other potential AF_ALG-backed cryptographic functionality in nwipe.
2025-11-24 16:30:52 +01:00
desertwitch
4fd5642d16 feat(iso9660): appendable partition image for hybrid modes
Allow to append a FAT16 partition image when building an ISO in hybrid mode.

This allows to add an extra writeable partition for when the ISO is burned to USB.

This feature is experimental and disabled by default.

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-21 17:59:33 +01:00
desertwitch
1635894f8e fix(configs): revert partition size and post processing for EFI
The EFI partition for hybrid ISOs does not reliably show on all Windows systems, so we cannot use our "hack" of writing the configurations/PDFs to it. Reverted instead to a sane-sized EFI partition which is used just for booting. Added a note to the README that some tools such as Rufus support an ISO-mode to add a writeable partition at burning-time.

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-21 11:17:05 +01:00
desertwitch
2291b2fdbc chore(configs): clean up configurations
Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-21 07:18:39 +01:00
desertwitch
d417261a76 chore: reorganize all files into board/shredos
It is more convenient to not have to search for configuration files in different directories, and also helpful to see the standard configuration files, so move all ShredOS configurations into board/shredos.

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-20 14:15:43 +01:00
desertwitch
15b889ddf9 chore: add warning about customization to ISO
Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-20 08:04:51 +01:00
desertwitch
2e90372692 chore: update buildscript and documentation
Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-20 07:20:58 +01:00
desertwitch
66e7c16de3 fix: embed grub finder configuration
Helps GRUB find the ShredOS volume when it otherwise cannot (such as when the IMG is used with Ventoy in BIOS)

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-19 13:29:37 +01:00
desertwitch
c3ac56cba2 feat(configs,shredos): add aio iso configuration
This adds a configuration for a jack-of-all-trades ISO, which allows BIOS and UEFI booting, being written to CD/DVD-ROM and USB drives, as well as having a writeable partition when being used from an USB drive. It basically combines the functionality of all prior release versions into one single ISO (per architecture).

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-18 18:49:35 +01:00
desertwitch
af1654ee9f fix(shredos): refactor post-process scripts
Post-processing used a static (outdated?) GRUB image for USB image generation, but it is better to use the GRUB image produced as part of the building process, which ensures that the actual compiled GRUB version is used as bootloader in our images and not an outdated one.

Post-processing previously embedded the 64-bit EFI bootloader to 32-bit builds, as no architecture checks were in place. This was changed to check for architecture and embed the correct EFI bootloader for the respective target architecture instead.

The GRUB configuration was changed to use a menu, to allow the user to choose between standard and nomodeset parameters, while also allowing the user to edit the command line to append other kernel parameters they may need for their systems.

The vanity kernel image name was returned to bzImage to clearly mark the image for what it is, and to remain consistent with the ISO file generation where we have no direct control over the image now.

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-18 07:41:51 +01:00
desertwitch
56333565cb chore(grub2): remove obsolete vanity patch
As the board is now using a GRUB menu, replacing these messages no longer makes sense (most users will never see them), so the additional patch is better removed.

Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
2025-11-18 07:41:45 +01:00
PartialVolume
d9ccdd4c6d Wait for 10 seconds of USB bus inactivity, previously 5 seconds before proceeding to execute nwipe, the 30 second timeout remains in place, resulting in the execution of nwipe irrespective of USB bus activity. 2025-10-23 22:36:38 +01:00
PartialVolume
e05541a43b Added Seagate's OpenSeaChest tools. Increased image size to 310MB leaving approximately 25MB free for PDF certificates and logs 2025-01-13 21:30:42 +00:00
PartialVolume
0b171bd816 Fixed busybox not being included, noticed during tests as telnetd wasn't available. Also added CONFIG_GEMINI_ETHERNET=y driver. 2025-01-12 22:05:06 +00:00
PartialVolume
f39f161d58 Upgrade ShredOS to buildroot v24.11 2025-01-10 19:34:56 +00:00
PartialVolume
3c9a12c5b2 Added the MPI3MR driver for Broadcom SCSI 2024-09-17 19:55:16 +01:00
PartialVolume
6cfc0c4b16 Improve naming of the dmesg.txt file to avoid overwriting 2024-09-14 22:16:26 +01:00
PartialVolume
889bcbe3fe Added Dell x86 platform specific device drivers as builtin 2024-09-13 17:05:16 +01:00
PartialVolume
96bb5cbe9a CONFIG_IKCONFIG: This option enables the complete Linux kernel .config file contents to be saved in the kernel. It provides documentation of which kernel options are used in a running kernel or in an on-disk kernel. This information can be extracted from the kernel image file with the script scripts/extract-ikconfig and used as input to rebuild the current kernel or to build another kernel. It can also be extracted from a running kernel by reading /proc/config.gz if enabled (below). 2024-09-11 21:48:40 +01:00
PartialVolume
52a07e32d3 Including CONFIG_PCI_MSI fixes a problem with some discs not showing up on HP servers. Thanks to @tlschenkjr 2024-09-11 21:16:59 +01:00
PartialVolume
c21ac29363 Add a new script that toggles the font size between single and double size. Activated by the d key in nwipe drive selection, specifically for ShredOS use 2024-08-21 21:50:16 +01:00
PartialVolume
36654250aa Add a=archive to USB option available on completion
When nwipe has completed erasing the drives and the user
hits return to exit which then creates the PDF certificates,
the PDF and log files are then either automatically transferred
to a USB stick, assuming that's where you booted ShredOS from
or the files are transferred to a network server, if the ShredOS
grub.cfg files were configured to do that.

However, say there was a network failure or somebody inadvertently
removed the USB drive, the PDF files & logs would not get saved.

Previously you would have had to manually copy the files using the
command line.

Now when you get to the stage where ShredOS asks whether you want
to reboot, shutdown or restart nwipe, if there are any PDF files
that have not been saved a new options 'a' archive to USB will
be available. This option will only show up if there are PDFs that
have not been saved. So the message will read:
r=reboot, s=shutdown, a=archive to USB, spacebar=restart nwipe

Apart from the above scenario, this feature may also prove useful
to somebody, wiping many computers while using a single USB stick.
For those that don't know, it's not necessary to keep the USB stick
plugged into the computer. Once nwipe has appeared you can pull
the USB stick out and use it to boot another computer. Returning it
to the first computer when the wipes have completed and you want to
save the PDFs to USB.

This patch also standardises the date format used in the ShredOS
logs so it matches the nwipe format.
2024-05-29 23:17:25 +01:00
PartialVolume
b5ad621ac1 Removed a couple of redundant sleep commands used during testing. Capitalised the word FAILED to highlight in logs 2024-05-26 01:27:20 +01:00
PartialVolume
878e16aee5 More improvements to error detection and logging for tftp transfers. Now also sends transfer.log to config server 2024-05-26 01:04:23 +01:00
PartialVolume
f4c1fa8775 Add additional error, Network is unreachable, when checking tftp output 2024-05-25 22:33:13 +01:00
PartialVolume
3b94392d3d Merge pull request #255 from PartialVolume/Ping_server_and_wait
Various fixes to do with tftp/ftp transfers.
Fixes #242 Pauses for upto 30 seconds before launching nwipe
if ftp/tftp transfers are being used. This is because if the
user specified shredos_config="..." on the kernel command line
in order to retrieve the nwipe.conf and nwipe_customers.csv
files from a local ftp/tftp server, the server needs to be
online before nwipe is launched. On some systems/networks the
ethernet hardware initialisation and then DHCP requests can be
slower than nwipe launching hence why we now ping the server
to makesure it's online before launching nwipe.

Lots of improvements to error detection and handling for tftp

Improvments to the "shredos_autoreboot=enable" option. When this
option is placed on the kernel command line shredos will reboot
upon completion of wipes. --nowait option is appled by the scipt
to nwipe so nwipe doesn't wait for user interaction before exiting.
If the shredos_config="..." or shredos_output="..." kernel command
line options have been added by the user, autoreboot and also
autoshutdown will wait after exiting nwipe if any ftp/tftp errors
occurred so the user can review the transfer log and decide on a
course of action if necessary.
2024-05-24 23:00:04 +01:00
PartialVolume
e28a7d6dad Various fixes to do with tftp/ftp transfers
1. Debug tftp transfers for restoring config files and outputing
pdfs and logs.

2. Added a ping status delay for the ftp/tftp that only proceeds
with launching nwipe if ftp/tftp servers have been configured on
the kernel command line. The delay has a 30 second timeout upon
which nwipe will launch. This fixes a problem where nwipe launches
before the ethernet hardware is active and a IP address had not
been obtained. This caused nwipe to not be able to read the
config files from the ftp/tftp server.

3. Removed 4 second countdown on restarting nwipe.
2024-05-21 23:52:53 +01:00
PartialVolume
b3a6142574 Merge pull request #253 from PartialVolume/Update_buildroot
Update buildroot to 2024.02.2, kernel to 6.6.2, drivers, firmware, nwipe to v0.37
2024-05-17 17:48:05 +01:00
PartialVolume
c000e2a83d Update buildroot to 2024.02.2, kernel to 6.6.2, GPU & DRM drivers, nwipe to v0.37 plus many others. 2024-05-17 17:42:31 +01:00
tlschenkjr
652ce98c2c Update nwipe_launcher fixing missing colons in transfer.log messages and changed lftp_file to incoming for consistency. 2024-05-09 09:46:46 -05:00
PartialVolume
0c3cac944f New shutdown and reboot options
When the user types Control C to exit nwipe after the wipes
have completed or to abort nwipe before wipes complete, previously
ShredOS provided only one option which was press the spacebar to
restart nwipe. The user could also have pressed the power button to
shutdown the computer.

This commit now provides the option to reboot or shutdown using the
keyboard. The following message is displayed after nwipe exits.
"Paused, press r to reboot, s to shutdown, spacebar to restart nwipe"

As before if auto shutdown has been selected via the kernel command
line then auto shutdown overrides this new message.
2024-03-06 19:16:06 +00:00
PartialVolume
ef2810ae64 Exclude FAT boot disc from erasure.
This commit allows the user to exclude the fat
formatted USB flash drive that ShredOS was booted from.

Reasons why the user might want to do this are:

a:) avoid the possibility of accidently selecting the
USB FAT formatted boot drive for erasure in interactive mode

b:) Stop the USB FAT formatted boot drive being erased in
autonuke mode.

There are two methods available to do this. You should currently
not manually add -e, --exclude=DEVICES on the kernel command line
if using either method described below as the results may be
unpredictable as nwipe doesn't currently combine two -e or --exclude
options. A patch to nwipe will fix this in due course. Further to
this, ShredOS will only exclude ONE FAT formatted USB drive. If you
plugged multiple FAT formatted drives into the system it will only
exclude the first drive it comes across that it either recognises
as a ShredOS boot drive or is explicitly excluded by using the empty
file /etc/shredos/shredos_exclude_disc. This file will take precedence
over ShredOS attempting to detect a boot drive by examining version
information.

The two methods to exclude a FAT formatted boot drive from being wiped
are described below. Even though a drive is excluded from the wipe it
will still have reports and logs transferred  to it unless some other
transfer method has been selected such as lftp.

1. The user can now place a empty file called
/etc/shredos/shredos_exclude_disc on the FAT formatted drive.
This will cause ShredOS to use the nwipe exclude option to
exclude the drive from being displayed in nwipe's interactive
mode or erased in nwipe's autonuke mode. This is particularly
userful for Ventoy users as they would not need to edit the
ShredOS .img file or build the modified ShredOS .iso as required
by method 2 below when making changes to grub.cfg.
However this method is not only limited to Ventoy users but can
also be used on a ShredOS USB created by dd or Rufus.

2. The user can place the text string shredos_exclude_boot_disc
on the kernel command line in /boot/grub/grub.cfg and /EFI/BOOT/grub.cfg
As with the first method this will cause ShredOS to exclude the FAT
formatted boot drive from appearing in nwipe's interactive mode or
being erased in nwipe's autonuke mode.

In addition to the above features various improvements were made to
the log messages include prefixing with date.
2024-03-02 21:55:31 +00:00
PartialVolume
447f1ac5d0 Merge branch 'master' of github.com:PartialVolume/shredos.x86_64
Add fat16 to existing fat32 & exfat disc formats

We now accept fat16 as well as fat32 and exfat formats for
USB devices that can have the config files restored from &
sent to as well as saving PDF files.
2024-02-22 21:26:42 +00:00
PartialVolume
2acaff5c3f Multiple loop device test mode for developers & testers.
The main purpose of this commit is to allow the developer
or tester the ability to specify /dev/loop0 .. /dev/loopn on the
kernel command line in /boot/grub/grub.cfg and /EFI/BOOT/grub.cfg
where n is unlimited, although it is recommended that no more
than 20-30 loop devices are specified. The loop devices are of a
fixed size alternating between 500Kbytes and 1 MByte in size. Due
to their small size you would typically select 500 or 1000 rounds
when testing. To create loop devices append the following to
grub.cfg nwipe_options='--nousb /dev/loop0 /dev/loop1 ... /dev/loopn'
loop devices should be sequential starting at loop0, any break in
the sequence will cause creation of loop devices to stop.

This commit also includes a ffmpeg module
+BR2_PACKAGE_FFMPEG_SWSCALE=y for creation of
videos of the display. This may be useful for creating
training material, youtube videos etc using the command
ffmpeg -f fbdev -framerate 30 -i /dev/fb0 output.mp4

Initial work was started on excluding the boot disc if
the following shredos_exclude_boot_disc is appended
to the kernel command line.
2024-02-22 19:39:08 +00:00
PartialVolume
c9346c1f16 1. Now searches through multiple drives looking for exfat/fat32 shredos boot
discs including Ventoy.
2. The delay ShredOS introduces while it waits for USB devices to initialise
   previously printed a period symbol every second to show somethink was
   happening, instead, it now counts down numerically from 30. Most USB
   devices have initialised after about 10-15 seconds.
3. Two new kernel command line options are introduced. The first allows the
   user to determine whether PDF, log and dmesg files are sent using tftp or
   ftp protocols.
   i.e shredos_config=ftp:192.168.0.2:/home/joe/ftpdata/:jo:488993d:d
4. The second kernel command line option is:
   shredos_output=ftp:192.168.0.2:/home/joe/ftpdata/:jo:488993d:d which
   determines where the nwipe config files are retrieved from on ShredOS boot
   and saved on nwipe exit.
5. Added package openssh for sftp support
6. Added package telnetd which had inadvertently been removed on the last update.
2024-01-01 22:20:20 +00:00
PartialVolume
6acdce2eac ShredOS will now save & restore configuration files, dmesg.txt and PDF certificate files to Ventoy formatted USB flash drives. Instead of saving to the first FAT32 formatted disc found, it now examines the exFAT or FAT32 partition for version information that matches the currently booted version. The location of ../board/shredos/version.txt has been moved to board/shredos/fsoverlay/etc/shredos/version.txt. This file should be manually updated by the devs when new versions are released. The README.md file was updated with this new location for version.txt 2023-11-26 19:41:24 +00:00
PartialVolume
948b05bf49 Increased ShredOS's vfat partition size to 250MB which leaves about 25MB free space. This was done so that approximately 75 PDF certificates could be stored on the ShredOS partition. 2023-11-10 15:21:39 +00:00
PartialVolume
325b54a68d Fixed nwipe.conf being restored to incorrect location 2023-11-09 23:30:58 +00:00
PartialVolume
c9788147f2 - Nwipe reads /etc/nwipe/nwipe.conf and /etc/nwipe/nwipe_customers.csv from the USB flash drive at boot. Nwipe now writes /etc/nwipe/nwipe.conf and /etc/nwipe/nwipe_customers.csv from ShredOS's ram drive back to USB flash drive on nwipe exit. This means any changes to nwipe's configuration via nwipes configuration screen or any changes manually made to the files will be saved back to the flash drive. Initial commit, further debugging of nwipe.conf restore from USB to ram drive required. 2023-11-09 23:21:08 +00:00
PartialVolume
254d38ccae Correct typo in comment 2023-11-08 22:55:09 +00:00
PartialVolume
a044cc12bb ShredOS now waits for USB devices to initialise before launching nwipe. Nwipes's PDF report is now written to the ShredOS USB flash drive. 2023-11-08 22:48:00 +00:00
PartialVolume
cd2f20c834 Merge branch 'master' of github.com:PartialVolume/shredos.x86_64 2023-11-08 19:15:21 +00:00
PartialVolume
9e8d671b7c Update to buildroot 2023.08.2, updated nwipe to v0.35, added ChromeOS and Microsoft Surface drivers, fibre channel drivers. 2023-11-08 19:10:58 +00:00
Jamie (Bear) Murphy
9eaf465fea add option to post logfile to http endpoint 2023-07-27 22:30:23 +01:00
PartialVolume
a8a8be2f23 Added missing frame buffer devices, added MESA3D drivers, added USB serial adapter support to allow output of /dev/console via USB/RS232, plus other graphics related changes. 2023-07-10 22:11:51 +01:00
PartialVolume
2ad6760d0f Upgrade buildroot to 2023.05 (from 2021.08.2), kernel is upgraded to 6.3 (from 5.13.19). 2023-07-05 19:35:21 +01:00