-
Notifications
You must be signed in to change notification settings - Fork 0
SQRELF Formats
NtinosTheGamer2324 edited this page Feb 11, 2026
·
1 revision
ModuOS userland programs and related binaries use the SQRELF naming convention.
-
SQR == SQRELF == Squirrel Executable and Linkable Format
- Typical file extension:
.sqr - Meaning: a normal executable program (similar role to an ELF executable on Linux).
- Typical file extension:
-
SQRM == SQRELFM == Squirrel Executable and Linkable Format Module
- Typical file extension:
.sqrm - Meaning: a loadable module (kernel module / driver module).
- Typical file extension:
-
SQRL == SQRELFL == Squirrel Executable and Linkable Format Library
- Typical file extension:
.sqrl - Meaning: a shared/static library style binary meant to be linked against.
- Typical file extension:
At a binary level, ModuOS currently builds userland programs with an ELF64 toolchain (x86_64-elf-gcc + x86_64-elf-ld).
The SQR/SQRM/SQRL names are therefore:
- A project naming convention for what the binary represents (executable/module/library)
- A file extension convention used by the ModuOS ecosystem
In other words:
-
.sqrfiles are effectively ELF64 executables used by ModuOS.
- ISO image apps:
targets/AMD64/iso/Apps/*.sqr - Example apps shipped on the ISO:
cat.sqr,echo.sqr,memtest.sqr,sh.sqr,neofetch.sqr
cd userland
x86_64-elf-gcc -c program.c -o program.o
x86_64-elf-ld -T user.ld program.o -o program.sqr