δέος (déos) — Dee Operating System
Build operating system for workplace computers, using best available open source components.
- developer friendly
- reasonably unix-compliant
- lean base system
- LSB compliance
- applications distribution
- See
tools/tc-build/README.md
for a list of required host tools. - Additionall host tools:
- D language compiler
- pahole (
dnf install dwarves
) - expat headers (
dnf install expat-devel
)
- QEmu needs you to be running Linux kernel with KVM support.
⚠️ This repository makes heavy use of git submodules, so you need togit clone --recursive
⚠️ Some of submodules store copious amount of data. You are advised to clone--depth 1
make toolchain sysroot compdb kernel kernel_modules
ninja && ./qemu.sh
You need to be running Linux kernel with binderfs
support.
ninja -f chroot.ninja out/system.content && ./chroot.sh out/system /tests/kits
Clone Weston and make a local build for host. Then run it:
($DOS_DIR
is a directory with this repository working copy.)
XDG_RUNTIME_DIR=$DOS_DIR/out/system/run build/compositor/weston
Having Weston window open run in another terminal window:
ninja -f chroot.ninja out/system.content && ./chroot.sh out/system env XDG_RUNTIME_DIR=/run WAYLAND_DISPLAY=wayland-1 WAYLAND_DEBUG=1 /tests/interface_window
To run tests that require system services you need to build using -f debug.ninja
and run the following services on dedicated terminals:
ninja -f debug.ninja out/system.content && ./chroot.sh out/system /system/bin/servicemanager
ninja -f debug.ninja out/system.content && ./chroot.sh out/system /system/libexec/app_server
then run test:
ninja -f debug.ninja out/system.content && ./chroot.sh out/system /tests/app_message_runner