SchOS/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz f4107177ea boot: the disc that could not be chainloaded, and the error nobody could see
Reported from a real laptop booting through Ventoy: the F8 menu appears,
selecting Boot SchOS gives a black screen and a white dash in the corner.
Both halves of that are bugs.

The disc could not be chainloaded. Booting it directly, firmware runs the
El Torito FAT image and the loader opens \schos\kernel on that volume,
which is where mkiso.sh put it. Ventoy does not use El Torito at all: it
mounts the ISO 9660 tree and runs \EFI\BOOT\BOOTX64.EFI from there. The
loader then looks for the kernel on the volume it was itself loaded from
-- the ISO tree -- and the kernel was only ever inside the FAT image. It
is now in both. The comment in mkiso.sh had even described this failure,
as the reason the kernel is in the FAT image, without noticing the ISO
tree had the same requirement.

The error was invisible. print() redirects to the serial port once the
splash is up, which is right for a development machine and useless on a
laptop: the loader died with a perfectly good explanation and sent it to
a wire nobody was holding. What is left on screen is the firmware's own
cursor -- the white dash. die() now draws the message on the framebuffer
too, over a cleared band so it does not land on the logo.

Verified by reproducing the exact failure: the ISO tree extracted and
booted as a plain volume, as a chainloader presents it. With the kernel
removed it dies visibly with "no kernel at \schos\kernel or \kernel, EFI
status 0x000E" -- EFI_NOT_FOUND, which is what the laptop was hitting
silently. With it present, that same volume boots through to a shell.

110 [ok] on the ESP path, the ISO check passes, no failures.
2026-08-11 11:54:47 +02:00
..
posix boot: the disc that could not be chainloaded, and the error nobody could see 2026-08-11 11:54:47 +02:00
python tools: group scripts by what runs them 2026-08-09 14:38:02 +02:00
windows boot/uefi: the system information panel, and the offset that faked a version 2026-08-11 10:52:43 +02:00
mkfs.c Fix two bugs the Fedora move exposed 2026-08-09 19:29:21 +02:00
mkschfs.c schfs_fsck: list snapshots, and mkschfs can make one 2026-08-10 19:33:54 +02:00
pr.pl Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
qrtest.c Rename Schunix to SchOS; the kernel becomes SchIFT 2026-08-09 14:09:59 +02:00
schfs_fsck.c schfs_fsck: list snapshots, and mkschfs can make one 2026-08-10 19:33:54 +02:00
schfs_objtest.c schfs: snapshots 2026-08-10 19:10:24 +02:00
schfs_test.c Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
ttftest.c Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
vectors.pl Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00