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 module_path: boot():/driver/block/ehci.drv module_cmdline: dkm:ehci module_path: boot():/driver/block/xhci.drv module_cmdline: dkm:xhci 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 module_path: boot():/driver/net/ath9k.drv module_cmdline: dkm:ath9k 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 # FUCK — 内核启动配置文件(INI 分区格式) # UTSM 通过此 boot module 读取配置(cmdline="fuck:config") # DSK 通过 FAT32 子目录遍历读取(路径 /system/deshab64/FUCK) module_path: boot():/system/deshab64/FUCK module_cmdline: fuck:config # 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 ` command # invokes linux_compat_service->exec() → vmresume → daemon runs prog # # Linux 兼容层模块(需先通过 WSL 运行 CODE/linux/build.sh 构建产物) # build.sh 成功后会自动取消下面 4 行注释;若未构建 Linux 内核请保持注释状态 # module_path: boot():/boot/linux-bzImage # module_cmdline: linux:bzImage # module_path: boot():/boot/linux-initrd.img # module_cmdline: linux:initrd # 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. #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