5 TARGET
= arm-crux-linux-gnueabihf
9 CROSSTOOLS
= $(PWD
)/..
/..
/toolchain
/crosstools
11 KERNEL_VERSION
= 4.1.15-raspberrypi_20160119
13 .PHONY
: all clean image modules map config
15 all: image modules map
17 clean: image-clean modules-clean map-clean
19 distclean: clean image-distclean modules-distclean map-distclean
21 $(WORK
)/linux-
$(KERNEL_VERSION
).
tar.xz
:
22 wget
-P
$(WORK
) http
://crux-arm.nu
/files
/distfiles
/raspberrypi
/linux-
$(KERNEL_VERSION
).
tar.xz
23 wget
--no-check-certificate
-P
$(WORK
) https
://raw.github.com
/raspberrypi
/tools
/master
/mkimage
/imagetool-uncompressed.py
24 wget
--no-check-certificate
-P
$(WORK
) https
://github.com
/raspberrypi
/tools
/raw
/master
/mkimage
/first32k.bin
25 wget
--no-check-certificate
-P
$(WORK
) https
://github.com
/raspberrypi
/tools
/raw
/master
/mkimage
/boot-uncompressed.txt
26 wget
--no-check-certificate
-P
$(WORK
) https
://github.com
/raspberrypi
/tools
/raw
/master
/mkimage
/args-uncompressed.txt
28 $(WORK
)/linux-
$(KERNEL_VERSION
): $(WORK
)/linux-
$(KERNEL_VERSION
).
tar.xz
$(PWD
)/config-
$(KERNEL_VERSION
)
29 tar -C
$(WORK
) -xvf
$(WORK
)/linux-
$(KERNEL_VERSION
).
tar.xz
30 sed
-e
's|LINUX_COMPILE_BY=.*|LINUX_COMPILE_BY=devel|' -e
's|LINUX_COMPILE_HOST=.*|LINUX_COMPILE_HOST=crux-arm.nu|' -i
$(WORK
)/linux-
$(KERNEL_VERSION
)/scripts
/mkcompile_h
31 cp
-v
$(PWD
)/config-
$(KERNEL_VERSION
) $(WORK
)/linux-
$(KERNEL_VERSION
)/.config
32 touch
$(WORK
)/linux-
$(KERNEL_VERSION
)
34 $(WORK
)/zImage-
$(KERNEL_VERSION
): $(WORK
)/linux-
$(KERNEL_VERSION
)
35 cd
$(WORK
)/linux-
$(KERNEL_VERSION
) && \
36 export PATH
=$(CROSSTOOLS
)/bin
:$$PATH && \
37 export LD_LIBRARY_PATH
=$(CROSSTOOLS
)/lib
:$$LD_LIBRARY_PATH && \
38 make ARCH
=arm CROSS_COMPILE
=$(TARGET
)- zImage
39 cp
-v
$(WORK
)/linux-
$(KERNEL_VERSION
)/arch
/arm
/boot
/zImage
$(WORK
)/zImage-
$(KERNEL_VERSION
)
40 ln
-sf zImage-
$(KERNEL_VERSION
) $(WORK
)/zImage
41 touch
$(WORK
)/zImage-
$(KERNEL_VERSION
)
43 $(WORK
)/kernel.img
: $(WORK
)/zImage-
$(KERNEL_VERSION
)
45 python imagetool-uncompressed.py zImage-
$(KERNEL_VERSION
)
47 image
: $(WORK
)/kernel.img
50 rm -vf
$(WORK
)/zImage-
$(KERNEL_VERSION
) $(WORK
)/kernel.img
52 image-distclean
: image-clean
53 rm -vrf
$(WORK
)/linux-
$(KERNEL_VERSION
) $(WORK
)/linux-
$(KERNEL_VERSION
).
tar.xz
54 rm -vf
$(WORK
)/imagetool-uncompressed.py
$(WORK
)/first32k.bin
$(WORK
)/boot-uncompressed.txt
$(WORK
)/args-uncompressed.txt
56 $(WORK
)/modules-
$(KERNEL_VERSION
): $(WORK
)/linux-
$(KERNEL_VERSION
)
57 cd
$(WORK
)/linux-
$(KERNEL_VERSION
) && \
58 export PATH
=$(CROSSTOOLS
)/bin
:$$PATH && \
59 export LD_LIBRARY_PATH
=$(LD_LIBRARY_PATH
)/lib
:$$LD_LIBRARY_PATH && \
60 make ARCH
=arm CROSS_COMPILE
=$(TARGET
)- modules
&& \
61 make ARCH
=arm CROSS_COMPILE
=$(TARGET
)- INSTALL_MOD_PATH
=$(WORK
)/modules-
$(KERNEL_VERSION
) modules_install
62 rm -f
$(WORK
)/modules-
$(KERNEL_VERSION
)/lib
/modules
/$(KERNEL_VERSION
)/{source
,build
}
63 touch
$(WORK
)/modules-
$(KERNEL_VERSION
)
65 $(WORK
)/modules-
$(KERNEL_VERSION
).
tar.xz
: $(WORK
)/modules-
$(KERNEL_VERSION
)
66 cd
$(WORK
)/modules-
$(KERNEL_VERSION
) && \
67 tar cvJf
$(WORK
)/modules-
$(KERNEL_VERSION
).
tar.xz
*
68 touch
$(WORK
)/modules-
$(KERNEL_VERSION
).
tar.xz
70 modules
: $(WORK
)/modules-
$(KERNEL_VERSION
).
tar.xz
73 rm -vrf
$(WORK
)/modules-
$(KERNEL_VERSION
) $(WORK
)/modules-
$(KERNEL_VERSION
).
tar.xz
75 modules-distclean
: modules-clean
77 $(WORK
)/System.map-
$(KERNEL_VERSION
): $(WORK
)/linux-
$(KERNEL_VERSION
)
78 cp
$(WORK
)/linux-
$(KERNEL_VERSION
)/System.map
$(WORK
)/System.map-
$(KERNEL_VERSION
)
79 touch
$(WORK
)/System.map-
$(KERNEL_VERSION
)
81 map
: $(WORK
)/System.map-
$(KERNEL_VERSION
)
84 rm -vrf
$(WORK
)/System.map-
$(KERNEL_VERSION
)
86 map-distclean
: map-clean
88 config
: $(WORK
)/linux-
$(KERNEL_VERSION
)
89 cd
$(WORK
)/linux-
$(KERNEL_VERSION
) && \
90 export PATH
=$(CROSSTOOLS
)/bin
:$$PATH && \
91 export LD_LIBRARY_PATH
=$(CROSSTOOLS
)/lib
:$$LD_LIBRARY_PATH && \
92 make ARCH
=arm CROSS_COMPILE
=$(TARGET
)- menuconfig
93 touch
$(WORK
)/linux-
$(KERNEL_VERSION
)