Skip to content

Implement v0 UEFI Kernel Architecture#1

Draft
rtech-technologies wants to merge 92 commits into
mainfrom
uefi-kernel-v0-933756853940349572
Draft

Implement v0 UEFI Kernel Architecture#1
rtech-technologies wants to merge 92 commits into
mainfrom
uefi-kernel-v0-933756853940349572

Conversation

@rtech-technologies

Copy link
Copy Markdown
Owner

Implemented a minimal UEFI kernel (PE32+) that follows a strict service-oriented architecture. The kernel uses an event loop and a service registry to initialize components like console and memory. It successfully loads and executes a shell program from the filesystem. The build system is configured for x86_64 EFI development using gnu-efi.


PR created automatically by Jules for task 933756853940349572 started by @rtech-technologies

- Implement modular architecture with separate services for console, memory, disk, and filesystem.
- Establish an event-driven initialization flow (EVENT_INIT, EVENT_MAIN, etc.).
- Create a service registry for late binding of services.
- Implement a 4MB bump allocator for memory management.
- Add logic to load and run a shell program (/shell.bin) from disk using UEFI Simple File System protocol.
- Set up a robust build system using gnu-efi to output a PE32+ EFI application.
- Adhere to the public API rule: programs include only system.h.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

google-labs-jules Bot and others added 7 commits February 13, 2026 13:47
- Implement shell reload logic in kernel: if shell returns without exit(), it reloads.
- Implement blocking input in console service using UEFI WaitForEvent.
- Update shell with an infinite command loop and support for 'return' and 'exit'.
- Ensure kernel remains in its event loop until explicitly exited.
- Move exit() implementation to event service for global availability.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Add 'setup' target to Makefile for dependency installation (gnu-efi, qemu, ovmf).
- Add 'run' target to Makefile for automated QEMU testing.
- Refine shell reload logic to ensure persistent operation unless exit() is called.
- Final clean up of codebase and project structure.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implement PE32+ EFI kernel with service registry and event system.
- Refine console service with UTF-16 conversion and blocking input.
- Enhance kernel lifecycle: automatic shell reload on return.
- Complete Makefile with 'setup', 'build', and 'run' targets.
- Use suggested QEMU parameters (-m 512M, -net none, -bios).
- Ensure strictly modular architecture with public API in system.h.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implement ASCII to UTF-16 conversion in console service to fix 'domino' garbage in QEMU.
- Use proper UTF-16 literals (L'\r', L'\n') for UEFI OutputString.
- Update Makefile with 'setup' and 'run' targets using recommended QEMU parameters.
- Ensure BOOTX64.EFI is correctly placed in EFI/BOOT directory for firmware booting.
- Maintain ritualistic kernel architecture with service registry and event system.
- Implement shell persistence with automatic reloading on return.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Set 'efi_main' as the entry point and ensure it follows standard UEFI/gnu-efi expectations.
- Resolve calling convention mismatch in 'efi_main' to prevent register corruption.
- Implement robust UTF-16 conversion in console service with L'\r' and L'\n' literals.
- Finalize Makefile with automated setup, build, and run (QEMU) workflows.
- Maintain persistent shell execution with automatic reload on return.
- Strictly adhere to service-oriented modular architecture.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implement PE32+ UEFI kernel with modular service-oriented architecture.
- Ensure strict compliance with UEFI standards for entry point and output.
- Fix console output issues by implementing ASCII to UTF-16 conversion.
- Create a comprehensive Makefile with 'setup', 'all', and 'run' targets.
- The 'run' target creates a bootable FAT32 image (boot.img) and launches QEMU.
- Implement shell persistence: the kernel reloads /shell.bin if it returns.
- Strictly adhere to the 'system.h' public API rule for programs.
- Remove all precompiled binary artifacts from the repository.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implement PE32+ UEFI kernel with modular service-oriented architecture.
- Ensure correct data types (UINTN, INTN) for 64-bit UEFI compliance.
- Refine efi_main and kernel entry flow for standard gnu-efi environments.
- Fix console output issues with UTF-16 conversion and safe CHAR16 handling.
- Implement memory management with 16-byte alignment bump allocator.
- Add safety to 'fread' API with 'max_size' parameter to prevent overflows.
- Finalize Makefile with automated setup, build, and run (QEMU with FAT32 boot.img) targets.
- Ensure all programs adhere to the 'system.h' public API.
- Remove all binary build artifacts from the repository.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
@rtech-technologies rtech-technologies marked this pull request as draft February 13, 2026 17:51
google-labs-jules Bot and others added 20 commits February 13, 2026 18:08
- Decouple all kernel services (console, memory, disk, fs) from UEFI.
- Implement a Serial driver (COM1) for the console service.
- Implement a RamDisk driver for the disk service to serve pre-loaded files.
- Move all UEFI-specific logic (file loading, heap allocation) to the bootloader section of kernel/main.c.
- Update Makefile to automate the creation of a bootable FAT32 image and QEMU execution.
- Maintain persistent shell execution with automatic reload on return.
- Ensure strict adherence to the modular service architecture and public system.h API.
- Fix calling convention issues by using gnu-efi standard behavior in efi_main.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
Summary of changes:
- Created a service-oriented kernel architecture with a central event loop.
- Implemented a service registry for Console, Memory, Disk, and FS.
- Developed a graphical console service using an 8x16 bitmap font and UEFI GOP.
- Added a serial port mirror for debugging in the console service.
- Implemented a memory service with a 16-byte aligned bump allocator.
- Developed a RAM-disk based file system service for loading programs.
- Implemented a public system API (system.h) for user programs.
- Created a standalone shell program that interacts only with the system API.
- Developed a comprehensive build system (Makefile) using gnu-efi.
- Configured the kernel as a PE32+ EFI application with a robust bootloader.
- Verified successful boot and shell execution in QEMU.
- Organized the project structure according to the requested layout.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…ture

