35 lines
1.1 KiB
Makefile
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-
|