32-bit x86 OS capable of running console user application.
Please find all releases at https://github.com/scopeInfinity/FuzzyOS/releases
The boot image can be found under Assets
for the corresponding release.
The screenshots can be located as Artifacts
under completed run on Actions/CI.
Bootloader | Kernel Turnup |
---|---|
![]() |
![]() |
Simple Shell | TicTacToe Game |
---|---|
![]() |
![]() |
fork() | cat |
---|---|
![]() |
![]() |
- Download image from one of the Release.
- Or directly build image using
make images
after cloning the repository.
- Create Virtual Machine Disk with fixed size of 4MB.
- Burn
image.vmdk
tonew-disk-flat.vmdk
bash scripts/burn.sh /path/to/image.vmdk /path/to/build/new-disk-flat.vmdk
- Or simply replace
new-disk-flat.vmdk
with a sym-link tobuild/image.vmdk
(for rapid development 😁)
- Use
dd
orscripts/burn.sh
to burn image into the disk (potentially destructive). bash scripts/burn.sh build/image.vmdk /path/to/devicefile
- Try formatting device MBR with a FAT partition.
- And then burn the image again.
bash before_install.sh
make clean
make qemu
Use make to build binaries and image files.
make
At this moment tests works by injecting predefined ASM in the source code which halts the execution at the point of interest. After that tests can make use of QEMU monitor to verify the current state with expected state.
make test
Execute QEMU in debug mode and setup GDB server.
make qemu_debug
And then connect to GDB Server.
make qemu_debug_connect