- Relocated Makefile to the root directory as requested.
- Added 'make' and 'compile' targets to the Makefile.
- Ensured no binary artifacts (.o, .efi, .bin, .img) are included in the source tree.
- Maintained strict service-oriented architecture for Console, Memory, Disk, and FS.
- Verified kernel boot and shell execution in QEMU (nographic mode).

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Verified that no .o, .efi, .so, .bin, .elf, or .img files remain in the repository.
- Confirmed Makefile is in the root directory.
- Added 'make' and 'compile' targets to Makefile for clarity.
- Ensured all services and the shell are built strictly from source using system gnu-efi.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Removed all binary artifacts (.o, .efi, .bin, .img).
- Relocated and verified the Makefile in the root directory.
- Added 'make' and 'compile' targets for ease of use.
- Confirmed that 'make' successfully compiles all components from scratch.
- Strictly followed the requested project layout and architectural rules.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Fixed the '??????' issue by including .rodata sections in the final EFI binary.
- Added early bootloader debugging to verify GOP and Serial initialization.
- Ensured all binaries and object files are removed from the source tree.
- Makefile is in the root and verified to compile everything from scratch.
- strictly followed the service-oriented kernel architecture.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Refactored `kernel/main.c` into a clean `stup()` and `main()` loop.
- Implemented `print()` and `input()` (with prompt) as clean system calls.
- Fully implemented the service registry and event system for kernel initialization.
- Added USB keyboard support and standard serial I/O in the Makefile and drivers.
- Improved font rendering with a better glyph set.
- Ensured no binary artifacts are in the source tree.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…pport

