mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-21 18:44:01 +00:00
Stage 21
This commit is contained in:
52
docs/stage20.md
Normal file
52
docs/stage20.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# CLeonOS Stage20
|
||||
|
||||
## Stage Goal
|
||||
- Keep system in kernel-shell mode while ELF user shell remains deferred.
|
||||
- Stabilize terminal interaction path: PS/2 input queue + line editing shell loop.
|
||||
- Enable external PSF font loading for framebuffer TTY.
|
||||
- Keep scheduler/service/syscall/interrupt pipeline stable.
|
||||
|
||||
## What Was Implemented
|
||||
- Boot pipeline keeps kernel shell as the active interactive interface.
|
||||
- TTY supports loading external PSF font from `/system/tty.psf`.
|
||||
- Keyboard module provides:
|
||||
- PS/2 scan code handling
|
||||
- input queue buffering
|
||||
- `Alt+F1..F4` virtual TTY switch hotkeys
|
||||
- Kernel shell interactive loop is online:
|
||||
- command dispatch (`help/ls/cat/exec/clear/kbdstat` baseline)
|
||||
- line editing and history
|
||||
- TTY cursor path is timer-driven and supports blink updates via `clks_tty_tick()`.
|
||||
|
||||
## Acceptance Criteria
|
||||
- Kernel boots and prints `CLEONOS Stage20 START`.
|
||||
- Boot logs include:
|
||||
- `[INFO][TTY] EXTERNAL PSF LOADED /SYSTEM/TTY.PSF` (or fallback warning)
|
||||
- `[INFO][KBD] ALT+F1..F4 TTY HOTKEY ONLINE`
|
||||
- `[INFO][KBD] PS2 INPUT QUEUE ONLINE`
|
||||
- `[INFO][SHELL] INTERACTIVE LOOP ONLINE`
|
||||
- Typing in kernel shell produces immediate echo and command execution.
|
||||
- `Alt+F1..F4` switches active TTY without panic.
|
||||
|
||||
## Build Targets
|
||||
- `make setup`
|
||||
- `make userapps`
|
||||
- `make iso`
|
||||
- `make run`
|
||||
- `make debug`
|
||||
|
||||
## QEMU Command
|
||||
- `qemu-system-x86_64 -M q35 -m 1024M -cdrom build/CLeonOS-x86_64.iso -serial stdio`
|
||||
|
||||
## Common Bugs and Debugging
|
||||
- Cannot type in shell:
|
||||
- Ensure QEMU window has keyboard focus.
|
||||
- Check logs for keyboard queue online messages.
|
||||
- External PSF not applied:
|
||||
- Verify `/system/tty.psf` exists in ramdisk package.
|
||||
- If load fails, system will fall back to built-in font.
|
||||
- Hotkey switching does not work:
|
||||
- Confirm `Alt` is held while pressing `F1..F4`.
|
||||
- Check `[INFO][TTY] HOTKEY SWITCH` logs.
|
||||
- Input lag feels high:
|
||||
- Increase shell input budget or scheduler frequency in later stage.
|
||||
Reference in New Issue
Block a user