Skip to content

Commit

Permalink
kernel/makefile: improved blobby kernel support
Browse files Browse the repository at this point in the history
  • Loading branch information
austin987 committed Dec 9, 2020
1 parent e4e8264 commit e8d6374
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 15 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
build
kernel/resources/*/config
PrawnOS-initramfs.cpio.gz
PrawnOS-Shiba-*
.*.swp
Expand Down
60 changes: 45 additions & 15 deletions kernel/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,23 @@ 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 := $(KERNEL_LIBRE_TAR).sign
KERNEL_LIBRE_TAR_SIGNATURE_BASENAME := $(KERNEL_LIBRE_BASENAME).sign
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 := $(KERNEL_BLOBBY_TAR).sign
KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME := $(KERNEL_BLOBBY_BASENAME).sign
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,25 +96,40 @@ 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

### 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)
KERNEL_TAR_SIGNATURE_BASENAME := $(KERNEL_LIBRE_TAR_SIGNATURE_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_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)
#wget $(WGET_OPTS) $(KERNEL_URL)/$(KERNEL_TAR_SIGNATURE_BASENAME) -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)
wget $(WGET_OPTS) $(KERNEL_URL)/$(KERNEL_BASENAME) -O $(KERNEL_TAR)
gpg --import $(KERNEL_PUBKEY)
# FIXME: need case here, since libre sig is for .tar.xz, blobby is for .tar
#gpg --verify $(KERNEL_TAR_SIGNATURE) $(KERNEL_TAR)

$(KERNEL_EXTRACTED): $(KERNEL_TAR)
tar -xvf $(KERNEL_TAR) -C $(PRAWNOS_BUILD)
Expand All @@ -127,6 +154,9 @@ $(KERNEL_ATH9K_INSTALLED): $(KERNEL_PATCHED) $(ATH9K_BUILT) | $(KERNEL_ATH9K_FIR

$(PRAWNOS_KERNEL_BUILT): $(KERNEL_ATH9K_INSTALLED) $(PRAWNOS_INITRAMFS_IMAGE)
rm -rf $(KERNEL_BUILD_LOG)
# FIXME: scripts/BuildScripts/KernelScripts//buildKernel.sh will copy this to .config
# should we do that here and remove that from buildKernel.sh?
ln -sf $(KERNEL_CONFIG) $(KERNEL_RESOURCES)/config
$(PRAWNOS_KERNEL_SCRIPTS_BUILD) $(KVER) $(KERNEL_RESOURCES) $(PRAWNOS_KERNEL_BUILD) $(PRAWNOS_INITRAMFS_IMAGE) $(TARGET) 2>&1 | tee $(KERNEL_BUILD_LOG)

endif
File renamed without changes.
File renamed without changes.

0 comments on commit e8d6374

Please sign in to comment.