A Lambda OS "reference implementation"
Find a file
2025-12-04 08:23:01 -06:00
build Use LBoot rather than Syslinux for floppy target. 2022-08-28 10:26:19 -05:00
docs x86: Fix floppy target. 2022-06-27 21:00:11 -05:00
lambda-kern@15447ac8f4 Support compressed initrd 2025-05-05 21:18:05 -05:00
lambda-lib@1917929d01 Update with lshell fixes 2022-06-05 11:51:36 -05:00
lambda-lutils@7251e130d7 Update with lshell fixes 2022-06-05 11:51:36 -05:00
lambda-modules@959bd7bb7c Update with improved module support, and higher-half x86 kernel 2022-06-29 19:40:21 -05:00
lboot@8e17bedd58 lboot: Update to resolve some buildsystem issues 2025-03-12 20:16:44 -05:00
rootfs/etc x86: Fix floppy target. 2022-06-27 21:00:11 -05:00
.gitignore Support compressed initrd 2025-05-05 21:18:05 -05:00
.gitmodules Use relative submodule paths 2025-12-04 08:23:01 -06:00
LICENSE x86: Fix floppy target. 2022-06-27 21:00:11 -05:00
Makefile Support compressed initrd 2025-05-05 21:18:05 -05:00
README.md Use LBoot rather than Syslinux for floppy target. 2022-08-28 10:26:19 -05:00

Lambda OS

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.

Building

To be able to build Lambda OS, you need the following tools:

  • gcc or clang (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 in build/CD/boot/grub
        • This can be found online, or from an installation of GRUB legacy

To build Lambda OS:

  • If fisrt time
    • Clone the lambda-os repository.
    • Update submodules: git submodule update --init
  • If not first time
    • git pull
    • git submodule update
  • Make: make
    • To speed up compilation, add -j<threads> argument to the make command
    • Defaults to x86 ISO
      • For clang: make CC=clang AS=clang
      • 1.44MiB floppy target: make floppy
      • ISO target: make cdrom
    • 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.