Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 70 additions & 22 deletions kernel/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,28 @@ KERNEL_PATCHES := $(PRAWNOS_KERNEL)/patches/$(TARGET)

KERNEL_BUILD_LOG := $(PRAWNOS_BUILD_LOGS)/kernel-log-$(TARGET).txt

### UNIVERSAL VARS ###
KERNEL_TAR := $(PRAWNOS_BUILD_SOURCES)/linux-libre-$(KVER)-gnu.tar.xz
KERNEL_BLOBBY_TAR := $(PRAWNOS_BUILD_SOURCES)/blobby-linux-$(KVER)-gnu.tar.xz
KERNEL_TAR_SIGNATURE := $(KERNEL_TAR).sign
KERNEL_LINUX_LIBRE_PUB := $(KERNEL_SHARED_RESOURCES)/linux-libre-signing-key.gpg
KERNEL_LIBRE_CONFIG := $(KERNEL_RESOURCES)/libre-config
KERNEL_LIBRE_URL := https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER)-gnu/
KERNEL_LIBRE_BASENAME := linux-libre-$(KVER)-gnu.tar.xz
KERNEL_LIBRE_TAR := $(PRAWNOS_BUILD_SOURCES)/$(KERNEL_LIBRE_BASENAME)
KERNEL_LIBRE_TAR_SIGNATURE := $(PRAWNOS_BUILD_SOURCES)/$(KERNEL_LIBRE_TAR).sign
KERNEL_LIBRE_TAR_SIGNATURE_BASENAME := $(KERNEL_LIBRE_BASENAME).sign
KERNEL_LIBRE_TAR_SIGNATURE_TARGET_BASENAME := $(KERNEL_LIBRE_BASENAME)
KERNEL_LIBRE_TAR_SIGNATURE_TARGET := $(PRAWNOS_BUILD_SOURCES)/$(KERNEL_LIBRE_TAR_SIGNATURE_TARGET_BASENAME)
KERNEL_LIBRE_PUBKEY := $(KERNEL_SHARED_RESOURCES)/linux-libre-signing-key.gpg


# Default to a libre kernel. blobby_kernel target will override if needed:
BLOBBY_BUILD := 0
KERNEL_BLOBBY_CONFIG := $(KERNEL_RESOURCES)/blobby-config
KERNEL_BLOBBY_URL := https://cdn.kernel.org/pub/linux/kernel/v5.x/
KERNEL_BLOBBY_BASENAME := linux-$(KVER).tar.xz
KERNEL_BLOBBY_TAR := $(PRAWNOS_BUILD_SOURCES)/$(KERNEL_BLOBBY_BASENAME)
KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME := linux-$(KVER).tar
KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME := $(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME).sign
KERNEL_BLOBBY_TAR_SIGNATURE := $(PRAWNOS_BUILD_SOURCES)/$(KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME)
KERNEL_BLOBBY_TAR_SIGNATURE_TARGET := $(PRAWNOS_BUILD_SOURCES)/$(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME)
KERNEL_BLOBBY_PUBKEY := $(KERNEL_SHARED_RESOURCES)/blobby-linux-signing-key.gpg

ATH9K_EXTRACTED := $(PRAWNOS_ATH9K_BUILD)/.ath9k_extracted
ATH9K_TAR := $(KERNEL_SHARED_RESOURCES)/open-ath9k-htc-firmware.tar.gz
Expand Down Expand Up @@ -84,12 +101,7 @@ update_ath9k_tar:

.PHONY: blobby_kernel
blobby_kernel:
rm -rf $(PRAWNOS_KERNEL_BUILD)
mkdir -p $(PRAWNOS_BUILD_SOURCES)
wget $(WGET_OPTS) https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$(KVER).tar.xz -O $(KERNEL_BLOBBY_TAR)
tar -Jxf $(KERNEL_BLOBBY_TAR) -C $(PRAWNOS_BUILD)
touch $(KERNEL_EXTRACTED)
touch $(KERNEL_PATCHED)
$(MAKE) BLOBBY_BUILD=1 kernel


#TODO: package perf/linux-tools
Expand All @@ -99,20 +111,56 @@ perf: $(PRAWNOS_KERNEL_BUILT)

### REAL RULES