- Refactored `kernel/main.c` to have a clean `stup()` initialization and a dedicated `main()` loop.
- Implemented Python-like `print()` and `input()` (with prompt and backspace) as core system calls.
- Integrated the service registry and event system into the initialization flow.
- Added USB keyboard and serial support to the boot process and Makefile.
- Verified all source files follow the specified architectural rules.
- Strictly ensured no binary artifacts or object files are present in the repository.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Added `run` target with SDL display and serial stdio mirroring.
- Added `run-serial` target for terminal-only debugging.
- Added `vga_test` placeholder target.
- Implemented proper backspace support in `input()` syscall (visual erase + buffer update).
- Refactored `kernel/main.c` to use `stup()` and `main()` loop.
- Fully implemented service registry and event system.
- Ensured no binary artifacts are in the source tree.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Fixed font data in `services/font_data.c` to provide recognizable glyphs for ASCII characters.
- Resolved "always A or █" bug in VGA mode.
- Updated `Makefile` with `run` (SDL), `run-serial`, and `vga_test` targets.
- Improved `input()` syscall with visual backspace support (`\b \b`).
- Ensured a clean, source-only repository state.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…xed VGA font

- Refactored `kernel/main.c` to use `stup()` for initialization and `main()` for the execution loop.
- Implemented `print()` and `input()` (with prompt and backspace) as clean system calls.
- Updated `services/font_data.c` with a complete and recognizable 8x16 ASCII font (32-126).
- Added visual backspace support (`\b \b`) that works correctly in both VGA and Serial modes.
- Enhanced the `Makefile` with `run` (SDL), `run-serial`, and `vga_test` targets.
- Enabled USB keyboard support in QEMU.
- Removed all compiled binaries and object files from the repository.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Renamed kernel to OSx2 and OS to RTECH dos.
- Refactored directory structure:
  - Moved libraries to `kernel/libs/` with individual folders for each.
  - Moved kernel core to `kernel/unice64/`.
  - Created `kernel/libs/stup/` for startup logic and `kernel/libs/init/` for unified initialization.
- Refactored `stup()` to call a single `init()` function that handles all service registration and event setup.
- Created `include/sys` header for easy library inclusion in programs.
- Fixed a bug in `kernel/unice64/main.c` where `isz` was used before being initialized in `load_asset`.
- Updated `Makefile` to reflect the new paths.
- Ensured no binary artifacts are present in the repository.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Rebranded kernel to OSx2 and OS to RTECH dos.
- Implemented a strict modular architecture with services in kernel/libs/.
- Core kernel logic moved to kernel/unice64/.
- Created a service registry and event-driven system (EVENT_INIT, EVENT_MAIN).
- Implemented a unified system API with print() and input() syscalls.
- Created a master header include/sys for project-wide inclusion.
- Updated shell to utilize the new syscall interface.
- Enhanced console service with visual backspace and serial mirroring.
- Refined build system to strictly follow UEFI and architecture rules.
- Cleaned up build artifacts to maintain repository hygiene.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented PCI configuration space accessors in `kernel/unice64/io.h`.
- Created a new `usb_keyboard` service in `kernel/libs/usb_keyboard/`.
- Implemented a PCI bus scanner to identify USB controllers (XHCI, EHCI, etc.).
- Integrated USB service into the kernel's initialization registry.
- Added a basic HID scancode translation and key buffering skeleton.
- Updated the build system to include the new service and handle its artifacts.
- Verified detection of the XHCI controller in the QEMU environment.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…ling

- Implemented `console_ps2_init()` in `console.c` to enable and flush the PS/2 controller, fixing keyboard issues in QEMU's graphical (VGA) mode.
- Refactored `usb_keyboard.c` to use `EFI_USB_IO_PROTOCOL` for device detection and identification.
- Implemented `SyncInterruptTransfer` based HID report polling for USB keyboards to provide a more "real" driver interface.
- Maintained a hardware-based polling fallback (port 0x60) to avoid "forcing the use of UEFI" for the runtime input stream.
- Updated `boot_params_t` to pass the UEFI System Table to the kernel for hardware detection services.
- Cleaned up build system and removed all binary artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Refactored `console.c` to listen to both Serial and Keyboard input concurrently.
- Integrated `usb_keyboard` service to provide a unified input stream for both USB HID and legacy PS/2 devices.
- Created `keyboard_map.h` to share standard IBM PC AT scancode mappings.
- Implemented non-blocking USB HID polling using UEFI `SyncInterruptTransfer`.
- Maintained a hardware-based polling fallback (port 0x60) for standalone kernel execution.
- Verified that both VGA window keypresses and Serial input are accepted by the shell.
- Cleaned the repository of all binary build artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Created a new `input` library in `kernel/libs/input/`.
- Implemented a unified `input_map` service with source-specific translation tables (PS/2, USB HID, Serial).
- Added support for keyboard modifiers (Shift) across all input sources.
- Refactored `usb_keyboard` and `console` services to use the central mapping registry.
- Standardized HID report parsing in `usb_keyboard.c` with dynamic endpoint discovery.
- Updated initialization ritual and master header to include the new input service.
- Cleaned up build system and removed all binary artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…dware inventory

