Releases: sasdallas/reduceOS
reduceOS v1.3 Apricity
reduceOS v1.3 Apricity
Build 9644 (compilation date 09/09/2024 7:14 PM CST) - RELEASE CONFIGURATION
The word "apricity" can be translated as "the warmth of the sun in winter". It's a fitting name for this OS project, and I'm glad to have it. Especially because this is the release where reduceOS, becomes an OS.
What's new?
Full ELF loading, EXT2/FAT support, VFS, C library support, drivers, better initial ramdisk support, better kernel design, and a fi;; process scheduler
Now that reduceOS can load and run programs, it can officially be classified as an OS, but we've got much more to go. Rest assured though, full steam ahead!
What's for the future?
Who can tell? There's so much potential here!
How do I run reduceOS?
It's best to used the attached ISO file in an emulator (reduceOS works on QEMU and Bochs), but we also have some basic real hardware capabilities:
If you want to run reduceOS on real hardware, try adding the --force_vga
option after the multiboot directive in the GRUB config file. It will force VGA text mode.
Polyaniline does not appear to be working at the moment, so I have not attached it. I have also decided not to attach a kernel ELF file or the initial ramdisk.
Thank you all for your support! I hope this project continues to flourish - I'll do my best to make sure it ends up that way! ❤️
Full Changelog: v1.3-apricity...v1.3-apricity-actually
reduceOS v1.3-prerelease2
reduceOS v1.3-prerelease2
Build 7230 (compilation date 08/24/2024, 5:30 PM Central) - RELEASE configuration
ALPHA RELEASE - NOT FOR PRODUCTION
This is the second prerelease of reduceOS v1.3 Apricity.
It includes a process scheduling/management system, ELF loading, symbol tables, multi-threading, a new and improved debugging system, and much more.
As I said in prerelease #1, there is a lot of stuff in v1.3, and this will be the last prerelease of it.
As well as that, this build includes the v1.0 prototype of the non-working Polyaniline bootloader (it technically works but can only load 64-bit kernels and their ramdisks), which is codenamed Redline
.
Thank you for your support! Have fun :)
WARNING: This is an alpha build of reduceOS. DISK DAMAGE CAN OCCUR. BY DOWNLOADING THIS SOFTWARE, THE USER ACCEPTS ALL RESPONSIBILITY OF WHAT MAY HAPPEN TO THEIR DISKS/COMPUTERS.
Full Changelog: april-fools...v1.3-apricity-prerelease2
reduceOS v1.3-prerelease1
reduceOS v1.3-prerelease1
Build 3110 (compilation date 08/03/2024, 3:23 PM Central) - RELEASE configuration
ALPHA RELEASE - NOT FOR PRODUCTION
This is the first pre-release of reduceOS v1.3 Apricity.
It includes filesystem (EXT2 and FAT12/16/32) support, a VFS implementation, new printf(), and a ton of other cool things.
There is much more to come, but v1.3 is going to be pretty big, so I thought using a prerelease would be good.
Thank you for your support! Have fun :)
NOTE: Initial ramdisk support does not work right now. However, it is still REQUIRED for boot.
Full Changelog: v1.2-vaporwave...v1.3-apricity
reduceOS v1.2 (codename Vaporwave)
reduceOS v1.2 - Vaporwave
Build 196 (compilation date 7/3/2024, 3:59 PM Central) - RELEASE configuration
Long time no see! This release of reduceOS is the most advanced to date, and actually the most stable. \
A lot of bugs have been fixed - including a large GDT/IDT patch, and finally, working memory management!
What's new
I've added ACPI support (including I/O and Local APICs), virtual memory management, physical memory management, processor data reading, task state segments, an in-progress FAT driver, bitmap reading, FULL VESA VBE terminal support, and much more!
reduceOS now also works on the BOCHS emulator, making for MUCH easier debugging, and even a good amount of real hardware support
New buildsystems have been introduced that add in different configurations, making for a much cleaner reduceOS.
What's for the future?
Now that VMM works, I'm free to do a ton more features. I'm thinking of finishing up that FAT driver, maybe adding DMA, usermode, ELF loading, and a ton more. Stay tuned :)
Afterword
This is the first major release of reduceOS in over a year - the project is not dead, quite the opposite! A lot has been worked on for this release, and I'm happy to get to share it with you all.
As always, you can run the OS in QEMU by using the -kernel
and -initrd
options, but you can now also use an ISO file to run reduceOS.
Attached are the files below.
Full Changelog: v1.0-anniversary...v1.2-vaporwave
reduceOS v1.0 - anniversary edition
reduceOS v1.0 - anniversary edition
This is a special release dedicated to the anniversary of reduceOS - there is a note below!
A lot of changes have been made since the original pre-release of v1.0-dev - for example, we switched to multiboot for paging.
But this release isn't to talk about changes to the system, you can check the changelog for that (below).
In my entire developer adventure, building an OS has always been my dream, even from a young age. Now, I finally get to experience this, and actually learn the fun of OS development, and I'm not even close to done. The support from my peers and random internet strangers was something I was not expecting, so, truly, thank you all so much.
Booting reduceOS is slightly more complicated now - you will need to run QEMU with an initial ramdisk image or reduceOS will panic on start (initrd is attached, just run QEMU with the -initrd <path to initrd>
. Also, don't use the ISO image! it doesn't work in QEMU!. Instead use the kernel bin file attached and run QEMU with the -kernel
option.
When you enter the OS, run anniversary
to access the small little animation thingy I made :)
(if you'd like to run reduceOS on real hardware, use the .iso file)
Full Changelog: v1.0-dev...v1.0-anniversary
v1.0-dev
reduceOS release 1.0-dev
ALPHA RELEASE - NOT FOR PRODUCTION
This is the first actual release of reduceOS Rewrite! It features many new things, including a fully made by me kernel, boot loader, and more. The features aren't that great, but the anniversary of reduceOS is coming up, so keep tuned! Release notes are below.
You can run the OS by putting the attached image file either in a VM or writing it to a USB drive (usually via either dd or some Windows tool).
What's Changed
Main features include:
- A nice graphical redesign
- Well-commented code (mostly!).
- A command parser (in progress, can't handle backspaces or arguments yet)
- Physical memory management
- Kernel panicking gracefully
- Some security features, like a stack-smashing protector on some things.
- ISR handling
- Improved keyboard drivers
- And more!
Full Changelog: v0.3-alpha...v1.0-dev
Thank you to everyone in the community for supporting my dream of building an OS! I can't believe how far I've come since I had this dream. I understand a ton of concepts that I didn't before!
The next release of reduceOS will have some special features, and it will likely be on the anniversary of reduceOS :)
Attached below is the image file used to launch reduceOS.
reduceOS v0.3 alpha
Apologies for skipping a version(I forgot to create a release), but Version 0.3 provides a lot more than 0.1 or 0.2.
Features:
- PCI / IDE Driver
- ISO Support
- Memory info
- Color changing
- And more!
Of course, this is still pre-release. I wish to add a lot more features before releasing reduceOS.
reduceOS v0.1 Alpha
The very first release of reduceOS.
Features:
- Interrupt Descriptor Table and Global Descriptor Table
- Working keyboard input
- Shell
- Ability to get CPUID info
- ISR