Download Latest Version kerla.iso (14.2 MB)
Email in envelope

Get an email when there's a new version of Kerla

Home / v0.1.0
Name Modified Size InfoDownloads / Week
Parent folder
kerla.x64.elf 2021-12-24 7.9 MB
README.md 2021-12-24 3.2 kB
v0.1.0 source code.tar.gz 2021-12-24 206.6 kB
v0.1.0 source code.zip 2021-12-24 285.8 kB
Totals: 4 Items   8.4 MB 1

Run the following command to try Kerla on QEMU:

qemu-system-x86_64 -m 512 -cpu Icelake-Server -serial mon:stdio \
    -netdev user,id=net0                                        \
    -device virtio-net,netdev=net0,disable-legacy=on            \
    -kernel kerla.x64.elf

Notable Changes

  • The first cloud support for DigitalOcean: for example, my website is now powered by Kerla on DigitalOcean!
  • boot2dump support: if an ext4 disk is attached over virtio-blk, kernel panic log will automatically saved into /kerla.dump.

All Changes

Baye Dieng (2): - Remove redundant files already defined in virtio crate (#84) - Make driver trait available globally for other drivers and typo fix (#89)

Seiya Nuta (42): - Isolate arch-specific and memory allocators into a separate library (kerla_runtime) (#77) - Use Rust 2021 edition (#78) - Turn device drivers into libraries (#80) - build: Use Docker image cross compiling for M1 Mac (#81) - Update author fields - Implement deferred job (#82) - Add some README.md - Rename initramfs to testing (#83) - Release IRQ_HANDLERS' lock before running deferred jobs (#85) - Generate the kernel extensions loader (#86) - Implement log filtering (#92) - build: Add $(QEMU_ARGS) option (#93) - Support the secondary serial port for kernel messages (#94) - x64: Make SyscallFrame compatible with Linux's struct pt_regs (#95) - Remove kexts_loader (#97) - initramfs: Implement file size (#122) - Implement shutdown(2) (#118) - Implement exit_group(2) syscall (#119) - Re-disable interrupts after handling an interrupt (#124) - Kill a process immediately if its parent ignores SIGCHLD (#121) - Make network parameters and allowed PCI devices configurable via cmdline (#123) - Support freeing pages (#120) - Use yapf for formatting python scripts (#125) - Implement /proc/metrics (#126) - Add rust-toolchain.toml (#129) - build: Allow specifying extra kernel parameters through $(CMDLINE) (#127) - downcast: Take a reference instead of the ownership (#130) - virtio: Fix a bug in used descriptors GC (#131) - net: Fix a memory leak (#132) - virtio: Support legacy virtio devices (#133) - /proc/metrics: Expose the monotonic clock (#134) - x64: Fill an XSAVE area with zeroes (#136) - net: Fix for dhcp=off (#135) - x64: Dump some important registers on an unsupported exception (#138) - allocator: Fill allocated pages with zeroes by default (#137) - Support saving kernel crash logs using boot2dump (#139) - x64: Fix memory leaks in a process internal buffers (#140) - Add docs - Fix some docs - Allow specifying multiple interrupt handlers for the same IRQ number (#143) - testing: Refactor Dockerfile (#128) - Add tools/create-release.py

Serhiy Barhamon (4): - Panic on irq_handler overwrite (#53) - Single thread gettid syscall implementation (#75) - rt_sigprocmask syscall implementation (#112) - [#112] followup (bugfix and fix build) (#114)

dependabot[bot] (1): - build(deps): bump memoffset from 0.6.4 to 0.6.5 (#113)

Source: README.md, updated 2021-12-24