- Centralized QEMU run configuration in `Makefile` with `QEMU_BASE_FLAGS` and `QEMU_DEVICES`.
- Enabled USB Keyboard, Mouse, and Tablet support in the standard QEMU execution targets.
- Implemented a "real" USB HID keyboard driver with 8-byte report parsing and modifier support.
- Added a centralized Input Mapping Service in `kernel/libs/input/` to unify all input sources.
- Introduced `lsdev` system call and shell command to report detected hardware status.
- Verified that USB keyboards and Serial input work concurrently.
- Removed all precompiled binary artifacts to ensure a clean source-only repository.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Developed a native xHCI host controller driver with direct MMIO register access.
- Implemented controller reset, port status polling, and device connection detection.
- Setup standard Command and Event Rings for asynchronous hardware communication.
- Implemented standard USB HID Boot Protocol report parsing with 6-key rollover.
- Created a robust Centralized Input Mapping Service to unify USB, PS/2, and Serial input.
- Fixed PS/2 keyboard responsiveness in VGA mode by handling make/break codes and modifiers.
- Updated shell with 'lsdev' command to report native hardware status.
- Ensured a clean, source-only repository by removing all binary artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Enhanced `input_map` service to track and report connection status for all input sources.
- Implemented hardware-level detection for Serial (UART) and PS/2 (Legacy Keyboard) in `console.c`.
- Integrated native USB/xHCI connection status into the central Input System Inventory.
- Expanded the `lsdev` system call and shell command to report real-time connectivity status.
- Refactored `usb_keyboard` for standard-compliant HID report parsing and modifier support.
- Verified that the kernel correctly identifies active input methods (Keyboard/Serial) in QEMU.
- Ensured a clean, source-only repository by removing all binary build artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
rtech-technologies and others added 30 commits February 25, 2026 02:44
… and include in images; support optional cleanup in runtime
- Implemented framebuffer-based scrolling in `services/console.c`.
- Added Shift key support to PS/2 keyboard driver in `services/input.c`.
- Implemented `programs/shell_advanced.c` with command parsing.
- Fixed implicit declaration and misleading indentation in shell.
- Refactored `boot_params_t` into `include/system.h` for user-space access.
- Strictly followed the "no code stubs" and "expert" architecture.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Renamed `system.h` to `rsl.h` and unified all public APIs under the RSL prefix.
- Implemented RSL utility functions (strcmp, memcpy, memset, strlen) in `programs/libsystem.c`.
- Updated `programs/shell_advanced.c` to be strictly RSL-driven, removing local utility duplicates.
- Refactored kernel/main.c to use the new `rsl_syscall_table_t`.
- Ensured all kernel services (console, input, memory, fs) are reachable via RSL.
- Maintained a clean, source-only repository with no precompiled binaries.
- Verified build and lifecycle events (INIT, MAIN, CLEANUP, EXIT).

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented transparent ARC memory management (retain/release) in `services/memory.c`.
- Transitioned to RSL (RTECH Standard Library) as the primary OS system language.
- Removed `rsl_` prefix from public APIs to treat RSL as the native language.
- Decoupled shell loading into a dedicated `loader` service.
- Updated `shell_advanced.c` to use strictly RSL and demonstrate ARC usage.
- Ensured proper vertical scrolling in the framebuffer console.
- Maintained a strictly source-based, expert-level architecture.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Completed RSL (RTECH Standard Library) with full utility suite (string, memory, numeric).
- Implemented high-level "Python-like" ARC API (`readline`, `py_alloc`, `py_free`, `quit`).
- Created a primary `shell.c` that is extremely easy to read and extend.
- Added `console_clear` service and exposed it via RSL.
- Verified all `if/for/while` statements use braces `{}` for maximum code clarity.
- Maintained a decoupled architecture with a dedicated `loader` service.
- Ensured a clean, source-only repository with a robust Makefile.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Moved all kernel services to `kernel/libs/`.
- Moved kernel entry points (main, entry) to `kernel/unice64/`.
- Updated include paths and Makefile to reflect new structure.
- Documented all expert architecture rules in `ARCHITECTURE.md`.
- Ensured a strictly source-based repository with no binary artifacts.
- Verified build and RSL-driven shell functionality.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…ustaining RSL

