Skip to content

Releases: dplanitzer/Serena

v0.3.0-alpha

28 Dec 01:12
Compare
Choose a tag to compare
v0.3.0-alpha Pre-release
Pre-release

Welcome to release v0.3.0-alpha of Serena OS.

The biggest change in this release is the introduction of the disk subsystem and significant improvements to the driver architecture. Booting off and working with double-density floppy disks is now supported.

The diskimage tool has also seen significant improvements: it now allows you to format an Amiga disk image (adf) with SerenaFS, list existing files, push files to a disk image, pull a file off a disk image, create directories, delete files, get and overwrite individual disk blocks and generate a diff of the disk blocks of two disk image files.

Thus you can now use the diskimage tool to create, list and manipulate SerenaFS formatted Amiga disk images on your host system.

Another significant enhancement is that Serena OS now supports a device filesystem (devfs). This filesystem is mounted at /System/Devices and lists all active drivers. An application may open a driver and use the read/write system calls to interact with it. Note however, that disk drivers are the only drivers in this release that actually support read/write operations from user space.

Serena OS implements a disk cache that caches data read from a (floppy) disk. Note that right now all writes are implemented as synchronous writes. The data is cached but the application is still forced to wait until the data has been written to disk. A future version will change this behavior such that an application will not have to wait for a write to finish.

Here is a more detailed list of changes since the previous release:

  • more complete C library. Ie added qsort(), itoa() family of functions, etc
  • many bug fixes across libc and the kernel
  • a number of kernel optimizations
  • significantly improved the reliability and performance of in-kernel dispatch queues
  • worked out more details of the kernel driver architecture
  • added support for disk drivers to the kernel
  • added a disk cache to the kernel
  • added a device filesystem to the kernel
  • FileManager and FileHierarchy are now the kernel components that handle file operations and path resolution
  • complete rework of the diskimage tool
  • added support for building libtool, makerom and keymap on POSIX (Linux, macOS) systems

v0.2.0-alpha

12 Aug 01:20
Compare
Choose a tag to compare
v0.2.0-alpha Pre-release
Pre-release

Welcome to release v0.2.0-alpha of Serena OS.

This marks the first binary release of Serena OS. The OS and the shell are packaged into a single ROM file for the Amiga. It runs on any Amiga computer with a 68030 or better CPU.

This release contains many bug fixes, additional user space libraries and a much more useful shell. The shell now supports running scripts, variables, flow control constructs and many more built-in commands. Libc is now more complete and correct and a new library (libclap) has been added to parse command line arguments in a way that is in-line with the Serena shell behavior.

The ROM contains the boot filesystem. This filesystem is copied to a RAM disk at boot time and all filesystem operations are executed in the RAM disk. This means that files that you create will not survive a system restart.

You can build SerenaOS from sources with the BOOT_FROM_ROM option disabled in the project Makefile to create a version of the OS that will boot from an Amiga floppy disk (image). However please note that the floppy driver does not currently support writing to disk and that there is no disk cache yet to speed up I/O operations.

The quickest way to run Serena OS is to set up an Amiga 3000 or 4000 profile in an Amiga emulator such as WinUAE, and to configure the profile such that it uses the attached Serena.rom instead of a genuine Commodore Amiga ROM. No separate boot disk is needed since the boot disk is packaged into the ROM file.

After starting up the OS, the current directory contains a couple of demo shell scripts. You can run them by typing 'shell file_to_run.sh' and then hitting return.

v0.1.0-alpha

26 Feb 01:15
Compare
Choose a tag to compare
v0.1.0-alpha Pre-release
Pre-release

Welcome to release v0.1.0-alpha of Serena OS.

This marks the first release that is complete enough to be able to install, boot and run a (very) simple shell in Serena OS. The OS and the shell are packaged into a single ROM file for the Amiga and runs on any Amiga with a 68030 or better CPU.

This release of the OS supports preemptive multi-tasking, VT52 and VT100 terminal emulation, a RAM-based file system, a fairly complete standard C library, the very early beginnings of a standard C math library and a System library which implements the system call interface.