feat: aarch64 port - Raspberry Pi 4/400 SD boot (SDHCI, ext2 root + first-boot grow), USB hubs, PCI INTx routing, SMP, DMA fences
This commit is contained in:
1 parent
8c09ccef66
commit
808e1d66fd
66 files changed
+3690
-196
No files matched your search
+13
-3
@@ -45,7 +45,7 @@ BINDIR := bin$(ARCH_SUFFIX)
|
||||
PROGRAMS := $(notdir $(wildcard src/*))
|
||||
|
||||
# Programs with custom Makefiles (built separately).
|
||||
CUSTOM_BUILDS := 2048 files settings fetch wiki wikipedia weather imageviewer fontpreview spreadsheet wordprocessor pdfviewer disks devexplorer installer audio music video bluetooth network display capabilities keyboard sshserver terminal syslog procmgr powermgr calculator charmap desktop login shell paint tcc lua screenshot texteditor mandelbrot printers timezone printd printctl dialogs libloader crashpad sshd rtlsdr sdr
|
||||
CUSTOM_BUILDS := 2048 files settings fetch wiki wikipedia weather imageviewer fontpreview spreadsheet wordprocessor pdfviewer disks devexplorer installer audio music video bluetooth network display capabilities keyboard sshserver terminal syslog procmgr powermgr calculator charmap desktop login shell paint tcc lua screenshot texteditor mandelbrot printers timezone printd printctl dialogs libloader crashpad sshd rtlsdr sdr firstboot
|
||||
SYSTEM_PROGRAMS := $(filter-out $(CUSTOM_BUILDS),$(PROGRAMS))
|
||||
|
||||
# Build targets: system programs go to bin/os/, apps go to bin/apps/<name>/.
|
||||
@@ -92,7 +92,7 @@ WPDIR := data/wallpapers
|
||||
WPSRC := $(wildcard $(WPDIR)/*.jpg)
|
||||
WPDST := $(patsubst $(WPDIR)/%,$(BINDIR)/os/wallpapers/%,$(WPSRC))
|
||||
|
||||
.PHONY: all clean 2048 files settings fetch wiki wikipedia weather imageviewer fontpreview spreadsheet wordprocessor pdfviewer disks devexplorer installer audio music video bluetooth network display capabilities keyboard sshserver sshd terminal syslog procmgr powermgr calculator charmap login desktop shell paint tcc lua screenshot texteditor mandelbrot printers timezone printd printctl dialogs icons fonts configs osdata bearssl libc tls libjpeg libjpegwrite install-apps libloader crashpad rtlsdr sdr check-syscalls gen-syscalls rust
|
||||
.PHONY: all clean 2048 files settings fetch wiki wikipedia weather imageviewer fontpreview spreadsheet wordprocessor pdfviewer disks devexplorer installer audio music video bluetooth network display capabilities keyboard sshserver sshd terminal syslog procmgr powermgr calculator charmap login desktop shell paint tcc lua screenshot texteditor mandelbrot printers timezone printd printctl dialogs icons fonts configs osdata bearssl libc tls libjpeg libjpegwrite install-apps libloader crashpad rtlsdr sdr check-syscalls gen-syscalls rust firstboot
|
||||
|
||||
# The on-OS SDK, tcc (an x86 code generator) and the Rust programs exist
|
||||
# for x86_64 only.
|
||||
@@ -102,6 +102,12 @@ endif
|
||||
|
||||
ALL_TARGETS := bearssl libc libjpeg libjpegwrite tls libloader rtlsdr sdr devkit $(TARGETS) files settings fetch wiki wikipedia weather imageviewer fontpreview spreadsheet wordprocessor pdfviewer disks devexplorer installer audio music video bluetooth network display capabilities sshserver terminal syslog procmgr powermgr calculator charmap 2048 paint tcc lua screenshot texteditor mandelbrot printers timezone printd printctl dialogs login desktop shell sshd icons fonts install-apps crashpad rust $(MANDST) $(WWWDST) $(CA_CERTS) $(CONFIGDST) $(OSDATADST) $(FWDST) $(LICDST) $(WPDST)
|
||||
|
||||
# The Raspberry Pi SD image's first-boot program (built outside bin/, see
|
||||
# src/firstboot/Makefile); the SD image is aarch64 only.
|
||||
ifeq ($(ARCH),aarch64)
|
||||
ALL_TARGETS += firstboot
|
||||
endif
|
||||
|
||||
all: $(filter-out $(ARCH_SKIP),$(ALL_TARGETS))
|
||||
|
||||
# Build BearSSL static library (cross-compiled for freestanding x86_64).
|
||||
@@ -263,7 +269,7 @@ terminal: libc
|
||||
$(MAKE) -C src/terminal
|
||||
|
||||
# Build kernel log standalone GUI tool (depends on libc).
|
||||
syslog: libc
|
||||
syslog: libc libloader
|
||||
$(MAKE) -C src/syslog
|
||||
|
||||
# Build process manager standalone GUI tool (depends on libc).
|
||||
@@ -294,6 +300,9 @@ timezone: libc
|
||||
login: bearssl libc
|
||||
$(MAKE) -C src/login
|
||||
|
||||
firstboot: libc
|
||||
$(MAKE) -C src/firstboot
|
||||
|
||||
# Build shell via its own Makefile (multi-file build).
|
||||
shell: libc
|
||||
$(MAKE) -C src/shell
|
||||
@@ -547,6 +556,7 @@ clean:
|
||||
$(MAKE) -C lib/tls clean
|
||||
$(MAKE) -C src/fetch clean
|
||||
$(MAKE) -C src/login clean
|
||||
$(MAKE) -C src/firstboot clean
|
||||
$(MAKE) -C src/shell clean
|
||||
$(MAKE) -C src/desktop clean
|
||||
$(MAKE) -C src/wikipedia clean
|
||||
|
||||
Reference in new issue
Block a user