- Reorganized directory structure into `/kernel/libs` and `/kernel/unice64`.
- Implemented robust `ExitBootServices` and true freestanding handoff.
- Implemented Global Descriptor Table (GDT) for 64-bit stability.
- Completed self-sustaining RSL with high-level Python-like API and full utility suite.
- Upgraded memory service to use pre-allocated ARC-managed heap.
- Enhanced RNAFS with real block bitmap management and file creation.
- Added web-based font generator tool in `tools/fontgen.html`.
- Documented all architectural rules and design principles in `ARCHITECTURE.md`.
- Ensured a strictly source-based repository with zero binary artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
… font studio

- Implemented "Auto-RAM" high-level RSL API (`auto_ram`, `str_create`, `readline`).
- Upgraded Console service to support full RGB colors via `color(fg, bg)`.
- Enhanced `tools/fontgen.html` into a pro-grade Font & Color Studio with live preview.
- Refactored all kernel and library code for maximum expert quality (strict braces, clean logic).
- Documented ultimate architecture in `ARCHITECTURE.md`.
- Verified strictly source-only repository with a robust Makefile.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Created `scripts/menuconfig.py` (curses-based) to configure kernel features and heap settings.
- Created `scripts/rnafs_tool.py` to manage RNAFS disk images and file injection from host.
- Integrated `make menuconfig` and `make disk` into the ultimate Makefile.
- Updated kernel services to use configurable settings from `include/config.h`.
- Enhanced `tools/fontgen.html` for advanced color and font styling.
- Maintained strict expert architecture and source-only repository hygiene.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented Disk Service and MBR Partition Manager (diskman).
- Updated RNAFS to support manual formatting and mounting of specific partitions.
- Reserved Disk 0, Partition 0 for EFI bootloader to prevent accidental overwrites.
- Exposed `addpart`, `format`, `mount`, and `lsfs` syscalls to RSL.
- Updated expert shell with commands for partition and permanent storage management.
- Ensured a strictly source-based repository with no binary artifacts.
- Verified build and multi-partition logic via UEFI boot flow.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Replaced legacy MBR logic with a robust GUID Partition Table (GPT) manager.
- Implemented GPT Header and Partition Entry parsing in `diskman.c`.
- Updated Disk Service to handle 64-bit LBA addresses.
- Protected Partition 0 (EFI) from proprietary RNAFS formatting.
- Updated shell with GPT-specific commands and 64-bit expert feedback.
- Ensured strictly source-based repository with no binary artifacts.
- Verified build and lifecycle events for 64-bit freestanding kernel.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Updated `boot/linker.ld` to set base address to `0x200000`.
- Modified `kernel/unice64/entry.c` to use `AllocatePages` with `AllocateAddress`.
- Ensured `shell.bin` is loaded at the exact address the C code expects.
- Pre-allocated a 4MB ARC heap at `0x1000000` (16MB mark).
- Updated `efi_types.h` and `types.h` to support `EFI_PHYSICAL_ADDRESS` and `AllocatePages`.
- Verified strictly source-based build with no binary artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Split OS into Stage 1 (EFI Loader) and Stage 2 (Raw Kernel).
- Stage 1: `loader/entry.c` loads `kernel.bin` at 16MB and `shell.bin` at 48MB.
- Stage 2: `kernel/unice64/main.c` starts at 16MB with zero UEFI dependencies.
- Implemented `kutils.c` for freestanding kernel utilities (memcpy, etc.).
- Refactored `Makefile` to separate EFI and flat binary compilation.
- Fixed linker address to 16MB (0x1000000) and heap to 32MB (0x2000000).
- Ensured strict error checking and reporting during UEFI boot phase.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…engine

