BrightS 是一个跨平台系统内核。
-
现代 x86_64 内核,核心设计尽量简单、可检查、可理解
-
支持物理机和 QEMU 下的 UEFI 启动
-
保持清晰的目录分层:
/sys(内核)、/usr(用户空间)、/opt(包)、/config(配置) -
Modern x86_64 kernel with simple, inspectable core design
-
UEFI boot on physical hardware and QEMU
-
Clear tree split:
/sys(kernel),/usr(userspace),/opt(packages),/config(configuration)
-
UEFI 入口和基础平台初始化已经可用
-
串口控制台输出已经可用,QEMU 下可通过
-serial stdio使用 -
已接入 PCI 扫描和存储探测流程:
-
NVMe优先 -
AHCI次之 -
最后回退到 RAM disk
-
块设备根盘选择逻辑已工作
-
已有 Btrfs 挂载路径,并通过串口日志报告成功或失败
-
UEFI entry and basic platform bring-up are working.
-
Serial console output is available (
-serial stdioin QEMU). -
PCI scan and storage probing are wired:
-
NVMe first
-
AHCI second
-
RAM disk fallback
-
Block layer root device selection is working.
-
Btrfs mount path is present and reports mount success/failure via serial logs.
-
补齐剩余核心 stub:
proc/sched/sleep/signal/kmalloc/clock -
扩展 VFS 和设备 inode 路径
-
增加可重复执行的启动和运行时测试
-
Fill remaining core stubs (
proc/sched/sleep/signal/kmalloc/clock) -
Extend VFS/device inode paths
-
Add repeatable boot/runtime tests
构建和运行方式见 docs/build.md。
See docs/build.md.
系统启动后,BrightS 会进入串口 shell 提示符(guest$ 或 root#)。
After boot, BrightS enters a serial shell prompt (guest$ or root#).
当前 shell 行为:
- 维护当前工作目录(
pwd、cd) - 路径支持
/、相对路径、.和.. - RAMFS 现在同时支持目录和普通文件
- 系统和维护命令统一收敛到
bst procom
Current shell behavior:
- Working directory is tracked (
pwd,cd) - Paths support
/, relative paths,.and.. - RAMFS now models directories and regular files
- System and maintenance commands are grouped under
bst procom
用户和系统目录布局:
- 系统核心文件:
/sys/* - 用户文件:
/usr/home/*和/usr/home/<username>/* - 软件包:
/bin/pkg/*- BSPM包管理器安装器:
/bin/pkg/bspm - 包数据库:
/bin/pkg/.db/* - BSPM独立仓库:https://github.com/s12mcOvO/BrightS_Package_Manager
- BSPM包管理器安装器:
- 用户软件配置:
/bin/config/<username>/example.pf - 固件包:
/bin/firmware/* - 运行时环境:
/bin/runtime/*- Rust:
/bin/runtime/rust/*(rustc, cargo) - C:
/bin/runtime/c/*(gcc, clang, make) - Python:
/bin/runtime/python/*(python3, pip)
- Rust:
- 外部存储自动挂载元数据:
/mnt/drive/* /mnt/drive/.mounted/mnt/drive/fs/mnt/drive/role/mnt/drive/backend- 输入设备:
/mnt/input/* - 输出设备:
/mnt/output/* - 缓存文件:
/tmp/* - 交换分区:
/swp/*
User/system layout:
- System core files:
/sys/* - User files:
/usr/home/*and/usr/home/<username>/* - Software packages:
/bin/pkg/*- BSPM Package Manager installer:
/bin/pkg/bspm - Package database:
/bin/pkg/.db/* - BSPM repository: https://github.com/s12mcOvO/BrightS_Package_Manager
- BSPM Package Manager installer:
- User software configurations:
/bin/config/<username>/example.pf - Firmware packages:
/bin/firmware/* - Runtime environments:
/bin/runtime/*- Rust:
/bin/runtime/rust/*(rustc, cargo) - C:
/bin/runtime/c/*(gcc, clang, make) - Python:
/bin/runtime/python/*(python3, pip)
- Rust:
- External storage auto-mount metadata:
/mnt/drive/* /mnt/drive/.mounted/mnt/drive/fs/mnt/drive/role/mnt/drive/backend- Input devices:
/mnt/input/* - Output devices:
/mnt/output/* - Cache files:
/tmp/* - Swap partition:
/swp/*
系统盘策略:
- 系统启动存储当前要求为
Btrfs - 如果 Btrfs 挂载失败,内核会直接进入 halt,而不是继续启动 shell
System disk policy:
- System boot storage is expected to be
Btrfs. - If Btrfs mount fails, kernel enters halt state instead of normal shell startup.
常用命令:
- 认证:
login、logout、whoami、passwd、useradd - 配置:
profile、setpf - 导航:
pwd、cd、mkdir、rmdir - 文件:
ls、stat、cat、touch、write、append、cp、mv、rm、hexdump、echo - 包管理:
bspm install、bspm remove、bspm list、bspm search - 系统维护入口:
bst
Common commands:
- Auth:
login,logout,whoami,passwd,useradd - Profile:
profile,setpf - Navigation:
pwd,cd,mkdir,rmdir - Files:
ls,stat,cat,touch,write,append,cp,mv,rm,hexdump,echo - Package management:
bspm install,bspm remove,bspm list,bspm search - System/maintenance entry:
bst
bst 命令结构 / bst command layout:
bst helpbst procom helpbst procom versionbst procom cpubst procom memorybst procom processesbst procom clockbst procom signalsbst procom raise-signal <signo>bst procom clear-signals [signo]bst procom timebst procom keyboard-testbst procom mountbst procom clearbst procom enter-userbst procom rebootbst procom shutdown
快速示例 / Quick session example:
guest$ pwd
/
guest$ ls
config/
usr/
dev/
guest$ cd /usr/home/guest
guest$ touch note.txt
guest$ write note.txt hello
guest$ cat note.txt
hello
guest$ mkdir work
guest$ cd work
guest$ pwd
/usr/home/guest/work
命令迁移说明:
- 顶层系统/调试命令被移除,以保持常规 shell 更小
- 用
bst procom version替代uname或version - 用
bst procom memory替代mem - 用
bst procom cpu查看 CPU 厂商/家族/型号与关键特性 - 用
bst procom processes替代ps - 用
bst procom clock替代ticks - 用
bst procom signals、bst procom raise-signal、bst procom clear-signals替代signal、raise、clearsig - 用
bst procom time替代date - 用
bst procom keyboard-test替代kbdtest - 用
bst procom mount替代mount - 用
bst procom clear替代clear - 用
bst procom enter-user替代runuser - 用
bst procom reboot和bst procom shutdown替代被删除的顶层电源命令
Command migration notes:
- Top-level system/debug commands were removed to keep the normal shell small.
- Use
bst procom versioninstead ofunameorversion. - Use
bst procom memoryinstead ofmem. - Use
bst procom processesinstead ofps. - Use
bst procom clockinstead ofticks. - Use
bst procom signals,bst procom raise-signal, andbst procom clear-signalsinstead ofsignal,raise, andclearsig. - Use
bst procom timeinstead ofdate. - Use
bst procom keyboard-testinstead ofkbdtest. - Use
bst procom mountinstead ofmount. - Use
bst procom clearinstead ofclear. - Use
bst procom enter-userinstead ofrunuser. - Use
bst procom rebootandbst procom shutdowninstead of the removed top-level power commands.
本项目使用 GNU GPL v2(GPL-2.0-only)许可证,详见 LICENSE。
This project is licensed under GNU GPL v2 (GPL-2.0-only). See LICENSE.