asagiri/toolchain-aarch64.mk

35 lines
1.1 KiB
Makefile

override CC := aarch64-none-elf-gcc
override LD := aarch64-none-elf-ld
override OBJCOPY := aarch64-none-elf-objcopy
override CFLAGS := \
-march=armv8-a \
-Iarch/aarch64/include \
-D_ARCH_AARCH64
override LDFLAGS := \
-m aarch64elf \
-T arch/aarch64/linker.ld
.PHONY: all
all: asagiri.img
.PHONY: run
run: asagiri.img
if [ "$$(uname -a | grep -i 'microsoft')" ]; then \
export IMAGE_PATH=$$(wslpath -wa build/asagiri.img); \
else \
export IMAGE_PATH=build/asagiri.img; \
fi; \
qemu-system-aarch64 -M raspi3b -serial null -serial stdio \
-kernel u-boot/u-boot.bin \
-drive if=sd,format=raw,file=$$IMAGE_PATH
### Bootloader
uboot:
git clone https://github.com/u-boot/u-boot.git --branch=v2023.10 --depth=1 2>/dev/null | true
sed -i.bak '/panic("FDT and ATAGS support not compiled in\\n");/c\' u-boot/arch/arm/lib/bootm.c
SOURCE_DATE_EPOCH=0 $(MAKE) -j$(nproc) -C u-boot rpi_3_defconfig ARCH=arm CROSS_COMPILE=aarch64-none-elf-
SOURCE_DATE_EPOCH=0 $(MAKE) -j$(nproc) -C u-boot all ARCH=arm CROSS_COMPILE=aarch64-none-elf-