-
Old Luna (pre-rewrite) Stable
released this
2022-11-09 16:23:07 +00:00 | 1737 commits to main since this releaseUploading this and removing previous tags/releases.
This was the last """"stable"""" release of the previous version of Luna, before it was completely rewritten and made 1000% better.
All old releases can be found as tags named 'old-0.*'
Release text for old releases:
Version 0.14
Well, this update was a big one... 201 commits between 0.13 and 0.14!
Most notable changes:
- New ports: nasm, gmp, mpfr, mpc, but most notably binutils.
- Lots of new functions and APIs implemented in libc, like qsort() or bsearch().
- The kernel got more robust, with better userspace memory management. Most likely, the switch from user_refs and physical addresses to copy_to_user() and copy_from_user(), which is still in progress.
- Argument passing support in the kernel and C Library (argv, argc)!! Environment variables are not there yet, but they should be a breeze to implement now that the basic framework is already there.
- The framebuffer is now available as a device in the /dev filesystem! ioctl() was also added, and for now it can only be used to get framebuffer information. We use this for a little screen utility, which outputs your screen resolution =D
Version 0.13
This one got a lot of changes :)
First of all, a keyboard interface for userspace, which made a command-line shell possible.
The getdents() system call and dirent.h, which is necessary for ls-like utilities.
A test system, with some tests, got added.
A ports system, with one port (bc), got added. bc may be janky on Luna, but it is a piece of third-party software running on the system!
Overall, 120 commits were made since the previous version, and we reached the 600th commit :)
Version 0.12
0.12: A working fork(), finally! As well as /dev/random, and quite a few more libc functions.
Version 0.11
0.11: More VFS stuff, as well as some multitasking improvements, such as multiple address spaces so there can be multiple tasks in parallel + an exec() syscall. Once fork() is implemented, we'll have basic process management!
Version 0.10
0.10: the great VFS update!! we now have a virtual file system which enables us to mount the initrd as filesystem root, but overlay other filesystems on top of it, such as a device filesystem...
This version was the one with the greatest number of commits between the previous version and this one, it seems. 78 commits!!
Downloads