This repository combines the Lambda kernel, userspace library, and a small set of userspace utilities to act as a "reference implementation" of sorts for the Lambda kernel.
To be able to build Lambda OS, you need the following tools:
gcc
orclang
(Use cross-compiler if necessary)make
cpio
eu-readelf
(elfutils)- For X86 target
- For floppy image:
mkdosfs
mcopy
- For ISO image:
xorriso
grub-mkrescue
- GRUB
stage2_eltorito
should be placed inbuild/CD/boot/grub
- This can be found online, or from an installation of GRUB legacy
- For floppy image:
To build Lambda OS:
- If fisrt time
- Clone the
lambda-os
repository. - Update submodules:
git submodule update --init
- Clone the
- If not first time
git pull
git submodule update
- Make:
make
- To speed up compilation, add
-j<threads>
argument to themake
command - Defaults to x86 ISO
- For clang:
make CC=clang AS=clang
- 1.44MiB floppy target:
make floppy
- ISO target:
make cdrom
- For clang:
- For ARMv7:
make ARCH=armv7 CROSS_COMPILE=<gcc prefix>
- NOTE: ARMv7 target currently still creates x86 ISO, no image format has yet been selected for this architecture.
- To speed up compilation, add