feat: FS-E strict filesystem mode - ext4 rw driver, FAT32 big-disk fix, forced re-login
- CODE/dsk/ext4.c: minimal full ext4 read/write (GPT probe, feature gate, extent depth 0/1 rw, block/inode alloc-free, dir insert, write-verify); boot selftest PASS on p2. Unsupported features panic (FS-E2x), zero fallback. - DSK fat32 write: on-demand FAT entry RMW + chunked free-cluster scan (fixes "no free clusters" on 5.3G ESP); rec_len shrink offset (+4) and chunk alignment fixes. USER.CONF write-verify ok, firstInit flip ok. - First-boot: wizard -> persist -> forced login (FS-E06 if skipped/failed) -> desktop. login.elf loaded via system/user/use fallback. - FirstInit network page: Connect now panics NET-E01 (no wlan stack); Save (config only) is the only path forward. - FirstInit/DSK fatal: ohMyLogo lotus fatal screen (NET-E01 / FS-E series). - Boot screen: Logo.png image removed, "DESHAB P01" text centered only; dcp/xj logos regenerated from TEXTURES/. - run_qemu.bat: main GPT image on SATA ide.0 (AHCI provider must see ext4).
This commit is contained in:
@@ -174,7 +174,11 @@ if [[ "$esp_bytes" -ge $((4096 * 1024 * 1024)) ]]; then
|
||||
fi
|
||||
|
||||
mkfs.vfat -F 32 -n DESHABBOOT -s "$fat_cluster_sectors" "$p1" >/dev/null
|
||||
mkfs.ext4 -F -q -L DESHAB -U "$EXT4_UUID" -m 1 "$p2"
|
||||
# DSK 内嵌 ext4 读写驱动支持范围:4K block / 256B inode / extent 树,
|
||||
# 不支持 journal、metadata_csum、64bit(遇到即 panic FS-E28)——
|
||||
# 因此这里必须显式关闭这三个 feature。
|
||||
mkfs.ext4 -F -q -L DESHAB -U "$EXT4_UUID" -m 1 \
|
||||
-b 4096 -I 256 -O ^has_journal,^metadata_csum,^64bit,^resize_inode "$p2"
|
||||
echo "[pack] filesystems:"
|
||||
blkid "$p1" "$p2" || true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user