ifeq ($(BLOBBY_BUILD),0)
KERNEL_CONFIG := $(KERNEL_LIBRE_CONFIG)
KERNEL_URL := $(KERNEL_LIBRE_URL)
KERNEL_BASENAME := $(KERNEL_LIBRE_BASENAME)
KERNEL_TAR := $(KERNEL_LIBRE_TAR)
KERNEL_TAR_SIGNATURE := $(KERNEL_LIBRE_TAR_SIGNATURE_BASENAME)
KERNEL_TAR_SIGNATURE_BASENAME := $(KERNEL_LIBRE_TAR_SIGNATURE_BASENAME)
KERNEL_TAR_SIGNATURE_TARGET := $(KERNEL_LIBRE_TAR_SIGNATURE_TARGET)
KERNEL_TAR_SIGNATURE_TARGET_BASENAME := $(KERNEL_LIBRE_TAR_SIGNATURE_TARGET_BASENAME)
KERNEL_PUBKEY := $(KERNEL_LIBRE_PUBKEY)
else
KERNEL_CONFIG := $(KERNEL_BLOBBY_CONFIG)
KERNEL_URL := $(KERNEL_BLOBBY_URL)
KERNEL_BASENAME := $(KERNEL_BLOBBY_BASENAME)
KERNEL_TAR := $(KERNEL_BLOBBY_TAR)
KERNEL_TAR_SIGNATURE := $(KERNEL_BLOBBY_TAR_SIGNATURE)
KERNEL_TAR_SIGNATURE_BASENAME := $(KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME)
KERNEL_TAR_SIGNATURE_TARGET := $(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET)
KERNEL_TAR_SIGNATURE_TARGET_BASENAME := $(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME)
KERNEL_PUBKEY := $(KERNEL_BLOBBY_PUBKEY)
endif

$(KERNEL_ATH9K_FIRMWARES):
mkdir -p $(KERNEL_ATH9K_FIRMWARES)

$(KERNEL_TAR_SIGNATURE): | $(PRAWNOS_BUILD_SOURCES)
wget $(WGET_OPTS) https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER)-gnu/linux-libre-$(KVER)-gnu.tar.xz.sign -O $(KERNEL_TAR_SIGNATURE)

$(KERNEL_TAR): $(KERNEL_TAR_SIGNATURE) | $(PRAWNOS_BUILD_LOGS) $(PRAWNOS_BUILD_SOURCES)
wget $(WGET_OPTS) https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER)-gnu/linux-libre-$(KVER)-gnu.tar.xz -O $(KERNEL_TAR)
gpg --import $(KERNEL_LINUX_LIBRE_PUB)
gpg --verify $(KERNEL_TAR_SIGNATURE) $(KERNEL_TAR)

$(KERNEL_EXTRACTED): $(KERNEL_TAR)
tar -xvf $(KERNEL_TAR) -C $(PRAWNOS_BUILD)
touch $(KERNEL_EXTRACTED)
wget $(WGET_OPTS) $(KERNEL_URL)/$(KERNEL_TAR_SIGNATURE_BASENAME) -O $(KERNEL_TAR_SIGNATURE)

$(KERNEL_EXTRACTED): $(KERNEL_TAR) $(KERNEL_TAR_SIGNATURE)
gpg --import $(KERNEL_PUBKEY)
case $(BLOBBY_BUILD) in \
0) \
gpg --verify $(KERNEL_TAR_SIGNATURE) $(KERNEL_TAR_SIGNATURE_TARGET) && \
tar -xvf $(KERNEL_TAR) -C $(PRAWNOS_BUILD) && \
touch $(KERNEL_EXTRACTED) \
;; \
1) \
if [ ! -f $(KERNEL_TAR_SIGNATURE_TARGET) ]; then xz --decompress --keep $(KERNEL_TAR) ; fi ; \
gpg --verify $(KERNEL_TAR_SIGNATURE) $(KERNEL_TAR_SIGNATURE_TARGET) && \
tar -xvf $(KERNEL_TAR_SIGNATURE_TARGET) -C $(PRAWNOS_BUILD) && \
touch $(KERNEL_EXTRACTED) \
;; \
*) \
@echo "Unknown kernel type"; \
exit 1 \
;; \
esac

$(KERNEL_TAR): $(PRAWNOS_BUILD_LOGS) $(PRAWNOS_BUILD_SOURCES)
Comment thread
austin987 marked this conversation as resolved.
wget $(WGET_OPTS) $(KERNEL_URL)/$(KERNEL_BASENAME) -O $(KERNEL_TAR)

$(KERNEL_PATCHED): $(KERNEL_EXTRACTED)
@echo $(PRAWNOS_KERNEL_BUILD)
Expand All @@ -133,6 +181,6 @@ $(KERNEL_ATH9K_INSTALLED): $(KERNEL_PATCHED) $(ATH9K_BUILT) | $(KERNEL_ATH9K_FIR

$(PRAWNOS_KERNEL_BUILT): $(KERNEL_ATH9K_INSTALLED) $(PRAWNOS_INITRAMFS_IMAGE)
rm -rf $(KERNEL_BUILD_LOG)
$(PRAWNOS_KERNEL_SCRIPTS_BUILD) $(KVER) $(KERNEL_RESOURCES) $(PRAWNOS_KERNEL_BUILD) $(PRAWNOS_INITRAMFS_IMAGE) $(TARGET) 2>&1 | tee $(KERNEL_BUILD_LOG)
$(PRAWNOS_KERNEL_SCRIPTS_BUILD) $(KVER) $(KERNEL_RESOURCES) $(PRAWNOS_KERNEL_BUILD) $(PRAWNOS_INITRAMFS_IMAGE) $(TARGET) $(KERNEL_CONFIG) 2>&1 | tee $(KERNEL_BUILD_LOG)

endif
Loading