- Upgraded `make menuconfig` with a pro-grade curses interface.
- Added support for hex (addresses), int (heap size), and bool (features) options.
- Configurable settings: Kernel/Heap base addresses, theme colors, optimization level.
- Integrated `.config` and `include/config.h` into the entire build pipeline.
- Enhanced `Makefile` with `info`, `prepare`, and `update` targets for better UX.
- Verified build and config generation for the Two-Stage Expert architecture.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Transitioned to Two-Stage Handover: UEFI Stage 1 loader to raw binary Stage 2 kernel at 0x1000000.
- Implemented kernel service registry and event-driven loop (EVENT_INIT, EVENT_MAIN, etc.).
- Developed RTECH Standard Library (RSL) with ARC (Automatic Reference Counting) memory management.
- Implemented GPT partition management and RNAFS filesystem with bitmap block allocation.
- Added professional development tools: MenuConfig (scripts/menuconfig.py), Font Studio (tools/fontgen.html), and RNAFS Tool (scripts/rnafs_tool.py).
- Restructured project layout into /boot, /kernel, /include, /programs, and /services.
- Enforced source-only repository policy and documented architecture rules in ARCHITECTURE.md.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented MenuConfig logic in the kernel to honor configuration settings (Auto-load shell, Colors, Themes).
- Fixed RNAFS filesystem with bitmap-based block allocation for reliable writes.
- Established a Two-Stage Handover architecture (UEFI Loader -> Raw Binary Kernel).
- Implemented ARC (Automatic Reference Counting) in the RTECH Standard Library (RSL).
- Enforced a clean, source-only repository state (all binary blobs removed).
- Added professional development tools: Font Studio, MenuConfig, and RNAFS Disk Tool.
- Fully documented the architecture and memory model in ARCHITECTURE.md.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented Two-Stage Handover: Stage 1 Loader (UEFI) verifies Kernel signature (0xDEADBEEF) and jumps to Stage 2 (Raw Binary) at 0x1000004.
- Established Professional Service Registry & Event Loop in kernel/main.c.
- Developed RTECH Standard Library (RSL) with ARC (Automatic Reference Counting) for managed memory.
- Implemented GPT-compliant partition manager with CRC32 verification.
- Developed RNAFS filesystem driver with bitmap-based block allocation and packed 128-byte directory entries.
- Fixed disk model: Dedicated 16MB system ramdisk at 0x4000000, separate from program memory.
- Finalized Root Makefile with 'make run', 'make disk', 'make menuconfig', and 'make setup' targets.
- Professional Tooling: MenuConfig utility (scripts/menuconfig.py) and Font Studio (tools/fontgen.html).
- Pure source-only repository: Removed all binary blobs and object files.
- Fully documented system design in ARCHITECTURE.md.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Created CODEBASE.md with a detailed guide to the repository structure and system design.
- Implemented Mandatory Signature Handshake (0xDEADBEEF) between Loader and Kernel.
- Fixed RNAFS filesystem alignment (128-byte packed entries) and bitmap allocation.
- Implemented GPT compliance with CRC32 recomputation.
- Separated system ramdisk (0x4000000) from program memory (0x3000000).
- Finalized Makefile with 'make run' and 'make setup' targets.
- Verified source-only build and Two-Stage Handover process.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented Two-Stage Handover: Stage 1 Loader (UEFI) verifies Kernel signature (0xDEADBEEF) and jumps to Stage 2 (Raw Binary) at KERNEL_BASE + 4.
- Bridged Linker Mismatch: Updated Makefile and boot/linker.ld to dynamically use CONFIG_KERNEL_BASE via --defsym.
- Established Professional Service Registry & Event Loop in kernel/main.c.
- Developed RTECH Standard Library (RSL) with ARC (Automatic Reference Counting) for managed memory.
- Implemented GPT-compliant partition manager with CRC32 verification and blank GPT bootstrapping.
- Developed RNAFS filesystem driver with bitmap-based block allocation and packed 128-byte directory entries.
- Fixed disk model: Dedicated 16MB system ramdisk at 0x4000000, separate from program memory.
- Finalized Root Makefile with 'make run', 'make disk', 'make menuconfig', and 'make setup' targets.
- Professional Tooling: MenuConfig utility (scripts/menuconfig.py) and Font Studio (tools/fontgen.html).
- Pure source-only repository: Removed all binary blobs and object files.
- Comprehensive technical specification in CODEBASE.md and architecture rules in ARCHITECTURE.md.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Comprehensive Implementation Report in CODEBASE.md: Detailed technical documentation of the service registry, Two-Stage Handover, ARC memory model, GPT/RNAFS storage stack, RSL library, and freestanding drivers.
- Mandatory Signature Handshake (0xDEADBEEF) implemented between UEFI Loader and Kernel.
- Bridged Linker Mismatch: Makefile and boot/linker.ld dynamically use CONFIG_KERNEL_BASE.
- Developed RTECH Standard Library (RSL) with Managed ARC memory and high-level abstractions.
- Implemented GPT-compliant partition manager with CRC32 verification.
- Developed RNAFS filesystem with bitmap allocation and packed 128-byte entries.
- Fixed disk model: Dedicated 16MB system ramdisk at 0x4000000.
- Advanced Tooling: MenuConfig utility, Font Studio, and RNAFS Tool.
- Source-only repository with strict architecture rules in ARCHITECTURE.md.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…alization.

