git.cappig.dev / apheleiaOS.git master

371bfebc48d37042dc1a719f0b13f203c56db841 master
cappig <[email protected]> ยท 4 months ago
Harden ELF symbol loading and improve boot/WM startup

* Extend libs/parse/elf with class-aware section/symbol view helpers and switch symbol loading to robust ELF section parsing from /boot/kernel*.elf

* Fix symbol ingestion edge cases by reading the full file payload before parse and validating symtab/dynsym + linked string tables

* Preserve console text/cursor state across font changes, enlarge early boot log history, and replay early logs once framebuffer text is ready

* Move boot assets to canonical locations (/boot/loader.conf, /etc/font.psf) and update BIOS config/image staging plus font lookup paths

* Sync init startup sequencing: attach stdio to tty0/console, run /etc/rc synchronously, keep /etc/rc.local optional, and add WM/WS screen-active redraw handling
21 files changed, 1232 insertions, 488 deletions
kernel/arch/arch.h +1 -0
kernel/arch/x86/arch.c +5 -1
kernel/arch/x86/boot/bios/config.c +2 -2
kernel/build_image_common.py +5 -4
kernel/lib/boot.h +1 -1
kernel/main.c +6 -0
kernel/sys/console.c +83 -8
kernel/sys/symbols.c +80 -77
kernel/sys/ws.c +2 -0
libs/gui/ws.h +1 -0
libs/parse/elf.c +407 -19
libs/parse/elf.h +41 -0
root/boot/font.psf removed
root/boot/loader.conf created
root/etc/font.psf created
root/etc/loader.conf removed
root/etc/rc +2 -2
user/init/main.c +71 -16
user/term/term_screen.c +0 -4
user/wm/wm_loop.c +227 -177
user/wm/wm_state.c +279 -158