tMakefile - pi3-aoe - ATA over Ethernet setup for Raspberry Pi 3
 (HTM) git clone https://git.parazyd.org/pi3-aoe
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tMakefile (2498B)
       ---
            1 .POSIX:
            2 
            3 TC="aarch64-linux-gnu-"
            4 
            5 KERNEL_URL = https://github.com/raspberrypi/linux
            6 KERNEL_BRANCH = rpi-5.11.y
            7 KERNEL_SRC = linux-raspberrypi
            8 IMAGEGZ = $(KERNEL_SRC)/arch/arm64/boot/Image.gz
            9 
           10 FIRMWARE_URL = https://github.com/raspberrypi/firmware
           11 FIRMWARE_BRANCH = master
           12 FIRMWARE_SRC = firmware
           13 
           14 AOE_URL = https://github.com/OpenAoE/aoetools
           15 AOE_BRANCH = master
           16 AOE_SRC = aoetools
           17 
           18 BUSYBOX_URL = https://git.busybox.net/busybox
           19 BUSYBOX_BRANCH = 1_32_1
           20 BUSYBOX_SRC = busybox
           21 
           22 all: boot/kernel8.img bin/aoe-stat boot/bootcode.bin bin/busybox
           23 
           24 $(KERNEL_SRC):
           25         git clone --depth 1 -b $(KERNEL_BRANCH) $(KERNEL_URL) $@
           26 
           27 $(FIRMWARE_SRC):
           28         git clone --depth 1 -b $(FIRMWARE_BRANCH) $(FIRMWARE_URL) $@
           29 
           30 $(AOE_SRC):
           31         git clone --depth 1 -b $(AOE_BRANCH) $(AOE_URL) $@
           32 
           33 $(BUSYBOX_SRC):
           34         git clone --depth 1 -b $(BUSYBOX_BRANCH) $(BUSYBOX_URL) $@
           35 
           36 boot/bootcode.bin: $(FIRMWARE_SRC)
           37         cp $(FIRMWARE_SRC)/boot/start* boot
           38         cp $(FIRMWARE_SRC)/boot/fixup* boot
           39         cp $(FIRMWARE_SRC)/boot/LICENCE.broadcom boot
           40         cp $(FIRMWARE_SRC)/boot/COPYING.linux boot
           41         cp $(FIRMWARE_SRC)/boot/bootcode.bin boot
           42 
           43 $(IMAGEGZ): $(KERNEL_SRC) pi3.config
           44         cp -f pi3.config $(KERNEL_SRC)/.config
           45         $(MAKE) -C $(KERNEL_SRC) ARCH=arm64 CROSS_COMPILE=$(TC) oldconfig
           46         $(MAKE) -C $(KERNEL_SRC) ARCH=arm64 CROSS_COMPILE=$(TC)
           47 
           48 boot/kernel8.img: $(IMAGEGZ)
           49         mkdir -p boot/overlays
           50         cp $(KERNEL_SRC)/arch/arm64/boot/Image.gz $@
           51         cp $(KERNEL_SRC)/arch/arm64/boot/dts/broadcom/bcm*.dtb boot
           52         cp $(KERNEL_SRC)/arch/arm64/boot/dts/overlays/*.dtbo boot/overlays
           53         cp $(KERNEL_SRC)/arch/arm64/boot/dts/overlays/README boot/overlays
           54 
           55 bin/aoe-stat: $(AOE_SRC)
           56         sed -e 's@^CFLAGS =.*@CFLAGS = -Os -s -static@' -i $(AOE_SRC)/Makefile
           57         sed -e 's@^SBINDIR =.*@SBINDIR = $${PREFIX}/bin@' -i $(AOE_SRC)/Makefile
           58         $(MAKE) -C $(AOE_SRC) CC=$(TC)gcc PREFIX=$(CURDIR)
           59         $(MAKE) -C $(AOE_SRC) CC=$(TC)gcc PREFIX=$(CURDIR) install
           60         rm -rf usr
           61 
           62 bin/busybox: $(BUSYBOX_SRC)
           63         cp busybox.config $(BUSYBOX_SRC)/.config
           64         $(MAKE) -C $(BUSYBOX_SRC) ARCH=arm64 CROSS_COMPILE=$(TC) busybox
           65         cp $(BUSYBOX_SRC)/busybox $@
           66 
           67 initramfs.gz: bin/aoe-stat bin/busybox
           68         mkdir -p initramfs/dev initramfs/proc initramfs/sys
           69         cp init initramfs
           70         cp -r bin initramfs
           71         cp -a /dev/console /dev/random /dev/tty /dev/urandom initramfs/dev
           72         ( cd initramfs ; find . | cpio -o -H newc | gzip -c9 > ../$@ )
           73 
           74 install: all initramfs.gz
           75 ifeq ($(DESTDIR),)
           76         @echo "You need to set DESTDIR. See README.md for more information."
           77         @exit 1
           78 endif
           79         cp -r boot/* initramfs.gz $(DESTDIR)
           80 
           81 .PHONY: all install