107 lines
5.1 KiB
Plaintext
107 lines
5.1 KiB
Plaintext
# Disk layout (CODE/linux/pack_system_image.sh):
|
|
# GPT p1 FAT32 ESP — /EFI /limine /boot /driver /system
|
|
# Limine 10 cannot read ext4; boot(): modules must stay on the ESP.
|
|
# GPT p2 ext4 — remaining SYSTEM/ (user/lib/bin/program + copies)
|
|
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")
|
|
# 文件在 ext4 数据分区;DSK 运行时仍可从 SATA FAT32 测试盘读同名路径
|
|
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 <prog>` 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.
|
|
# Produced by CODE/linux/build_arch_rootfs.sh into SYSTEM/boot/.
|
|
# Packer only reads SYSTEM/; do not load these from /home or other paths.
|
|
module_path: boot():/boot/linux-rootfs.img
|
|
module_cmdline: linux:rootfs
|
|
# Persistent extra-rootfs stays on the ESP as a file. Do NOT load it as a
|
|
# Limine boot module: ~4GiB into RAM kills 6G WSL QEMU during
|
|
# "Loading module linux-extra-rootfs.img". virtio-blk /dev/vdc maps
|
|
# boot/linux-extra-rootfs.img through AHCI instead.
|
|
#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
|