mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-21 01:52:11 +00:00
Compare commits
31 Commits
update_nwi
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5c1da45a9 | ||
|
|
b7dcf284c9 | ||
|
|
95872d0744 | ||
|
|
9b9c569e66 | ||
|
|
63ad758ad5 | ||
|
|
68710cedf1 | ||
|
|
e2d8217ff8 | ||
|
|
58399ade5a | ||
|
|
fcd4a17e44 | ||
|
|
5b710a81a6 | ||
|
|
6f212156fb | ||
|
|
03ba568178 | ||
|
|
c8f737eb0a | ||
|
|
e6e4a2bab3 | ||
|
|
39d2a25c74 | ||
|
|
e1f99a053d | ||
|
|
3abe570540 | ||
|
|
ecea0be3bd | ||
|
|
3200381771 | ||
|
|
caf93d8106 | ||
|
|
2ac8113e93 | ||
|
|
54e7f83122 | ||
|
|
3cd5ee3f1e | ||
|
|
e7b2317d05 | ||
|
|
59ec5813c6 | ||
|
|
b4316be330 | ||
|
|
8aeffd36d6 | ||
|
|
e87c0f7a49 | ||
|
|
fd8eb7b898 | ||
|
|
e17537311c | ||
|
|
92d50b61fd |
23
README.md
23
README.md
@@ -226,7 +226,7 @@ Create the new ShredOS .img file
|
||||
Copy shredos_with_mods.img to the root of the Ventoy USB stick and boot the Ventoy USB stick. You can confirm your changes to the kernel commmand line by booting ShredOS, switching to a virtual terminal ALT F2, and type `more /proc/cmdline`
|
||||
|
||||
## Virtual Terminals
|
||||
ShredOS has three tty terminals, ALT-F1 (Where nwipe is initially launched), ALT-F2 (A virtual terminal), ALT-F3 (console log, login required which is root with no password). Typical use of a virtual terminal might be to run other disk related tools such as hdparm to remove hidden sectors or hexedit to display the contents of the disk as hexadecimal values.
|
||||
ShredOS has four tty terminals, ALT-F1 (Where nwipe is initially launched), ALT-F2 (A virtual terminal), ALT-F3 (console log, login required which is root with no password), ALT-F4 ([SMART Monitoring Terminal](#smartdmt)). Typical use of a virtual terminal might be to run other disk related tools such as hdparm to remove hidden sectors or hexedit to display the contents of the disk as hexadecimal values.
|
||||
|
||||
## How to exclude the FAT formatted ShredOS Boot drive from Nwipe, interactive and autonuke modes
|
||||
There are two methods that can be used to exclude the FAT formatted ShredOS boot drive from appearing in nwipe's interactive mode or autonuke modes.
|
||||
@@ -577,7 +577,13 @@ After running the setfont command.
|
||||
## Included Packages
|
||||
|
||||
#### smartmontools
|
||||
Nwipes ability to detect serial numbers on USB devices now works on USB bridges who's chipset supports that functionality. Smartmontools provides nwipe with that capability. Smartmontools can be used in the second or third virtual terminal. ALT-F2 and ALT-F3.
|
||||
Nwipes ability to detect serial numbers on USB devices now works on USB bridges who's chipset supports that functionality. Smartmontools provides nwipe with that capability. Smartmontools can be used in the second or third virtual terminal (ALT-F2 and ALT-F3).
|
||||
|
||||
#### smartdmt
|
||||
For convenience a SMART Monitoring Terminal is available in the fourth virtual terminal (ALT-F4).
|
||||
It allows to observe all SMART information on one screen and without interacting with the command-line.
|
||||
|
||||

|
||||
|
||||
#### hdparm
|
||||
hdparm has many uses and is a powerfull tool. Although Nwipe will be adding ATA secure erase capability, i.e using the hard disk own firmware to initiate an erase, nwipe currently wipes drives using the traditional method of writing to every block. If you want to initiate a ATA secure erase using the drives firmware then hdparm will be of use.
|
||||
@@ -807,18 +813,13 @@ $ dd if=shredos-20200412.img of=/dev/sdx (20200412 will be the day you compiled,
|
||||
#### The following configurations are available to build different targets:
|
||||
|
||||
- `make shredos_defconfig` - build USB image and hybrid ISO (64-bit)
|
||||
- `make shredos_i586_defconfig` - build USB image and hybrid ISO (32-bit)
|
||||
- `make shredos_img_defconfig` - build USB image only (64-bit)
|
||||
- `make shredos_img_i586_defconfig` - build USB image only (32-bit)
|
||||
- `make shredos_iso_defconfig` - build hybrid ISO only (64-bit)
|
||||
- `make shredos_iso_i586_defconfig` - build hybrid ISO only (32-bit)
|
||||
- `make shredos_iso_legacy_defconfig` - build legacy ISO only (64-bit)
|
||||
- `make shredos_iso_legacy_i586_defconfig` - build legacy ISO only (32-bit)
|
||||
- `make shredos_lite_defconfig` - build lighter USB image and hybrid ISO (64-bit)
|
||||
- `make shredos_i686_lite_defconfig` - build lighter USB image and hybrid ISO (32-bit)
|
||||
|
||||
#### The following experimental configurations are available for testing:
|
||||
|
||||
- `make shredos_iso_extra_defconfig` - build hybrid ISO with appended writeable partition (64-bit)
|
||||
- `make shredos_iso_extra_i586_defconfig` - build hybrid ISO with appended writeable partition (32-bit)
|
||||
- `make shredos_iso_extra_i686_lite_defconfig` - build lighter hybrid ISO with appended writeable partition (32-bit)
|
||||
|
||||
Do note that loading a configuration should typically be the last step before `make`.
|
||||
|
||||
@@ -833,8 +834,6 @@ Do note that loading a configuration should typically be the last step before `m
|
||||
> partition at burn-time, which then also allows customization of the GRUB
|
||||
> configuration.
|
||||
>
|
||||
>The **extra** ISOs (experimental) have an "extra" write partition appended.
|
||||
>The **legacy** ISOs work in BIOS and UEFI, but only as burned to CD/DVD-ROM.
|
||||
|
||||
#### Building multiple configurations:
|
||||
|
||||
|
||||
BIN
board/shredos/bootia32.efi
Normal file
BIN
board/shredos/bootia32.efi
Normal file
Binary file not shown.
@@ -16,6 +16,8 @@ rcS:12345:wait:/etc/init.d/rcS
|
||||
sole::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
|
||||
1:3:respawn:/sbin/getty 38400 tty1 -n -l /usr/bin/nwipe_launcher
|
||||
2:3:respawn:/sbin/getty 38400 tty2 -n -l /bin/sh
|
||||
# tty3 is reserved for the regular console
|
||||
4:3:respawn:/sbin/getty 38400 tty4 -n -l /usr/bin/smartdmt_launcher
|
||||
|
||||
# Stuff to do for the 3-finger salute
|
||||
#ca::ctrlaltdel:/sbin/reboot
|
||||
|
||||
18
board/shredos/fsoverlay/usr/bin/smartdmt_launcher
Executable file
18
board/shredos/fsoverlay/usr/bin/smartdmt_launcher
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
trap "echo" INT
|
||||
|
||||
sleep 2
|
||||
if [ -x /usr/bin/smartdmt ]; then
|
||||
while true; do
|
||||
/usr/bin/smartdmt
|
||||
echo "Press ENTER to restart SMART Device Monitoring Terminal..."
|
||||
read dummy
|
||||
clear
|
||||
done
|
||||
else
|
||||
while true; do
|
||||
echo "SMART Device Monitoring Terminal is not available in this version of ShredOS."
|
||||
read dummy
|
||||
clear
|
||||
done
|
||||
fi
|
||||
@@ -5,14 +5,17 @@ image boot.vfat {
|
||||
file boot/grub/grub.cfg { image = 'grub.cfg' }
|
||||
file boot/version.txt { image = 'version.txt' }
|
||||
file boot/shredos.id { image = '/dev/null' }
|
||||
file boot/memtest { image = 'memtest.bin' }
|
||||
file EFI/BOOT/bootia32.efi { image = 'bootia32.efi' }
|
||||
file EFI/BOOT/bootx64.efi { image = 'bootx64.efi' }
|
||||
file EFI/BOOT/grub.cfg { image = 'grub.cfg' }
|
||||
file EFI/BOOT/memtest.efi { image = 'memtest.efi' }
|
||||
file shredos.ico { image = 'shredos.ico' }
|
||||
file README.txt { image = 'README.txt' }
|
||||
file autorun.inf { image = 'autorun.inf' }
|
||||
}
|
||||
|
||||
size = 372809984
|
||||
size = 119873792
|
||||
}
|
||||
|
||||
image shredos.img {
|
||||
|
||||
@@ -5,15 +5,17 @@ image boot.vfat {
|
||||
file boot/grub/grub.cfg { image = 'grub.cfg' }
|
||||
file boot/version.txt { image = 'version.txt' }
|
||||
file boot/shredos.id { image = '/dev/null' }
|
||||
file boot/memtest { image = 'memtest.bin' }
|
||||
file EFI/BOOT/bootia32.efi { image = 'bootia32.efi' }
|
||||
file EFI/BOOT/bootx64.efi { image = 'bootx64.efi'}
|
||||
file EFI/BOOT/grub.cfg { image = 'grub.cfg' }
|
||||
file EFI/BOOT/memtest.efi { image = 'memtest.efi' }
|
||||
file shredos.ico { image = 'shredos.ico' }
|
||||
file README.txt { image = 'README.txt' }
|
||||
file autorun.inf { image = 'autorun.inf' }
|
||||
}
|
||||
|
||||
size = 92344064
|
||||
size = 115277568
|
||||
}
|
||||
|
||||
image shredos.img {
|
||||
@@ -5,6 +5,35 @@ menuentry "ShredOS" {
|
||||
linux /boot/bzImage console=tty3 loglevel=3
|
||||
}
|
||||
|
||||
menuentry "ShredOS (nomodeset)" {
|
||||
menuentry "ShredOS (nomodeset - display issues? try this)" {
|
||||
linux /boot/bzImage console=tty3 loglevel=3 nomodeset
|
||||
}
|
||||
|
||||
if [ "${grub_platform}" = "efi" ]; then
|
||||
menuentry "Memtest86+ (BIOS legacy emulation for USB keyboard)" {
|
||||
linux /EFI/BOOT/memtest.efi keyboard=legacy
|
||||
}
|
||||
menuentry "Memtest86+ (USB keyboards)" {
|
||||
linux /EFI/BOOT/memtest.efi keyboard=both
|
||||
}
|
||||
menuentry "Memtest86+ (Disable SMP and memory identification)" {
|
||||
linux /EFI/BOOT/memtest.efi nosmp nosm nobench
|
||||
}
|
||||
fi
|
||||
|
||||
if [ "${grub_platform}" = "pc" ]; then
|
||||
menuentry "Memtest86+ (Use BIOS legacy emulation for USB keyboards)" {
|
||||
linux /boot/memtest keyboard=legacy
|
||||
}
|
||||
menuentry "Memtest86+ (USB keyboards)" {
|
||||
linux /boot/memtest keyboard=both
|
||||
}
|
||||
menuentry "Memtest86+ (Disable SMP and memory identification)" {
|
||||
linux /boot/memtest nosmp nosm nobench
|
||||
}
|
||||
menuentry "Memtest86+ (Serial line RS232, ttyS0,115200)" {
|
||||
linux /boot/memtest console=ttyS0,115200
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,34 @@ menuentry "ShredOS" {
|
||||
initrd __INITRD_PATH__
|
||||
}
|
||||
|
||||
menuentry "ShredOS (nomodeset)" {
|
||||
menuentry "ShredOS (nomodeset - display issues? try this)" {
|
||||
linux __KERNEL_PATH__ console=tty3 loglevel=3 nomodeset
|
||||
initrd __INITRD_PATH__
|
||||
}
|
||||
|
||||
if [ "${grub_platform}" = "efi" ]; then
|
||||
menuentry "Memtest86+ (BIOS legacy emulation for USB keyboard)" {
|
||||
linux /EFI/BOOT/memtest.efi keyboard=legacy
|
||||
}
|
||||
menuentry "Memtest86+ (USB keyboards)" {
|
||||
linux /EFI/BOOT/memtest.efi keyboard=both
|
||||
}
|
||||
menuentry "Memtest86+ (Disable SMP and memory identification)" {
|
||||
linux /EFI/BOOT/memtest.efi nosmp nosm nobench
|
||||
}
|
||||
fi
|
||||
|
||||
if [ "${grub_platform}" = "pc" ]; then
|
||||
menuentry "Memtest86+ (BIOS legacy emulation for USB keyboard)" {
|
||||
linux /boot/memtest keyboard=legacy
|
||||
}
|
||||
menuentry "Memtest86+ (USB keyboards)" {
|
||||
linux /boot/memtest keyboard=both
|
||||
}
|
||||
menuentry "Memtest86+ (Disable SMP and memory identification)" {
|
||||
linux /boot/memtest nosmp nosm nobench
|
||||
}
|
||||
menuentry "Memtest86+ (Serial line RS232, ttyS0,115200)" {
|
||||
linux /boot/memtest console=ttyS0,115200
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -10,6 +10,21 @@ label shredos
|
||||
append initrd=__INITRD_PATH__ console=tty3 loglevel=3
|
||||
|
||||
label shredos-nomodeset
|
||||
menu label ShredOS (nomodeset)
|
||||
menu label ShredOS (nomodeset - display issues? try this)
|
||||
kernel __KERNEL_PATH__
|
||||
append initrd=__INITRD_PATH__ console=tty3 loglevel=3 nomodeset
|
||||
|
||||
label memtest86-bios-legacy-emulation-usb-keyboards
|
||||
menu label Memtest86+ (use BIOS legacy emulation for USB keyboards)
|
||||
kernel /boot/memtest
|
||||
append keyboard=legacy
|
||||
|
||||
label memtest86-usb-keyboards
|
||||
menu label Memtest86+ (USB Keyboards)
|
||||
kernel /boot/memtest
|
||||
append keyboard=both
|
||||
|
||||
label memtest86-serial
|
||||
menu label Memtest86+ (Serial line RS232, ttyS0,115200 )
|
||||
kernel /boot/memtest
|
||||
append console=ttyS0,115200
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if grep -Eq "^BR2_ARCH_IS_64=y$" "${BR2_CONFIG}"; then
|
||||
MKIMAGE_ARCH=x86_64
|
||||
MKIMAGE_EFI=bootx64.efi
|
||||
MKIMAGE_ARCH=x86-64
|
||||
MKIMAGE_CFG=genimage.cfg
|
||||
else
|
||||
MKIMAGE_ARCH=i586
|
||||
MKIMAGE_EFI=bootia32.efi
|
||||
MKIMAGE_CFG=genimage_i586.cfg
|
||||
MKIMAGE_ARCH=i686
|
||||
MKIMAGE_CFG=genimage_i686.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 "${BINARIES_DIR}/efi-part/EFI/BOOT/bootia32.efi" "${BINARIES_DIR}/bootia32.efi" || exit 1
|
||||
cp "${BINARIES_DIR}/efi-part/EFI/BOOT/bootx64.efi" "${BINARIES_DIR}/bootx64.efi" || exit 1
|
||||
|
||||
cp "board/shredos/autorun.inf" "${BINARIES_DIR}/autorun.inf" || exit 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if grep -Eq "^BR2_ARCH_IS_64=y$" "${BR2_CONFIG}"; then
|
||||
MKIMAGE_ARCH=x86_64
|
||||
MKIMAGE_ARCH=x86-64
|
||||
else
|
||||
MKIMAGE_ARCH=i386
|
||||
MKIMAGE_ARCH=i686
|
||||
fi
|
||||
|
||||
version=$(cat board/shredos/fsoverlay/etc/shredos/version.txt)
|
||||
|
||||
@@ -42,7 +42,8 @@ X32_CONFIGS=(
|
||||
# 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"
|
||||
"nwipe" # For specific version/banner patching
|
||||
"grub2" # For specific bootloader generation
|
||||
)
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -45,6 +45,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_EXFATPROGS=y
|
||||
BR2_PACKAGE_NTFS_3G=y
|
||||
BR2_PACKAGE_SMARTDMT=y
|
||||
BR2_PACKAGE_ASCII_INVADERS=y
|
||||
BR2_PACKAGE_FBDUMP=y
|
||||
BR2_PACKAGE_FBGRAB=y
|
||||
@@ -92,6 +93,7 @@ BR2_PACKAGE_KBD=y
|
||||
BR2_PACKAGE_LM_SENSORS=y
|
||||
BR2_PACKAGE_LSHW=y
|
||||
BR2_PACKAGE_LSSCSI=y
|
||||
BR2_PACKAGE_MEMTEST86=y
|
||||
BR2_PACKAGE_MINICOM=y
|
||||
BR2_PACKAGE_NVME=y
|
||||
BR2_PACKAGE_READ_EDID=y
|
||||
|
||||
@@ -24,6 +24,7 @@ BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_NTFS_3G=y
|
||||
BR2_PACKAGE_SMARTDMT=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_I915=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_XE=y
|
||||
@@ -40,6 +41,7 @@ BR2_PACKAGE_EDID_DECODE=y
|
||||
BR2_PACKAGE_HDPARM=y
|
||||
BR2_PACKAGE_KBD=y
|
||||
BR2_PACKAGE_LM_SENSORS=y
|
||||
BR2_PACKAGE_MEMTEST86=y
|
||||
BR2_PACKAGE_NVME=y
|
||||
BR2_PACKAGE_READ_EDID=y
|
||||
BR2_PACKAGE_PCIUTILS=y
|
||||
|
||||
@@ -46,6 +46,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_EXFATPROGS=y
|
||||
BR2_PACKAGE_NTFS_3G=y
|
||||
BR2_PACKAGE_SMARTDMT=y
|
||||
BR2_PACKAGE_ASCII_INVADERS=y
|
||||
BR2_PACKAGE_FBDUMP=y
|
||||
BR2_PACKAGE_FBGRAB=y
|
||||
@@ -93,6 +94,7 @@ BR2_PACKAGE_KBD=y
|
||||
BR2_PACKAGE_LM_SENSORS=y
|
||||
BR2_PACKAGE_LSHW=y
|
||||
BR2_PACKAGE_LSSCSI=y
|
||||
BR2_PACKAGE_MEMTEST86=y
|
||||
BR2_PACKAGE_MINICOM=y
|
||||
BR2_PACKAGE_NVME=y
|
||||
BR2_PACKAGE_READ_EDID=y
|
||||
|
||||
@@ -25,6 +25,7 @@ BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_NTFS_3G=y
|
||||
BR2_PACKAGE_SMARTDMT=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_I915=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_XE=y
|
||||
@@ -42,6 +43,7 @@ BR2_PACKAGE_EDID_DECODE=y
|
||||
BR2_PACKAGE_HDPARM=y
|
||||
BR2_PACKAGE_KBD=y
|
||||
BR2_PACKAGE_LM_SENSORS=y
|
||||
BR2_PACKAGE_MEMTEST86=y
|
||||
BR2_PACKAGE_NVME=y
|
||||
BR2_PACKAGE_PCIUTILS=y
|
||||
BR2_PACKAGE_READ_EDID=y
|
||||
|
||||
@@ -25,6 +25,7 @@ BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_NTFS_3G=y
|
||||
BR2_PACKAGE_SMARTDMT=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_I915=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_XE=y
|
||||
@@ -42,6 +43,7 @@ BR2_PACKAGE_EDID_DECODE=y
|
||||
BR2_PACKAGE_HDPARM=y
|
||||
BR2_PACKAGE_KBD=y
|
||||
BR2_PACKAGE_LM_SENSORS=y
|
||||
BR2_PACKAGE_MEMTEST86=y
|
||||
BR2_PACKAGE_NVME=y
|
||||
BR2_PACKAGE_READ_EDID=y
|
||||
BR2_PACKAGE_PCIUTILS=y
|
||||
|
||||
@@ -44,11 +44,9 @@ ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE = $(call qstrip,$(BR2_TARGET_ROOTFS_
|
||||
|
||||
ifeq ($(BR2_ARCH_IS_64),y)
|
||||
ROOTFS_ISO9660_EFI_NAME = bootx64.efi
|
||||
ROOTFS_ISO9660_EFI_NOTNAME = bootia32.efi
|
||||
ROOTFS_ISO9660_GRUB2_EFI_PREFIX = $(call qstrip,$(GRUB2_PREFIX_x86_64-efi))
|
||||
else
|
||||
ROOTFS_ISO9660_EFI_NAME = bootia32.efi
|
||||
ROOTFS_ISO9660_EFI_NOTNAME = bootx64.efi
|
||||
ROOTFS_ISO9660_GRUB2_EFI_PREFIX = $(call qstrip,$(GRUB2_PREFIX_i386-efi))
|
||||
endif
|
||||
|
||||
@@ -95,6 +93,17 @@ else
|
||||
ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Memtest
|
||||
################################################################################
|
||||
|
||||
define ROOTFS_ISO9660_COPY_MEMTEST_BINARIES
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/memtest.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/memtest.efi
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/memtest.bin \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/memtest
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# Reproducible build support
|
||||
################################################################################
|
||||
@@ -140,26 +149,39 @@ ROOTFS_ISO9660_EFI_PARTITION_CONTENT = $(BINARIES_DIR)/efi-part
|
||||
ROOTFS_ISO9660_GRUB2_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg
|
||||
ROOTFS_ISO9660_GRUB2_EFI_CONFIG_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/grub.cfg
|
||||
|
||||
ifeq ($(BR2_ARCH_IS_64),y)
|
||||
# Include also the 32-bit bootloader for 64-bit builds
|
||||
define ROOTFS_ISO9660_EFI_OTHER_ARCH
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(TOPDIR)/board/shredos/bootx64.efi
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootia32.efi \
|
||||
$(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi
|
||||
endef
|
||||
else
|
||||
# Include also the 64-bit bootloader for 32-bit builds
|
||||
define ROOTFS_ISO9660_EFI_OTHER_ARCH
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi \
|
||||
$(TOPDIR)/board/shredos/bootia32.efi
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
endef
|
||||
endif
|
||||
|
||||
define ROOTFS_ISO9660_INSTALL_GRUB2_EFI
|
||||
# If 32bit build also copy the bootx64.efi from board/shredos/ so 32bit shredos will boot on a 64 EFI system
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi; \
|
||||
fi
|
||||
# Install memtest binaries to ISO9660 filesystem
|
||||
$(ROOTFS_ISO9660_COPY_MEMTEST_BINARIES)
|
||||
# Include also the other achitecture bootloader
|
||||
$(ROOTFS_ISO9660_EFI_OTHER_ARCH)
|
||||
# Create file to better find ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 /dev/null \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)
|
||||
# Copy EFI bootloader also to ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME)
|
||||
# If 32 bit build we also want the 64 bit EFI installed
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME)
|
||||
fi
|
||||
# If 64bit build copy the bootx64.efi to board/shredos/ as this will be used when building 32bit build
|
||||
if [ "$(BR2_x86_64)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi $(TOPDIR)/board/shredos/bootx64.efi; \
|
||||
fi
|
||||
# Create EFI FAT partition
|
||||
$(RM) -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
||||
mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH))
|
||||
@@ -257,26 +279,39 @@ define ROOTFS_ISO9660_INSTALL_ISOLINUX_CONFIG
|
||||
$(ROOTFS_ISO9660_ISOLINUX_CONFIG_PATH)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_ARCH_IS_64),y)
|
||||
# Include also the 32-bit bootloader for 64-bit builds
|
||||
define ROOTFS_ISO9660_EFI_OTHER_ARCH
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(TOPDIR)/board/shredos/bootx64.efi
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootia32.efi \
|
||||
$(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi
|
||||
endef
|
||||
else
|
||||
# Include also the 64-bit bootloader for 32-bit builds
|
||||
define ROOTFS_ISO9660_EFI_OTHER_ARCH
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootia32.efi \
|
||||
$(TOPDIR)/board/shredos/bootia32.efi
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/bootx64.efi
|
||||
endef
|
||||
endif
|
||||
|
||||
define ROOTFS_ISO9660_INSTALL_GRUB2_EFI
|
||||
# If 32bit build also copy the bootx64.efi from board/shredos/ so 32bit shredos will boot on a 64 EFI system
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(TOPDIR)/board/shredos/bootx64.efi $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi; \
|
||||
fi
|
||||
# Install memtest binaries to ISO9660 filesystem
|
||||
$(ROOTFS_ISO9660_COPY_MEMTEST_BINARIES)
|
||||
# Include also the other achitecture bootloader
|
||||
$(ROOTFS_ISO9660_EFI_OTHER_ARCH)
|
||||
# Create file to better find ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 /dev/null \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE)
|
||||
# Copy EFI bootloader also to ISO9660 filesystem
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NAME)
|
||||
# If 32 bit build we also want the 64 bit EFI installed
|
||||
if [ "$(BR2_i386)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME) \
|
||||
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_GRUB2_EFI_PREFIX)/$(ROOTFS_ISO9660_EFI_NOTNAME)
|
||||
fi
|
||||
# If 64bit build copy the bootx64.efi to board/shredos/ as this will be used when building 32bit build
|
||||
if [ "$(BR2_x86_64)" = "y" ]; then \
|
||||
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi $(TOPDIR)/board/shredos/bootx64.efi; \
|
||||
fi
|
||||
# Create EFI FAT partition
|
||||
$(RM) -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
||||
mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH))
|
||||
|
||||
BIN
images/smartdmt.gif
Normal file
BIN
images/smartdmt.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 940 KiB |
@@ -245,6 +245,7 @@ menu "Filesystem and flash utilities"
|
||||
source "package/sp-oops-extract/Config.in"
|
||||
source "package/squashfs/Config.in"
|
||||
source "package/sshfs/Config.in"
|
||||
source "package/smartdmt/Config.in"
|
||||
source "package/sunxi-tools/Config.in"
|
||||
source "package/udftools/Config.in"
|
||||
source "package/ufs-utils/Config.in"
|
||||
|
||||
@@ -8,10 +8,9 @@ config BR2_PACKAGE_NWIPE
|
||||
help
|
||||
NWipe – secure disk wiping tool (fork of Darik's Boot and Nuke).
|
||||
|
||||
if BR2_PACKAGE_NWIPE
|
||||
|
||||
config BR2_PACKAGE_NWIPE_SITE
|
||||
string "nwipe Git repository URL"
|
||||
depends on BR2_PACKAGE_NWIPE
|
||||
default "https://github.com/martijnvanbrummelen/nwipe.git"
|
||||
help
|
||||
Git repository used to fetch the nwipe sources.
|
||||
@@ -21,11 +20,10 @@ config BR2_PACKAGE_NWIPE_SITE
|
||||
|
||||
config BR2_PACKAGE_NWIPE_GIT_REVISION
|
||||
string "Git revision (full commit SHA-1 or tag v0.25-v0.40 ..)"
|
||||
depends on BR2_PACKAGE_NWIPE
|
||||
default "v0.40"
|
||||
help
|
||||
When 'Git revision' is selected above, this string is passed as the
|
||||
Git ref to check out. Examples:
|
||||
- 051e1aa0c9572b26301a33d40689adb544927d11 (full commit SHA-1)
|
||||
- v0.40 (tag)
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -4,17 +4,29 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
NWIPE_BUILD_ARCH = $(call qstrip,$(BR2_ARCH))
|
||||
NWIPE_VERSION = $(call qstrip,$(BR2_PACKAGE_NWIPE_GIT_REVISION))
|
||||
|
||||
# Default Git repository URL (never empty).
|
||||
NWIPE_SITE = https://github.com/martijnvanbrummelen/nwipe.git
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_NWIPE_SITE)),)
|
||||
NWIPE_SITE = $(call qstrip,$(BR2_PACKAGE_NWIPE_SITE))
|
||||
endif
|
||||
|
||||
NWIPE_DEPENDENCIES = ncurses parted dmidecode coreutils libconfig
|
||||
NWIPE_SITE_METHOD = git
|
||||
|
||||
NWIPE_DEPENDENCIES = ncurses parted dmidecode coreutils libconfig
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_NWIPE_SITE)),)
|
||||
NWIPE_SITE = $(call qstrip,$(BR2_PACKAGE_NWIPE_SITE))
|
||||
else
|
||||
NWIPE_SITE = https://github.com/martijnvanbrummelen/nwipe.git
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Architecture safeguard
|
||||
################################################################################
|
||||
|
||||
define NWIPE_CHECK_ARCH
|
||||
case "$(NWIPE_BUILD_ARCH)" in \
|
||||
i686|x86_64) ;; \
|
||||
*) echo "Unsupported architecture: $(NWIPE_BUILD_ARCH)"; exit 1 ;; \
|
||||
esac
|
||||
endef
|
||||
|
||||
NWIPE_PRE_CONFIGURE_HOOKS += NWIPE_CHECK_ARCH
|
||||
|
||||
################################################################################
|
||||
# SHREDOS version.txt and banner updater. Updates the nwipe version which
|
||||
@@ -25,44 +37,32 @@ NWIPE_DEPENDENCIES = ncurses parted dmidecode coreutils libconfig
|
||||
|
||||
SHREDOS_VERSION_FILE = board/shredos/fsoverlay/etc/shredos/version.txt
|
||||
|
||||
ifeq ($(BR2_PACKAGE_NWIPE),y)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_NWIPE_VERSION_GIT_REVISION),y)
|
||||
# Take first 7 characters of the git revision and append suffix
|
||||
NWIPE_VERSION_BANNER := $(shell printf "%.7s-commit-dev" "$(BR2_PACKAGE_NWIPE_GIT_REVISION)")
|
||||
# If version contains a dot, treat it as a release tag
|
||||
ifneq ($(findstring .,$(NWIPE_VERSION)),)
|
||||
NWIPE_VERSION_BANNER = $(NWIPE_VERSION)
|
||||
else
|
||||
NWIPE_VERSION_BANNER := $(NWIPE_VERSION)
|
||||
# Otherwise assume it is a development version by hash
|
||||
NWIPE_VERSION_BANNER = $(shell printf "%.7s-commit-dev" "$(NWIPE_VERSION)")
|
||||
endif
|
||||
|
||||
endif
|
||||
# Normalize x86_64 to x86-64 for version
|
||||
NWIPE_VERSION_ARCH = $(if $(filter x86_64,$(NWIPE_BUILD_ARCH)),x86-64,$(NWIPE_BUILD_ARCH))
|
||||
|
||||
define NWIPE_UPDATE_VERSION_TXT
|
||||
@if [ -n "$(NWIPE_VERSION_BANNER)" ]; then \
|
||||
echo "Updating version.txt and nwipe banner with Nwipe version: $(NWIPE_VERSION_BANNER)"; \
|
||||
sed -i 's/\(.*_\)[^_]*$$/\1$(NWIPE_VERSION_BANNER)/' $(SHREDOS_VERSION_FILE); \
|
||||
fi
|
||||
echo "Updating version.txt: arch=$(NWIPE_VERSION_ARCH) banner=$(NWIPE_VERSION_BANNER)"
|
||||
sed -i "s/\(.*_\)\(x86-64\|i686\)_.*$$/\1$(NWIPE_VERSION_ARCH)_$(NWIPE_VERSION_BANNER)/" \
|
||||
$(SHREDOS_VERSION_FILE)
|
||||
grep -q "$(NWIPE_VERSION_ARCH)_$(NWIPE_VERSION_BANNER)" $(SHREDOS_VERSION_FILE) || \
|
||||
{ echo "ERROR: Failed to update version.txt - unexpected format in file?"; exit 1; }
|
||||
endef
|
||||
|
||||
NWIPE_PRE_CONFIGURE_HOOKS += NWIPE_UPDATE_VERSION_TXT
|
||||
|
||||
######
|
||||
|
||||
################################################################################
|
||||
# Version architecture nwipe banner updater (pre-build)
|
||||
################################################################################
|
||||
|
||||
define NWIPE_INITSH
|
||||
@echo "Updating version.txt and nwipe banner with architecture: $(BR2_ARCH)"
|
||||
|
||||
@if [ "$(BR2_ARCH)" = "i686" ]; then \
|
||||
sed -i 's/\(^.*_\)\(x86-64\|i686\)\(_.*\)/\1i686\3/' $(SHREDOS_VERSION_FILE); \
|
||||
elif [ "$(BR2_ARCH)" = "x86_64" ]; then \
|
||||
sed -i 's/\(^.*_\)\(x86-64\|i686\)\(_.*\)/\1x86-64\3/' $(SHREDOS_VERSION_FILE); \
|
||||
else \
|
||||
echo "Unsupported architecture: $(BR2_ARCH)"; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
define NWIPE_INIT_BUILD
|
||||
(cd $(@D) && \
|
||||
cp ../../../package/nwipe/002-nwipe-banner-patch.sh . && \
|
||||
./002-nwipe-banner-patch.sh && \
|
||||
@@ -72,7 +72,7 @@ endef
|
||||
# Pre-configure hook, as a post-patch hook would not get triggered on a package
|
||||
# reconfigure, and possibly also taint the sources directory with the generated
|
||||
# autogen files (which should not be there).
|
||||
NWIPE_PRE_CONFIGURE_HOOKS += NWIPE_INITSH
|
||||
NWIPE_PRE_CONFIGURE_HOOKS += NWIPE_INIT_BUILD
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
|
||||
18
package/smartdmt/Config.in
Normal file
18
package/smartdmt/Config.in
Normal file
@@ -0,0 +1,18 @@
|
||||
config BR2_PACKAGE_SMARTDMT
|
||||
bool "smartdmt"
|
||||
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_HOST_GO
|
||||
help
|
||||
SMART Device Monitoring Terminal
|
||||
|
||||
https://github.com/desertwitch/smartdmt
|
||||
|
||||
config BR2_PACKAGE_SMARTDMT_GIT_REVISION
|
||||
string "Git revision (full commit SHA-1 or tag v0.25-v0.40 ..)"
|
||||
depends on BR2_PACKAGE_SMARTDMT
|
||||
default "v0.1.5"
|
||||
help
|
||||
When 'Git revision' is selected above, this string is passed as the
|
||||
Git ref to check out. Examples:
|
||||
- 051e1aa0c9572b26301a33d40689adb544927d11 (full commit SHA-1)
|
||||
- v0.40 (tag)
|
||||
23
package/smartdmt/smartdmt.mk
Normal file
23
package/smartdmt/smartdmt.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
################################################################################
|
||||
#
|
||||
# smartdmt
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SMARTDMT_VERSION = $(call qstrip,$(BR2_PACKAGE_SMARTDMT_GIT_REVISION))
|
||||
|
||||
SMARTDMT_SITE = https://github.com/desertwitch/smartdmt.git
|
||||
SMARTDMT_SITE_METHOD = git
|
||||
|
||||
SMARTDMT_LICENSE = MIT
|
||||
SMARTDMT_LICENSE_FILES = LICENSE
|
||||
|
||||
SMARTDMT_GOMOD = github.com/desertwitch/smartdmt
|
||||
SMARTDMT_GO_ENV = CGO_ENABLED=0
|
||||
|
||||
SMARTDMT_LDFLAGS = \
|
||||
-X main.Version=$(shell echo $(SMARTDMT_VERSION) | sed 's/^v//' | cut -c1-7)
|
||||
|
||||
SMARTDMT_BUILD_TARGETS = ./cmd/smartdmt
|
||||
|
||||
$(eval $(golang-package))
|
||||
Reference in New Issue
Block a user