Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,16 @@ jobs:
- name: Unit test
if: ${{ matrix.targets == 'x86_64-unknown-linux-gnu' }}
run: cargo test --target ${{ matrix.targets }} -- --nocapture
- name: Web UI unit tests
run: |
pnpm --dir ostool-server/webui install --frozen-lockfile
pnpm --dir ostool-server/webui test
pnpm --dir ostool-server/webui build
- name: Install browser for admin integration tests
run: pnpm --dir ostool-server/webui exec playwright install --with-deps chromium
- name: Web UI integration tests
env:
OSTOOL_TEST_SERVER_BIN: ${{ github.workspace }}/target/${{ matrix.targets }}/debug/ostool-server
run: pnpm --dir ostool-server/webui test:e2e
- name: Publish dry run
run: cargo publish --workspace --dry-run --locked
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
board-client 和 `cargo-osrun` 流程。
- `ostool-server/`: 开发板管理服务器,包含 API、串口会话、TFTP 文件、电源管理和
面向 systemd 的部署脚本。
- `ostool-server/webui/`: `ostool-server` 嵌入的 Vue/Vite/pnpm 前端。
- `ostool-server/webui/`: `ostool-server` 嵌入的 React/Vite/pnpm 前端。
- `jkconfig/`: 基于 Ratatui 的 JSON Schema 配置编辑器库,并提供可选 web 功能。
- `fitimage/`: 用于构建 U-Boot 兼容 FIT 镜像的库。
- `uboot-shell/`: 异步 U-Boot shell 与 YMODEM 通信库。
Expand Down
199 changes: 189 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@

See [docs/axloader-network-control.md](docs/axloader-network-control.md) for the axloader 0.2 network control, persistent MAC binding, web administration, and built-in QEMU virtual board design. The complete API contract is documented in [docs/api.md](docs/api.md).

The management console at `/admin/` uses React + shadcn/ui. In the new-board form, choose a power module and power it on before selecting a discovered MAC or entering one manually; saving completes the binding. All management pages receive SSE updates and preserve displayed data and drafts across reconnects. See [Admin UI and event protocol](docs/admin-ui.md).
At startup, incompatible board TOML files move into `quarantine/` under the board directory with their original contents and diagnostic metadata; valid boards continue to load.

**ostool** is a Rust toolset designed specifically for operating system development, aiming to provide OS developers with convenient build, configuration, and startup environments. It's particularly suitable for embedded system development, supporting system testing and debugging through Qemu virtual machines and U-Boot bootloader.

### ✨ Core Features
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@

axloader 0.2 的网络控制、持久 MAC 绑定、Web 管理和内建 QEMU 虚拟板设计见 [docs/axloader-network-control.md](docs/axloader-network-control.md),完整接口契约见 [docs/api.md](docs/api.md)。

管理后台位于 `/admin/`,使用 React + shadcn/ui。新建开发板时可先选择电源模块并手动上电,再从实时发现列表选择或手工填写 MAC;保存后完成绑定。全部管理页面采用 SSE 推送更新,断线重连保留页面与编辑草稿。详见 [管理界面与事件协议](docs/admin-ui.md)。
不兼容的板卡 TOML 会在启动时移入板卡目录下的 `quarantine/`,保留原文件和原因,其余有效板卡继续加载。

**ostool** 是一个专为操作系统开发而设计的 Rust 工具集,旨在为 OS 开发者提供便捷的构建、配置和启动环境。它特别适合嵌入式系统开发,支持通过 Qemu 虚拟机和 U-Boot 引导程序进行系统测试和调试。

### ✨ 核心特性
Expand Down
Loading