Temporary build solution

This commit is contained in:
= 2024-08-29 20:02:24 +02:00
parent f0e48edb8d
commit d84ebfaebc
100 changed files with 122 additions and 14 deletions

53
dm-sflc/.Kbuild Normal file
View file

@ -0,0 +1,53 @@
#
# Copyright The Shufflecake Project Authors (2022)
# Copyright The Shufflecake Project Contributors (2022)
# Copyright Contributors to the The Shufflecake Project.
#
# See the AUTHORS file at the top-level directory of this distribution and at
# <https://www.shufflecake.net/permalinks/shufflecake-userland/AUTHORS>
#
# This file is part of the program shufflecake-c, which is part of the
# Shufflecake Project. Shufflecake is a plausible deniability (hidden storage)
# layer for Linux. See <https://www.shufflecake.net>.
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 2 of the License, or (at your option)
# any later version. This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program.
# If not, see <https://www.gnu.org/licenses/>.
#
MODULE_NAME := dm_sflc
obj-m := $(MODULE_NAME).o
OBJ_LIST := sflc.o dev_vol.o sysfs.o
OBJ_LIST += old/sflc_old.o old/target.o old/sysfs.o
OBJ_LIST += old/device/device.o old/device/volumes.o old/device/rawio.o old/device/rmap.o old/device/iv.o
OBJ_LIST += old/volume/volume.o old/volume/io.o old/volume/read.o old/volume/write.o old/volume/fmap.o
OBJ_LIST += old/utils/string.o old/utils/bio.o old/utils/pools.o old/utils/workqueues.o old/utils/vector.o
OBJ_LIST += old/crypto/rand/rand.o
OBJ_LIST += old/crypto/symkey/symkey.o old/crypto/symkey/skreq_pool.o
OBJ_LIST += lite/sflc_lite.o lite/sysfs.o
OBJ_LIST += lite/device.o lite/volume.o
OBJ_LIST += lite/posmap.o lite/read.o lite/write.o lite/crypto.o
$(MODULE_NAME)-y += $(OBJ_LIST)
# Normal CC flags
ccflags-y := -O2
ccflags-y += -I$(src)
ccflags-y += -Wall -Wno-declaration-after-statement
# Debug CC flags
ccflags-$(CONFIG_SFLC_DEBUG) += -DDEBUG
ccflags-$(CONFIG_SFLC_DEBUG) += -Og -g
ccflags-$(CONFIG_SFLC_DEBUG) += -fsanitize=kernel-address -fno-omit-frame-pointer

6
dm-sflc/.gitignore vendored
View file

@ -1,4 +1,8 @@
.project
.cproject
.settings/
bin/
!bin/
*.o
*.symvers
*.ko

View file

@ -22,25 +22,27 @@
#
KERNEL_DIR = /lib/modules/$(shell uname -r)/build
SRC_DIR = $(shell pwd)
BUILD_DIR = $(shell pwd)/bin
BUILD_DIR_MAKEFILE = $(BUILD_DIR)/Makefile
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
default: $(BUILD_DIR_MAKEFILE)
make -C $(KERNEL_DIR) M=$(BUILD_DIR) src=$(SRC_DIR) CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) modules
$(BUILD_DIR_MAKEFILE): $(BUILD_DIR)
echo "# This Makefile is here because of Kbuild" > $@
$(BUILD_DIR):
mkdir -p $@
default:
make -C $(KERNEL_DIR) M=$(ROOT_DIR)/bin CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) modules
debug: CONFIG_SFLC_DEBUG=y
debug: default
install:
make -C $(KERNEL_DIR) M=$(BUILD_DIR) src=$(SRC_DIR) modules_install
make -C $(KERNEL_DIR) M=$(BUILD_DIR) CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) modules_install
clean:
rm -rf $(BUILD_DIR)
make -C $(KERNEL_DIR) M=$(BUILD_DIR) CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) clean
# Reserved
ORIGINALS = $(shell find src/ -type f)
SYMLINKS = $(patsubst src/%, bin/%, $(ORIGINALS))
symlinks: $(SYMLINKS)
bin/%: src/%
@mkdir -p "$(@D)"
ln -s $(shell realpath -m --relative-to=$(@D) $<) $@

View file

@ -50,3 +50,4 @@ ccflags-y += -Wall -Wno-declaration-after-statement
ccflags-$(CONFIG_SFLC_DEBUG) += -DDEBUG
ccflags-$(CONFIG_SFLC_DEBUG) += -Og -g
ccflags-$(CONFIG_SFLC_DEBUG) += -fsanitize=kernel-address -fno-omit-frame-pointer

