@@ -16,11 +16,28 @@ KERNEL_PATCHES := $(PRAWNOS_KERNEL)/patches/$(TARGET)
16
16
17
17
KERNEL_BUILD_LOG := $(PRAWNOS_BUILD_LOGS ) /kernel-log-$(TARGET ) .txt
18
18
19
- # ## UNIVERSAL VARS ###
20
- KERNEL_TAR := $(PRAWNOS_BUILD_SOURCES ) /linux-libre-$(KVER ) -gnu.tar.xz
21
- KERNEL_BLOBBY_TAR := $(PRAWNOS_BUILD_SOURCES ) /blobby-linux-$(KVER ) -gnu.tar.xz
22
- KERNEL_TAR_SIGNATURE := $(KERNEL_TAR ) .sign
23
- KERNEL_LINUX_LIBRE_PUB := $(KERNEL_SHARED_RESOURCES ) /linux-libre-signing-key.gpg
19
+ KERNEL_LIBRE_CONFIG := $(KERNEL_RESOURCES ) /libre-config
20
+ KERNEL_LIBRE_URL := https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER ) -gnu/
21
+ KERNEL_LIBRE_BASENAME := linux-libre-$(KVER ) -gnu.tar.xz
22
+ KERNEL_LIBRE_TAR := $(PRAWNOS_BUILD_SOURCES ) /$(KERNEL_LIBRE_BASENAME )
23
+ KERNEL_LIBRE_TAR_SIGNATURE := $(PRAWNOS_BUILD_SOURCES ) /$(KERNEL_LIBRE_TAR ) .sign
24
+ KERNEL_LIBRE_TAR_SIGNATURE_BASENAME := $(KERNEL_LIBRE_BASENAME ) .sign
25
+ KERNEL_LIBRE_TAR_SIGNATURE_TARGET_BASENAME := $(KERNEL_LIBRE_BASENAME )
26
+ KERNEL_LIBRE_TAR_SIGNATURE_TARGET := $(PRAWNOS_BUILD_SOURCES ) /$(KERNEL_LIBRE_TAR_SIGNATURE_TARGET_BASENAME )
27
+ KERNEL_LIBRE_PUBKEY := $(KERNEL_SHARED_RESOURCES ) /linux-libre-signing-key.gpg
28
+
29
+
30
+ # Default to a libre kernel. blobby_kernel target will override if needed:
31
+ BLOBBY_BUILD := 0
32
+ KERNEL_BLOBBY_CONFIG := $(KERNEL_RESOURCES ) /blobby-config
33
+ KERNEL_BLOBBY_URL := https://cdn.kernel.org/pub/linux/kernel/v5.x/
34
+ KERNEL_BLOBBY_BASENAME := linux-$(KVER ) .tar.xz
35
+ KERNEL_BLOBBY_TAR := $(PRAWNOS_BUILD_SOURCES ) /$(KERNEL_BLOBBY_BASENAME )
36
+ KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME := linux-$(KVER ) .tar
37
+ KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME := $(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME ) .sign
38
+ KERNEL_BLOBBY_TAR_SIGNATURE := $(PRAWNOS_BUILD_SOURCES ) /$(KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME )
39
+ KERNEL_BLOBBY_TAR_SIGNATURE_TARGET := $(PRAWNOS_BUILD_SOURCES ) /$(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME )
40
+ KERNEL_BLOBBY_PUBKEY := $(KERNEL_SHARED_RESOURCES ) /blobby-linux-signing-key.gpg
24
41
25
42
ATH9K_EXTRACTED := $(PRAWNOS_ATH9K_BUILD ) /.ath9k_extracted
26
43
ATH9K_TAR := $(KERNEL_SHARED_RESOURCES ) /open-ath9k-htc-firmware.tar.gz
@@ -84,12 +101,7 @@ update_ath9k_tar:
84
101
85
102
.PHONY : blobby_kernel
86
103
blobby_kernel :
87
- rm -rf $(PRAWNOS_KERNEL_BUILD )
88
- mkdir -p $(PRAWNOS_BUILD_SOURCES )
89
- wget $(WGET_OPTS ) https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$(KVER ) .tar.xz -O $(KERNEL_BLOBBY_TAR )
90
- tar -Jxf $(KERNEL_BLOBBY_TAR ) -C $(PRAWNOS_BUILD )
91
- touch $(KERNEL_EXTRACTED )
92
- touch $(KERNEL_PATCHED )
104
+ $(MAKE ) BLOBBY_BUILD=1 kernel
93
105
94
106
95
107
# TODO: package perf/linux-tools
@@ -99,20 +111,56 @@ perf: $(PRAWNOS_KERNEL_BUILT)
99
111
100
112
# ## REAL RULES
101
113
114
+ ifeq ($(BLOBBY_BUILD ) ,0)
115
+ KERNEL_CONFIG := $(KERNEL_LIBRE_CONFIG )
116
+ KERNEL_URL := $(KERNEL_LIBRE_URL )
117
+ KERNEL_BASENAME := $(KERNEL_LIBRE_BASENAME )
118
+ KERNEL_TAR := $(KERNEL_LIBRE_TAR )
119
+ KERNEL_TAR_SIGNATURE := $(KERNEL_LIBRE_TAR_SIGNATURE_BASENAME )
120
+ KERNEL_TAR_SIGNATURE_BASENAME := $(KERNEL_LIBRE_TAR_SIGNATURE_BASENAME )
121
+ KERNEL_TAR_SIGNATURE_TARGET := $(KERNEL_LIBRE_TAR_SIGNATURE_TARGET )
122
+ KERNEL_TAR_SIGNATURE_TARGET_BASENAME := $(KERNEL_LIBRE_TAR_SIGNATURE_TARGET_BASENAME )
123
+ KERNEL_PUBKEY := $(KERNEL_LIBRE_PUBKEY )
124
+ else
125
+ KERNEL_CONFIG := $(KERNEL_BLOBBY_CONFIG )
126
+ KERNEL_URL := $(KERNEL_BLOBBY_URL )
127
+ KERNEL_BASENAME := $(KERNEL_BLOBBY_BASENAME )
128
+ KERNEL_TAR := $(KERNEL_BLOBBY_TAR )
129
+ KERNEL_TAR_SIGNATURE := $(KERNEL_BLOBBY_TAR_SIGNATURE )
130
+ KERNEL_TAR_SIGNATURE_BASENAME := $(KERNEL_BLOBBY_TAR_SIGNATURE_BASENAME )
131
+ KERNEL_TAR_SIGNATURE_TARGET := $(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET )
132
+ KERNEL_TAR_SIGNATURE_TARGET_BASENAME := $(KERNEL_BLOBBY_TAR_SIGNATURE_TARGET_BASENAME )
133
+ KERNEL_PUBKEY := $(KERNEL_BLOBBY_PUBKEY )
134
+ endif
135
+
102
136
$(KERNEL_ATH9K_FIRMWARES ) :
103
137
mkdir -p $(KERNEL_ATH9K_FIRMWARES )
104
138
105
139
$(KERNEL_TAR_SIGNATURE ) : | $(PRAWNOS_BUILD_SOURCES )
106
- 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 )
107
-
108
- $(KERNEL_TAR ) : $(KERNEL_TAR_SIGNATURE ) | $(PRAWNOS_BUILD_LOGS ) $(PRAWNOS_BUILD_SOURCES )
109
- wget $(WGET_OPTS ) https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER ) -gnu/linux-libre-$(KVER ) -gnu.tar.xz -O $(KERNEL_TAR )
110
- gpg --import $(KERNEL_LINUX_LIBRE_PUB )
111
- gpg --verify $(KERNEL_TAR_SIGNATURE ) $(KERNEL_TAR )
112
-
113
- $(KERNEL_EXTRACTED ) : $(KERNEL_TAR )
114
- tar -xvf $(KERNEL_TAR ) -C $(PRAWNOS_BUILD )
115
- touch $(KERNEL_EXTRACTED )
140
+ wget $(WGET_OPTS ) $(KERNEL_URL ) /$(KERNEL_TAR_SIGNATURE_BASENAME ) -O $(KERNEL_TAR_SIGNATURE )
141
+
142
+ $(KERNEL_EXTRACTED ) : $(KERNEL_TAR ) $(KERNEL_TAR_SIGNATURE )
143
+ gpg --import $(KERNEL_PUBKEY )
144
+ case $( BLOBBY_BUILD) in \
145
+ 0) \
146
+ gpg --verify $(KERNEL_TAR_SIGNATURE ) $(KERNEL_TAR_SIGNATURE_TARGET ) && \
147
+ tar -xvf $(KERNEL_TAR ) -C $(PRAWNOS_BUILD ) && \
148
+ touch $(KERNEL_EXTRACTED ) \
149
+ ;; \
150
+ 1) \
151
+ if [ ! -f $( KERNEL_TAR_SIGNATURE_TARGET) ]; then xz --decompress --keep $( KERNEL_TAR) ; fi ; \
152
+ gpg --verify $(KERNEL_TAR_SIGNATURE ) $(KERNEL_TAR_SIGNATURE_TARGET ) && \
153
+ tar -xvf $(KERNEL_TAR_SIGNATURE_TARGET ) -C $(PRAWNOS_BUILD ) && \
154
+ touch $(KERNEL_EXTRACTED ) \
155
+ ;; \
156
+ * ) \
157
+ @echo " Unknown kernel type" ; \
158
+ exit 1 \
159
+ ;; \
160
+ esac
161
+
162
+ $(KERNEL_TAR ) : $(PRAWNOS_BUILD_LOGS ) $(PRAWNOS_BUILD_SOURCES )
163
+ wget $(WGET_OPTS ) $(KERNEL_URL ) /$(KERNEL_BASENAME ) -O $(KERNEL_TAR )
116
164
117
165
$(KERNEL_PATCHED ) : $(KERNEL_EXTRACTED )
118
166
@echo $(PRAWNOS_KERNEL_BUILD )
@@ -133,6 +181,6 @@ $(KERNEL_ATH9K_INSTALLED): $(KERNEL_PATCHED) $(ATH9K_BUILT) | $(KERNEL_ATH9K_FIR
133
181
134
182
$(PRAWNOS_KERNEL_BUILT ) : $(KERNEL_ATH9K_INSTALLED ) $(PRAWNOS_INITRAMFS_IMAGE )
135
183
rm -rf $(KERNEL_BUILD_LOG )
136
- $(PRAWNOS_KERNEL_SCRIPTS_BUILD ) $(KVER ) $(KERNEL_RESOURCES ) $(PRAWNOS_KERNEL_BUILD ) $(PRAWNOS_INITRAMFS_IMAGE ) $(TARGET ) 2>&1 | tee $(KERNEL_BUILD_LOG )
184
+ $(PRAWNOS_KERNEL_SCRIPTS_BUILD ) $(KVER ) $(KERNEL_RESOURCES ) $(PRAWNOS_KERNEL_BUILD ) $(PRAWNOS_INITRAMFS_IMAGE ) $(TARGET ) $( KERNEL_CONFIG ) 2>&1 | tee $(KERNEL_BUILD_LOG )
137
185
138
186
endif
0 commit comments