heads/modules/busybox
Thierry Laurion f6eed42208
Add external/usb disk encryption (adds exfatprogs and e2fsprogs)
prepare_thumb_drive: default to creating 10% LUKS container on usb drive, prompts for passphrase is not provided and scan drives if no --device specified

NOTE: qemu usb_thumb drive of 128 mb are not big enough so that 10% of it (12mb) can be used to create thumb drive.

Adds:
- e2fsprogs to support ext4 filesystem creation through mke2fs
- add /etc/mke2fs.conf so that mke2fs knows how to handle ext2/ext3/ext4
- removes mke2fs support from busybox
- bump busybox to latest version which adds cpu accelerated hash functions (not needed per se here)
- Adds exfatprogs to have mkfs.exfat and fsck.exfat
- Adds prepare_thumb_drive /etc/luks-functions to be able to prepare a thumb drive with percentage of drive assigned to LUKS, rest to exfat
- Modify most board configs to test space requirements failing
- Talos2 linux config: add staging Exfat support
- Make e2fsprogs and exfatprogs included by default unless explicitely deactivate in board configs
- Change cryptsetup calls : luksOpen to open and luksClose to close to addresss review
- etc/luks_functions: cleanup

GOAL here is to have secure thumb drive creation which Heads will be able to use to backup/restore/use generated GPG key material in the future (next PR)
2023-08-28 16:23:48 -04:00

39 lines
1.1 KiB
Makefile

# Busybox is always included, unless explicitly turned off
CONFIG_BUSYBOX ?= y
modules-$(CONFIG_BUSYBOX) += busybox
busybox_version := 1.36.1
busybox_dir := busybox-$(busybox_version)
busybox_tar := busybox-$(busybox_version).tar.bz2
busybox_url := https://busybox.net/downloads/$(busybox_tar)
busybox_hash := b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
busybox_configure := $(MAKE) CC="$(heads_cc)" oldconfig
busybox_config := config/busybox.config
busybox_output := busybox
busybox_target := \
$(CROSS_TOOLS) \
$(MAKE_JOBS) \
# Install symlinks when the busybox program is installed
ifeq "$(CONFIG_BUSYBOX)" "y"
initrd_bins += $(initrd_bin_dir)/busybox
endif
$(initrd_tmp_dir)/bin/busybox: $(build)/$(busybox_dir)/.build
$(call do,SYMLINK,bin/busybox,\
$(MAKE) \
-C $(build)/$(busybox_dir) \
CC="$(heads_cc)" \
CROSS_COMPILE="$(CROSS)" \
CONFIG_PREFIX="$(initrd_bin_dir)/.." \
install \
| tee -a $(build)/log/busybox.log \
$(VERBOSE_REDIRECT) \
)
@touch $< # ensure that our build file is still newer
busybox_depends := $(musl_dep)