WORK = $(PWD)/work
CROSSTOOLS = $(PWD)/../../toolchain/crosstools
-KERNEL_VERSION = 4.1.1
+KERNEL_VERSION = 4.9.6
.PHONY: all clean image modules map config
-all: image modules map
+all: dtb image modules map
-clean: image-clean modules-clean map-clean
+clean: dtb-clean image-clean modules-clean map-clean
-distclean: clean image-distclean modules-distclean map-distclean
+distclean: clean dtb-distclean image-distclean modules-distclean map-distclean
$(WORK)/linux-$(KERNEL_VERSION).tar.xz:
- wget -P $(WORK) ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$(KERNEL_VERSION).tar.xz
+ wget -P $(WORK) https://www.kernel.org/pub/linux/kernel/v4.x/linux-$(KERNEL_VERSION).tar.xz
$(WORK)/linux-$(KERNEL_VERSION): $(WORK)/linux-$(KERNEL_VERSION).tar.xz config-$(KERNEL_VERSION)
tar -C $(WORK) -xvf $(WORK)/linux-$(KERNEL_VERSION).tar.xz
image-distclean: image-clean
+$(WORK)/vexpress-v2p-ca9.dtb: image
+ cd $(WORK)/linux-$(KERNEL_VERSION) && \
+ export PATH=$(CROSSTOOLS)/bin:$$PATH && \
+ export LD_LIBRARY_PATH=$(CROSSTOOLS)/lib:$$LD_LIBRARY_PATH && \
+ make ARCH=arm CROSS_COMPILE=$(TARGET)- vexpress-v2p-ca9.dtb
+ cp -v $(WORK)/linux-$(KERNEL_VERSION)/arch/arm/boot/dts/vexpress-v2p-ca9.dtb $(WORK)/
+ touch $(WORK)/zImage-$(KERNEL_VERSION)
+
+dtb: $(WORK)/vexpress-v2p-ca9.dtb
+
+dtb-clean:
+ rm -vrf $(WORK)/vexpress-v2p-ca9.dtb
+
+dtb-distclean: dtb-clean
+
$(WORK)/modules-$(KERNEL_VERSION): $(WORK)/linux-$(KERNEL_VERSION)
cd $(WORK)/linux-$(KERNEL_VERSION) && \
export PATH=$(CROSSTOOLS)/bin:$$PATH && \