1
dm-sflc/bin/dev_vol.c Symbolic link
View file

@ -0,0 +1 @@
../src/dev_vol.c

1
dm-sflc/bin/lite/crypto.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/crypto.c

1
dm-sflc/bin/lite/device.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/device.c

1
dm-sflc/bin/lite/posmap.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/posmap.c

1
dm-sflc/bin/lite/read.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/read.c

View file

@ -0,0 +1 @@
../../src/lite/sflc_lite.c

View file

@ -0,0 +1 @@
../../src/lite/sflc_lite.h

View file

@ -0,0 +1 @@
../../src/lite/sflite_constants.h

1
dm-sflc/bin/lite/sysfs.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/sysfs.c

1
dm-sflc/bin/lite/volume.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/volume.c

1
dm-sflc/bin/lite/write.c Symbolic link
View file

@ -0,0 +1 @@
../../src/lite/write.c

View file

@ -0,0 +1 @@
../../../../src/old/crypto/rand/rand.c

View file

@ -0,0 +1 @@
../../../../src/old/crypto/rand/rand.h

View file

@ -0,0 +1 @@
../../../../src/old/crypto/symkey/skreq_pool.c

View file

@ -0,0 +1 @@
../../../../src/old/crypto/symkey/skreq_pool.h

View file

@ -0,0 +1 @@
../../../../src/old/crypto/symkey/symkey.c

View file

@ -0,0 +1 @@
../../../../src/old/crypto/symkey/symkey.h

View file

@ -0,0 +1 @@
../../../src/old/device/device.c

View file

@ -0,0 +1 @@
../../../src/old/device/device.h

1
dm-sflc/bin/old/device/iv.c Symbolic link
View file

@ -0,0 +1 @@
../../../src/old/device/iv.c

View file

@ -0,0 +1 @@
../../../src/old/device/rawio.c

View file

@ -0,0 +1 @@
../../../src/old/device/rmap.c

View file

@ -0,0 +1 @@
../../../src/old/device/volumes.c

1
dm-sflc/bin/old/log/log.h Symbolic link
View file

@ -0,0 +1 @@
../../../src/old/log/log.h

1
dm-sflc/bin/old/sflc_old.c Symbolic link
View file

@ -0,0 +1 @@
../../src/old/sflc_old.c

1
dm-sflc/bin/old/sflc_old.h Symbolic link
View file

@ -0,0 +1 @@
../../src/old/sflc_old.h

1
dm-sflc/bin/old/sysfs.c Symbolic link
View file

@ -0,0 +1 @@
../../src/old/sysfs.c

1
dm-sflc/bin/old/target.c Symbolic link
View file

@ -0,0 +1 @@
../../src/old/target.c

1
dm-sflc/bin/old/utils/bio.c Symbolic link
View file

@ -0,0 +1 @@
../../../src/old/utils/bio.c

1
dm-sflc/bin/old/utils/bio.h Symbolic link
View file

@ -0,0 +1 @@
../../../src/old/utils/bio.h

View file

@ -0,0 +1 @@
../../../src/old/utils/pools.c

View file

@ -0,0 +1 @@
../../../src/old/utils/pools.h

View file

@ -0,0 +1 @@
../../../src/old/utils/string.c

View file

@ -0,0 +1 @@
../../../src/old/utils/string.h

View file

@ -0,0 +1 @@
../../../src/old/utils/vector.c

View file

@ -0,0 +1 @@
../../../src/old/utils/vector.h

View file

@ -0,0 +1 @@
../../../src/old/utils/workqueues.c

View file

@ -0,0 +1 @@
../../../src/old/utils/workqueues.h

View file

@ -0,0 +1 @@
../../../src/old/volume/fmap.c

1
dm-sflc/bin/old/volume/io.c Symbolic link
View file

@ -0,0 +1 @@
../../../src/old/volume/io.c

View file

@ -0,0 +1 @@
../../../src/old/volume/read.c

View file

@ -0,0 +1 @@
../../../src/old/volume/volume.c

View file

@ -0,0 +1 @@
../../../src/old/volume/volume.h

View file

@ -0,0 +1 @@
../../../src/old/volume/write.c

1
dm-sflc/bin/sflc.c Symbolic link
View file

@ -0,0 +1 @@
../src/sflc.c

1
dm-sflc/bin/sflc.h Symbolic link
View file

@ -0,0 +1 @@
../src/sflc.h

View file

@ -0,0 +1 @@
../src/sflc_constants.h

1
dm-sflc/bin/sysfs.c Symbolic link
View file

@ -0,0 +1 @@
../src/sysfs.c