- Implemented /CONNECT Connection Registry as the hardware source of truth.
- Developed VDISK Suit for relative LBA storage virtualization and signature verification.
- Refactored RNAFS to operate through the VDISK layer, supporting multiple hardware types.
- Implemented Two-Stage Handover (UEFI to Freestanding Kernel) with Mandatory Signature Handshake.
- Established Professional Service Registry & Event Loop 'Ritual' in main.c.
- Developed RTECH Standard Library (RSL) with Managed ARC memory.
- Implemented GPT-compliant partition manager with CRC32 verification.
- Added professional tools: MenuConfig, Font Studio, and RNAFS Tool.
- Documented implementation details in CODEBASE.md and architecture rules in ARCHITECTURE.md.
- Pure source-only repository state verified.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented #UD Diagnostic: Added 'WHERES_THE_BEEF' protocol to detect uninitialized memory execution at 0xB0000.
- Established /CONNECT Registry: Centralized physical device tracking (DISK, RAM, USB) with PHYSICAL.CFG metadata.
- Developed VDISK Suit: Virtualized relative LBA access layer with mandatory 0xDEADBEEF signature verification.
- Refactored RNAFS: Now operates through the VDISK abstraction, enabling cross-hardware compatibility.
- Implemented ARA Collision Detection: Runtime checks in the Connection Registry to prevent heap/ramdisk overlap with low-memory segments.
- Bridged Linker Mismatch: Dynamic KERNEL_BASE injection via Makefile and --defsym, ensuring binary alignment.
- Finalized Two-Stage Handover: UEFI Loader verifies Kernel handshake before jumping to freestanding Stage 2.
- Comprehensive Implementation Documentation in CODEBASE.md and ARCHITECTURE.md.
- Source-only repository state maintained.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
…umentation.

