2026-07-02 15:40:39 +08:00
|
|
|
|
timeout: 0
|
|
|
|
|
|
serial: yes
|
|
|
|
|
|
verbose: yes
|
|
|
|
|
|
|
|
|
|
|
|
/UTSM boot
|
|
|
|
|
|
protocol: limine
|
|
|
|
|
|
kernel_path: boot():/boot/utsm.elf
|
|
|
|
|
|
module_path: boot():/driver/manifest.json
|
|
|
|
|
|
module_cmdline: dkm:manifest
|
|
|
|
|
|
|
|
|
|
|
|
module_path: boot():/driver/platform/timer.drv
|
|
|
|
|
|
module_cmdline: dkm:timer
|
|
|
|
|
|
module_path: boot():/driver/platform/apic.drv
|
|
|
|
|
|
module_cmdline: dkm:apic
|
|
|
|
|
|
module_path: boot():/driver/platform/acpi.drv
|
|
|
|
|
|
module_cmdline: dkm:acpi
|
|
|
|
|
|
module_path: boot():/driver/bus/pci.drv
|
|
|
|
|
|
module_cmdline: dkm:pci
|
|
|
|
|
|
module_path: boot():/driver/console/console_fb.drv
|
|
|
|
|
|
module_cmdline: dkm:console_fb
|
|
|
|
|
|
module_path: boot():/driver/block/ahci.drv
|
|
|
|
|
|
module_cmdline: dkm:ahci
|
|
|
|
|
|
module_path: boot():/driver/block/nvme.drv
|
|
|
|
|
|
module_cmdline: dkm:nvme
|
2026-07-31 13:53:49 +08:00
|
|
|
|
module_path: boot():/driver/block/xhci.drv
|
|
|
|
|
|
module_cmdline: dkm:xhci
|
2026-07-02 15:40:39 +08:00
|
|
|
|
module_path: boot():/driver/fs/bootfs.drv
|
|
|
|
|
|
module_cmdline: dkm:bootfs
|
|
|
|
|
|
module_path: boot():/driver/fs/vfs.drv
|
|
|
|
|
|
module_cmdline: dkm:vfs
|
|
|
|
|
|
module_path: boot():/driver/fs/fat32.drv
|
|
|
|
|
|
module_cmdline: dkm:fat32
|
|
|
|
|
|
module_path: boot():/driver/fs/devfs.drv
|
|
|
|
|
|
module_cmdline: dkm:devfs
|
|
|
|
|
|
module_path: boot():/driver/net/e1000.drv
|
|
|
|
|
|
module_cmdline: dkm:e1000
|
|
|
|
|
|
module_path: boot():/driver/net/virtio_net.drv
|
|
|
|
|
|
module_cmdline: dkm:virtio_net
|
2026-07-03 12:59:59 +08:00
|
|
|
|
module_path: boot():/driver/net/ath9k.drv
|
|
|
|
|
|
module_cmdline: dkm:ath9k
|
2026-07-02 15:40:39 +08:00
|
|
|
|
module_path: boot():/driver/input/ps2kbd.drv
|
|
|
|
|
|
module_cmdline: dkm:ps2kbd
|
|
|
|
|
|
module_path: boot():/system/deshab64/deshab.elf
|
|
|
|
|
|
module_cmdline: dsk:main
|
|
|
|
|
|
module_path: boot():/driver/test.fat32
|
|
|
|
|
|
module_cmdline: dkm:test_fat32
|
2026-07-28 12:00:02 +08:00
|
|
|
|
|
2026-07-31 13:53:49 +08:00
|
|
|
|
# FUCK — 内核启动配置文件(INI 分区格式)
|
|
|
|
|
|
# UTSM 通过此 boot module 读取配置(cmdline="fuck:config")
|
|
|
|
|
|
# DSK 通过 FAT32 子目录遍历读取(路径 /system/deshab64/FUCK)
|
|
|
|
|
|
module_path: boot():/system/deshab64/FUCK
|
|
|
|
|
|
module_cmdline: fuck:config
|
|
|
|
|
|
|
2026-07-28 14:35:14 +08:00
|
|
|
|
# Linux 6.6 LTS guest kernel (UTSM+Linux dual-kernel Linux compat layer)
|
|
|
|
|
|
# Uncomment after building Linux via CODE/linux/build.sh (requires WSL/Linux).
|
|
|
|
|
|
#
|
|
|
|
|
|
# Boot flow with these modules:
|
|
|
|
|
|
# 1. Limine loads utsm.elf + all .drv modules + bzImage + initrd
|
|
|
|
|
|
# 2. UTSM boots, init VMM/EPT, self-test
|
|
|
|
|
|
# 3. UTSM linux_loader_init() finds bzImage module, parses + maps guest
|
|
|
|
|
|
# 4. UTSM ipc_shm_init() allocates 1MB IPC shared memory (EPT-mapped)
|
|
|
|
|
|
# 5. UTSM linux_launch() → vmlaunch → Linux boots → init starts daemon
|
|
|
|
|
|
# 6. Daemon sends EXEC_READY, then ioctl(PARK) → HLT → VM-Exit → park
|
|
|
|
|
|
# 7. UTSM linux_compat_init() marks Linux compat layer ready
|
|
|
|
|
|
# 8. UTSM loads DSK (deshab.elf) → shell.elf → `linux <prog>` command
|
|
|
|
|
|
# invokes linux_compat_service->exec() → vmresume → daemon runs prog
|
|
|
|
|
|
#
|
2026-07-28 21:11:10 +08:00
|
|
|
|
# Linux 兼容层模块(需先通过 WSL 运行 CODE/linux/build.sh 构建产物)
|
|
|
|
|
|
# build.sh 成功后会自动取消下面 4 行注释;若未构建 Linux 内核请保持注释状态
|
2026-08-09 22:14:01 +08:00
|
|
|
|
# module_path: boot():/boot/linux-bzImage
|
|
|
|
|
|
# module_cmdline: linux:bzImage
|
|
|
|
|
|
# module_path: boot():/boot/linux-initrd.img
|
|
|
|
|
|
# module_cmdline: linux:initrd
|
2026-07-31 13:53:49 +08:00
|
|
|
|
# Arch Linux rootfs (ext4) — exposed to Linux guest as virtio-blk /dev/vdb
|
|
|
|
|
|
# via memory-backed virtio-mmio backend (GPA 0xF4002000, IRQ7).
|
|
|
|
|
|
# initramfs init mounts this and switch_root's into Arch /sbin/init.
|
|
|
|
|
|
# build_arch_rootfs.sh produces this file; uncomment after building.
|
2026-08-09 22:14:01 +08:00
|
|
|
|
#module_path: boot():/boot/linux-rootfs.img
|
|
|
|
|
|
#module_cmdline: linux:rootfs
|
|
|
|
|
|
# VSCode Phase 4: 持久 rw 卷 (ext4) — virtio-blk slot6 可写后端
|
|
|
|
|
|
# (GPA 0xF4006000, IRQ11) 暴露为 /dev/vdc,用作 overlayfs upperdir
|
|
|
|
|
|
# 与 VSCode 数据卷。由 CODE/linux/build_extra_rootfs.sh 生成。
|
|
|
|
|
|
# 文件不存在时 Limine 会报 module 加载失败 —— 构建脚本未生成该文件时
|
|
|
|
|
|
# 请保持下面两行注释(后端对缺失 module 安全降级)。
|
|
|
|
|
|
#module_path: boot():/boot/linux-extra-rootfs.img
|
|
|
|
|
|
#module_cmdline: linux:extra_rootfs
|
|
|
|
|
|
|
|
|
|
|
|
# OpenXJ380 第三内核(三内核架构路线 B:XJ380 作为第二 guest)。
|
|
|
|
|
|
# 把 OpenXJ380 构建产物 out/kernel.krl 复制为 SYSTEM/boot/xj380.krl 后
|
|
|
|
|
|
# 取消下面两行注释;UTSM 的 xj380_loader 会把它作为 VM guest 加载。
|
|
|
|
|
|
# 文件不存在时 Limine 会报 module 加载失败 —— 未构建前保持注释状态。
|
|
|
|
|
|
#module_path: boot():/boot/xj380.krl
|
|
|
|
|
|
#module_cmdline: xj380:kernel
|
|
|
|
|
|
|
|
|
|
|
|
# VSCode Phase 5: VSCode tarball(官方 VSCode-linux-x64 .tar.gz)—
|
|
|
|
|
|
# 由 lxc_vscode_install() 流式推入 guest 并解包到 /opt/vscode
|
|
|
|
|
|
# (overlay 持久化,二次启动自动跳过)。把 tarball 放到
|
|
|
|
|
|
# SYSTEM/boot/linux-vscode.tar.gz 后取消下面两行注释。
|
|
|
|
|
|
#module_path: boot():/boot/linux-vscode.tar.gz
|
|
|
|
|
|
#module_cmdline: linux:vscode
|