diff options
author | Danny Holman <dholman@gymli.org> | 2025-10-15 19:53:50 -0500 |
---|---|---|
committer | Danny Holman <dholman@gymli.org> | 2025-10-15 19:53:50 -0500 |
commit | 5057c439be750f778400953bbd864849521b9fc8 (patch) | |
tree | ffea2f6a85af8d62025562c632e389fc3d101e2c /bootstrap | |
parent | bootstrap: stage1: create a baseline environment (diff) | |
download | box-5057c439be750f778400953bbd864849521b9fc8.tar.gz box-5057c439be750f778400953bbd864849521b9fc8.tar.zst box-5057c439be750f778400953bbd864849521b9fc8.zip |
Create the baseline build files from templates in the project root.
Since the second stage is *mostly* standardized, overrides should be
kept to a minimum unless a specific architecture/platform requires it.
Signed-off-by: Danny Holman <dholman@gymli.org>
Diffstat (limited to 'bootstrap')
-rw-r--r-- | bootstrap/stage2/Makefile | 7 | ||||
-rw-r--r-- | bootstrap/stage2/arch/x86_64/linker.ld | 2 | ||||
-rw-r--r-- | bootstrap/stage2/arch/x86_64/make.conf | 17 |
3 files changed, 24 insertions, 2 deletions
diff --git a/bootstrap/stage2/Makefile b/bootstrap/stage2/Makefile index 2b3951d..1799157 100644 --- a/bootstrap/stage2/Makefile +++ b/bootstrap/stage2/Makefile @@ -17,7 +17,7 @@ include $(ROOTDIR)/common.mk -ifeq (BS_DEBUG,YES) +ifeq ($(BS_DEBUG),YES) AFLAGS+=-g CFLAGS+=-g endif @@ -28,7 +28,12 @@ CFLAGS+=-ffreestanding -fno-stack-protector $(BS_OPLVL) BINARY=bootstrap-stage2 include $(ARCHDIR)/make.conf +FIRMWARE_DIR=firmware/$(FIRMWARE) +include $(FIRMWARE_DIR)/make.conf +COMMON_DIR=firmware/common OBJS=$(ARCH_OBJS) \ + $(COMMON_OBJS) \ + $(FIRMWARE_OBJS) \ include $(ROOTDIR)/patterns.mk diff --git a/bootstrap/stage2/arch/x86_64/linker.ld b/bootstrap/stage2/arch/x86_64/linker.ld index 7bd0460..f5489e5 100644 --- a/bootstrap/stage2/arch/x86_64/linker.ld +++ b/bootstrap/stage2/arch/x86_64/linker.ld @@ -1,7 +1,7 @@ ENTRY(_start) SECTIONS { - . = 0x2000; + . = 0x100000; __bstart = .; .text : { diff --git a/bootstrap/stage2/arch/x86_64/make.conf b/bootstrap/stage2/arch/x86_64/make.conf index 930b95e..4e4ab6f 100644 --- a/bootstrap/stage2/arch/x86_64/make.conf +++ b/bootstrap/stage2/arch/x86_64/make.conf @@ -1,3 +1,20 @@ +# Copyright (C) 2025 Danny Holman <dholman@gymli.org> +# +# This file is part of BoxOS, a free and open-source Unix-like operating +# system. +# +# BoxOS is free software; you can redistribute it and/or modify under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# BoxOS is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# BoxOS; if not, see <https://www.gnu.org/licenses/>. + AFLAGS+=-target $(ARCH)-none-elf CFLAGS+=-target $(ARCH)-none-elf -mno-red-zone -mno-mmx -mno-sse -mno-sse2 LDFLAGS+=--script=$(ARCHDIR)/linker.ld |