- Exhaustive Technical Implementation Report (CODEBASE.md): Granular breakdown of every file's role and internal code logic (GDT, Stack, VDISK, ARC, RNAFS).
- Fixed Shell Execution: Implemented memory-based handover and updated programs/linker.ld to resolve relocation crashes.
- Enhanced Kernel Stability: Explicitly re-initialized GDT and allocated dedicated kernel stack at 32MB.
- Advanced Storage Virtualization: Implemented /CONNECT Registry and VDISK Suit with mandatory signature verification.
- Stabilized Build System: Added 'make iso' (xorriso) and refined 'make disk' for UEFI compatibility.
- Resolved #UD Diagnostic: Implemented 'WHERES_THE_BEEF' protocol for uninitialized memory inspection.
- Pure source-only repository state maintained.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Comprehensive file-by-file breakdown: Documented the technical implementation logic for every file in the repository.
- Detailed code-level explanations: Included logic for GOP discovery, memory handover, LBA virtualization, GPT CRC32 engines, ARC memory prefix-headers, and freestanding PS/2 polling.
- Architectural Alignment: Explained how each file's specific code fulfills the modular 'Ritual' requirements of ARCHITECTURE.md.
- Build system verification: Confirmed the system compiles from pure source and remains artifact-free after cleaning.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Added gdt_init() declaration to kernel/unice64/kernel.h.
- Updated Makefile to use --defsym=KERNEL_BASE for dynamic linking.
- Updated boot/linker.ld to use the KERNEL_BASE symbol.
- Refactored loader and kernel main to honor CONFIG_KERNEL_BASE for handover and stack setup.
- Updated CODEBASE.md with technical implementation logic.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Renamed kernel to 'os2.bin' and updated load logic to 0x100000 (1MB).
- Implemented 'entry.asm': Clear interrupts (cli), Load custom GDT (rsl_gdt_pointer), retfq to flush CS, and 16KB fresh stack.
- Refactored 'loader/entry.c' to use gnu-efi (InitializeLib, Print, LibFileInfo) and the 'Opaque Sheep' branding.
- Updated 'boot/linker.ld' and 'programs/linker.ld' for exact memory alignment.
- Integrated NASM into the build system and fixed '_GLOBAL_OFFSET_TABLE_' relocation errors.
- Verified 'Mandatory Beef Check' (0xDEADBEEF) signature at 0x100000.
- Updated 'CODEBASE.md' implementation report with new handover details.
- Pure source-only repository state maintained.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Implemented Two-Stage Handover: UEFI Stage 1 ('Diplomat') to freestanding Stage 2 ('Dictator', os2.bin).
- Hardened Loader: Added robust 'Sledgehammer' error checking for all UEFI protocols to prevent NULL pointer dereferences and Page Faults.
- Custom Kernel Entry: Developed 'entry.asm' with interrupt clearing (cli), private GDT loading (lgdt/retfq), and dedicated stack initialization.
- Renamed and Linked Kernel: Produced 'os2.bin' linked at physical address 0x100000 (1MB).
- Enhanced Build System: Integrated NASM and xorriso; fixed '_GLOBAL_OFFSET_TABLE_' relocation errors via compiler flags.
- Comprehensive Documentation: Updated 'CODEBASE.md' with file-specific technical implementation details.
- Verified Mandatory Signature Handshake (0xDEADBEEF) and source-only repository integrity.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Added `loader/panic.asm` for low-level register capture (RAX-R15).
- Implemented `loader_panic_handler` in `entry.c` with serial COM1 mirroring.
- Fixed RNAFS bitmap leak by implementing deallocation on file overwrite.
- Enhanced ARC memory management with a 'Free List' for actual reclamation.
- Sanitized repository of all binary artifacts and object files.
- Updated `ARCHITECTURE.md` and `CODEBASE.md` with implementation details.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
- Consolidated loader and kernel into a single EFI binary (BOOTX64.EFI).
- Implemented `efi_main` entry in `kernel/unice64/efi_entry.c`.
- Integrated UEFI protocol handling (GOP, FileSystem) directly into the kernel.
- Fixed type conflicts and symbol naming collisions with gnu-efi headers.
- Updated Makefile to use Q35 machine and OVMF for robust UEFI emulation.
- Sanitized repository of all binary artifacts.

Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant