feat(panic): FUCK [panic] mode=strict|fallback + realtest image variant

- UTSM panic_full returns in fallback mode (logs [PANIC:FALLBACK] + code + hit
  count); panic_halt keeps always-halt sites (CPU exception, VMM-E11 LA57,
  VMM-E15 DSK jump, UTSM-E42 test hook). Call sites given safe continuations.
- Mode passed to DSK/FirstInit/login/desktop via DSK_BOOT_FLAG_PANIC_FALLBACK;
  DKM kernel_api.panic / kern.log.panic return to driver; ext4 fatal aborts the
  op via setjmp/longjmp and DSK falls back to FAT32 ESP.
- build.ps1/Makefile: dev=strict, release=fallback, new realtest (release
  options + strict); default -Variant all; serialized iso packing under -j.
- Fix '*/' inside comments (dkm.h, kernel_api.h, bus.c) that broke the build.
- Includes pending work: dkm_bus service bus, mt7920/wlan drivers, desktop
  files/startmenu/prank, pe-tools, diskinfo, docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Linehu
2026-10-12 23:57:19 +08:00
co-authored by Cursor
parent a7e5b2bc7a
commit 8554a82677
84 changed files with 7325 additions and 484 deletions
+29
View File
@@ -0,0 +1,29 @@
# Deshab 开始菜单注册表(desktop 启动时解析,FAT32 根目录)
# 格式: NAME|显示名|path|args ('args' 可省略)
#
# path 四种:
# builtin:<name> → 已注册内置应用(editor/calc/fileman/settings/shell/cmd/browser/proedit)
# program/xxx.exe → GUI PE 应用(SYSTEM/program/,g++ 编译,桌面窗口嵌入运行)
# bin/xxx.exe → PE 应用(同上;纯控制台 exe 请从 CMD 运行,不入菜单)
# bin/xxx.elf → ELF 工具(SYSTEM/bin/,全屏加载,Esc/退出返回桌面)
# /guest/path → Linux guest 应用(需 Linux 兼容层在线)
#
# 显示名允许 UTF-8 中文(开始菜单瓦片标签);NAME 须 ASCII(窗口标题用)。
# 文件缺失/为空时回退:全部已注册应用进开始菜单。
# CLI 工具(bin/sysinfo.exe、bin/portio.exe)不入菜单——在 CMD 里敲名字运行。
SHELL|终端|builtin:shell
CMD|CMD|builtin:cmd
EDITOR|编辑器|builtin:editor
FILEMAN|文件管理|builtin:fileman
CALC|计算器|builtin:calc
SETTINGS|设置|builtin:settings
BROWSER|浏览器|builtin:browser
PROEDIT|ProEdit|builtin:proedit
SYSINFO|系统信息|program/sysinfo.exe
CLOCK|时钟|program/clock.exe
PAINT|画板|program/paint.exe
NOTES|记事本|program/notes.exe
DISKINFO|磁盘工具|bin/diskinfo.elf
DEAICUP|Deaicup|program/Deaicup-Software.exe
VSCODE|VSCode|/opt/vscode/bin/code|--no-sandbox --disable-gpu
Binary file not shown.
Binary file not shown.
+8
View File
@@ -171,6 +171,14 @@
"depends": ["pci", "irq"],
"provides": ["netdev"]
},
{
"name": "mt7920",
"path": "driver/net/mt7920.drv",
"class": "net",
"required": false,
"depends": ["pci"],
"provides": ["netdev"]
},
{
"name": "ath9k",
"path": "driver/net/ath9k.drv",
+6
View File
@@ -44,6 +44,12 @@ verbose: yes
module_cmdline: dkm:virtio_net
module_path: boot():/driver/net/ath9k.drv
module_cmdline: dkm:ath9k
module_path: boot():/driver/net/mt7920.drv
module_cmdline: dkm:mt7920
module_path: boot():/driver/fw/mediatek/MT7920PA.BIN
module_cmdline: fw:mt7920_patch
module_path: boot():/driver/fw/mediatek/MT7920RAM.BIN
module_cmdline: fw:mt7920_ram
module_path: boot():/driver/input/ps2kbd.drv
module_cmdline: dkm:ps2kbd
module_path: boot():/system/deshab64/deshab.elf
+51 -17
View File
@@ -33,6 +33,7 @@ devfs=1
e1000=1
virtio_net=1
ath9k=0
mt7920=1
ps2kbd=1
ioapic_init=1
lapic_enable=1
@@ -61,6 +62,15 @@ demo_fault=0
[drr]
watchdog_enabled=1
# === panic 策略 ===
# mode=strict :未实现/异常一律 panic(莲花屏停机),STUB 规约默认行为。
# mode=fallback :panic 点只记串口坐标 [PANIC:FALLBACK] 后走备用路径继续启动
# (跳过该能力/驱动/页面);CPU 异常、LA57、DSK 跳转失败仍停机。
# 非 fallback 的任何值均按 strict 处理。
[panic]
# dev:启用 panic(strict),零降级
mode=strict
# === SAS-R0 启动期能力证明(attest) ===
# require_<name>=1(默认)而能力未就绪 → 启动即莲花屏 panic。
# require_<name>=0 是设计内白名单:仅限"该构建环境不可能具备"或
@@ -96,6 +106,30 @@ mouse_init=1
netman=1
session=native
# === "极差用户体验" 整蛊系统 ===
# enable=1 打开总开关;下列各项 =0 可单独关闭。
# 触发:开机进桌面后 boot_demo_sec 秒串烧演示 + 使用中每 interval_sec 秒随机一个。
[prank]
enable=1
# 进桌面后串烧演示秒数(用于验证效果),0=关
boot_demo_sec=5
# 使用中自动整蛊间隔(秒),0=关
interval_sec=60
# 屏幕压暗 + 特大 FUCK 跟随鼠标后消失
fuck_cursor=1
# 假蓝屏(Win 风格)
fake_bsod=1
# 全屏反色闪烁
invert_flash=1
# 假"程序未响应"对话框
fake_hang=1
# 打字乱码(按键被随机重映射)
garble_typing=1
# 任务栏图标乱飞
taskbar_fly=1
# 假"系统即将关机"倒计时
fake_shutdown=1
[debug]
enabled=1
log_level=1
@@ -116,20 +150,20 @@ lib_path=lib
linux_lib_guest_path=/usr/lib/deshab
linux_lib_sync=1
pe_dll_search=1
-4
View File
@@ -1,4 +0,0 @@
编辑器
EDITOR ELF
/system/deshab64/tools/editor.elf
editor