redox

Mirror of https://gitlab.redox-os.org/redox-os/redox

MIT License

Stars
15.1K
Committers
109
redox - 0.5.0 Latest Release

Published by jackpot51 over 5 years ago

redox - 0.3.5 - New Network Stack

Published by jackpot51 over 6 years ago

ISO Downloads Travis Build Log

Please discuss this release on our Discourse Forum

Notable changes include:

  • New network stack
  • More available packages
  • Improved security
  • Netsurf web browser
  • Alpha blended terminal
  • Terminal ANSI improvements
  • Rename system call
  • Kernel ACPI improvements
  • Graphical kernel debugging during ACPI initialization

Known issues:

  • The calendar application is not rendering due to a regression in OrbTK
  • Netsurf has no icon, run netsurf-fb from the terminal

More detail can be found in the following news articles:

This was posted in the following places:

redox - 0.3.4 - Filesystem UUID

Published by jackpot51 about 7 years ago

ISO Downloads

This release focuses on changes to RedoxFS, the bootloader, and the kernel to enable filesystem UUIDs.

The basic logic is this:

  • The bootloader loads the kernel from RedoxFS on the disk it is present on
  • The bootloader passes the UUID as an environmental variable to the kernel
  • The kernel passes the environmental variables to the init process
  • The init script for the init filesystem passes this UUID as an argument to RedoxFS
  • RedoxFS searches all available disks for a filesystem matching this UUID, and mounts it as the root filesystem

This was particularly important for the installation of Redox.

redox - 0.3.3 - Lower Memory Usage

Published by jackpot51 about 7 years ago

ISO Downloads Travis Build Log

This release brings much lower memory usage with ISO - 480 MB instead of 1300 MB. There are also other bug fixes, features, and improvements.

Download the ISO here.

VirtualBox with Intel PRO/1000 Ethernet will be the most feature-complete experience. Only 64-bit x86 systems are supported. Give the VM at least 1 GB of RAM for the best results. The default username is user with an empty password. There is also a root user with a password of password.

Please post your questions and comments here:
Discussion on Hacker News
Discussion on Reddit /r/redox
Discussion on Reddit /r/rust

If you are interested in joining our chat, send an email to info at redox-os.org.

If you would like to donate, you can do so here

kernel

  • Improve live filesystem implementation
  • Fix TLS mapping by page aligning end of TLS
  • Implement pipe events
  • More verbose crash dumps
  • Improve debugging code

coreutils

  • Fix directory handling in mv

ion

  • Add support for app-dirs
  • Fix handling of foreground processes

netstack

  • Send events on connect, improve C socket implementation

orbtk

  • Fix scrolling in textbox
  • Add borders to menu entries

termion

  • Fix issue with piping into less
redox - 0.3.2

Published by jackpot51 about 7 years ago

ISO Downloads Travis Build Log

Discussion on Reddit
Torrent

  • Updates to ion
  • Much better login screen
  • Added open dialog for Editor
  • Implemented all file menu items in Editor
  • Improved ACPI implementation
  • Better window ordering in Orbital
redox - 0.3.1 - POSIXLY_CORRECT

Published by jackpot51 about 7 years ago

ISO Downloads Travis Build Log

Discussion on Reddit

As many of the changes are related to self hosting, by @ids1024, I have named this release POSIXLY_CORRECT. Most changes are managed independently from this repository, making it difficult to track them all. More detailed information can be found in news articles since the last release:

This release runs best if you can meet the following requirements:

  • 2 GB RAM
  • 32 MB VRAM
  • PS/2 Mouse and Keyboard
  • Intel 8254x Ethernet
  • Intel HDA audio
  • XHCI USB
redox - 0.3.0 - The Return of the Redox

Published by jackpot51 over 7 years ago

ISO Downloads Travis Build Log

Discussion on Reddit

Summary

It has been a while since our last release, on April 22! I cannot possible represent all of the changes to Redox OS since then, so the best way to experience them is to try it out yourself! I have listed the changes I think are biggest below. Here are the changes to our distribution repository since 0.2.0

This release was particularly challenging. The build process has been switched over to using the cookbook, and a cross compiler is now used instead of a gcc wrapper script located here. These two changes required a large amount effort to make the system compile correctly and easily again, and to get Travis builds to work. Improvements have been made to the kernel, ion, newlib, and many other projects.

Cookbook

However, due to this effort, we can now produce Redox installations from the same recipes that produce package builds, meaning that every file in a default Redox install has been installed by a package, and can be managed by the package manager. Due to a change in the bootloader allowing the kernel to be loaded from RedoxFS, this will also include the kernel soon.

To view all of the currently available packages, view the repository listing, or the repository description file

Self-hosting

Also, due to using a real cross compiler for the build, we have been able to significantly improve support for C software. Massive steps have been made in the direction of self-hosting, with the porting of binutils, newlib, gcc, nasm, llvm, and rustc to Redox. Work, mostly by @ids1024, is currently focusing on porting git. This has also identified and fixed many problems with our POSIX support, and improved the overall functionality of Redox.

Posts from @ids1024 about self-hosting can be found here:

ACPI

In addition to these two changes, the kernel has been improved. @CWood1 has written a shiny, new ACPI stack that includes an AML parser. This allows shutdown on Redox to be done correctly on nearly all systems. Support for the HPET has also been added, with a fallback to the PIT when it is not present. Eventually I hope that we will be able to correctly suspend and resume Redox by running the parsed AML.

Ion

Ion has gone through a huge amount of development, mostly by @mmstick, who has been maintaining it. There have been 139 commits to ion since the last release, adding new syntax, improving bugs, and adding new features. View them here

TWiRx

In addition, This Week in Redox has been restarted by @goyox86. Here are the articles since the last release:

redox - 0.2.0 - 2 Years of Redox

Published by jackpot51 over 7 years ago

ISO Downloads Travis Build Log

🎉 🍰 As of 2017-04-20, Redox OS has been on GitHub for two years! 🍰 🎉

Due to the number of positive changes that have happened, the version has been bumped to 0.2!

Please discuss this release on Reddit.

The most major changes are an increase in kernel performance, a complete implementation of frame allocation (and deallocation) in the kernel, a new sys:iostat to inspect all open file handles, resizing and scrolling in the editor, and more ion shell features.

This list of changes came from a line-by-line review of all changes since 0.1.5, which was released 13 days before this release.

Redox Distribution

View changes here

  • Add Cargo.lock, to track dependencies in GIT
  • Add the following as submodules, to track changes: event, extra, jpeg-decoder, mio, orbclient, orbfont, orbimage, orbtk, pager, ralloc, ransid, same-file, syscall, tar, termion
  • Readd binutils, games, and sodium as submodules
  • Update recommended rustc to 2017-04-22 nightly
  • Increase default size of filesystem to 128 MB
  • Update Rust submodule
  • Implement fcntl in ptyd
  • Implement fpath in randd

Kernel

View changes here

  • Add __rust_allocate_zeroed in alloc_kernel
  • Fix initfs generation listing bug
  • Remove Copy implementation from context::File
  • Add flags to context::File
  • Increase performance of memcpy, memmove, memset, and memcmp
  • Implement kernel closest-fit page frame allocator (removes memory leak from the old bump allocator)
  • Free page frames recursively, to free all empty tables
  • Implement handles in debug:, so that O_NONBLOCK and fcntl can be used
  • Implement fcntl and fpath for debug:, env:, event:, initfs:, irq:, live:, memory:, null:, pipe:, root:, time:, and zero:
  • Create a sys:iostat that can be used to inspect all open file descriptors
  • Implement O_CLOEXEC in the kernel
  • Implement #! interpreted scripts in exec
  • Fix bug causing grandparents of exited parents of exited children to not receive the error status of exited children
  • Add linker-flavor to targets

Coreutils

View changes here

  • Add uniq command
  • Use buffered output in ls
  • Add -f, -F, and -s to tail
  • Fix issue with -a in tee not creating files
  • Calculate characters with UTF-8 in wc
  • Cleanup coreutils library in lib.rs
  • Add a UTF-8 test file

Drivers

View changes here

  • Implement fpath in ahcid and e1000d
  • Switch vesad to use handles and support per-handle flags, like O_NONBLOCK
  • Fix bug in port layout in xhcid

Extrautils

View changes here

  • Add keymap utility (not yet functional)
  • Human readable format for screenfetch uptime
  • Move tar into extrautils

Init

View changes here

  • Open stdio without O_CLOEXEC
  • Cleanup run.d

Ion

View changes here

  • Add script arguments $0, $1, $2, ...
  • Improve syntax and performance
  • Implement piping for built-ins
  • Add echo, calc, test, and time as built-ins
  • Add description to all built-ins
  • Refactor modules
  • Update README.md

Netutils

View changes here

  • Exit wget with error when remote server returns an error status

Orbutils

View changes here

  • Implement URL dialog in browser (press enter to open)
  • Implement resizing for character_map, editor, and file_manager
  • Implement scrolling in editor
  • Refactor launcher
  • Add time to launcher
  • Remove O_CLOEXEC from stdio in terminal
  • Reduce redraws in terminal
  • Close terminal after exit

Orbdata

View changes here

  • Convert orbital configuration to TOML

Orbital

View changes here

  • Use TOML for configuration
  • Refactor to use fevent, rather than using two blocking threads

Pkgutils

View changes here

  • Implement install of local packages
  • Use io:copy to reduce memory usage for package downloads

RedoxFS

View changes here

  • Fix seek bug
  • Implement O_APPEND
redox - 0.1.5

Published by jackpot51 over 7 years ago

ISO Downloads Travis Build Log

This list of changes came from a line-by-line review of all changes since 0.1.4. Some changes outside of the redox repository, and its submodules, have not been captured.

This implements terminal resizing, and VirtualBox screen resizing. If you resize the terminal, run:

eval $(resize)

This will fix the COLUMNS and LINES variables.

Redox (Distribution)

  • Remove binutils and games by default, they can be installed with pkg
  • Remove cookbook submodule, it must be out-of-tree due to Cargo.toml
  • Add timeout example
  • Remove liner replacement
  • Add termion replacement
  • Update README.md
  • Improve example installer file /etc/installer.toml
  • Add pkg remote repository configuration in /etc/pkg.d
  • Remove display passthrough in contain
  • Use login by default as the starting program in contain
  • Add read and write timeouts to tcp: and udp:

Drivers

  • Updated to newest master
  • Added alxd driver for Atheros ethernet, still WIP
  • Updated pcid to enable PCI memory and I/O spaces by default
  • Added AZERTY and BEPO keymap to ps2d
  • Add VirtualBox screen resizing features
  • Implement resizing in vesad
  • Fix off-by-one panics in vesad
  • Implement cursor position queries in vesad

Installer

  • Updated to newest master
  • Ability to install from source using cookbook
  • Cleanup of package installation by using pkgutils directly

Kernel

  • Updated to newest master
  • Combine arch and kernel to simplify design
  • Fix typos in README.md
  • Implement timeouts with time: scheme
  • Fix serial interrupt handling
  • Cleanup allocations to use new API

Libc Artifacts

Coreutils

Extrautils

Ion

Netutils

Orbital

Orbutils

  • Updated to newest master
  • Add timeouts to browser
  • Flow browser based on window size
  • Implement Open in editor
  • Use mime and mime_guess to cleanup icon logic in file_manager
  • Resize launcher when screen resizes
  • Cleanup orblogin with variables
  • Make orblogin unclosable
  • Implement resizing in terminal
  • Implement ANSI mouse encoding in terminal
  • Implement alternate screen in terminal
  • Fix scrolling in terminal
  • Fix Linux support for terminal

Pkgutils

  • Updated to newest master
  • Add configurable remote repositories in /etc/pkg.d
  • Use timeouts in pkg
  • Cleanup pkgutils library with Repo abstraction
  • Make it possible to install with a prefix

Smith

Userutils

Rust

redox - 0.1.4

Published by jackpot51 over 7 years ago

ISO Downloads Travis Build Log

This release improves VirtualBox networking, fixes bugs, and improves user experience

Kernels and Drivers

  • Fixed kernel issue causing infinite wakeups after nanosleep
  • Switched drivers from using pause and cli to yield_now without any cli
  • Added link detection to e1000d

CLI

  • Updated coreutils and ion
  • Fixed head and tail

GUI

  • Changed algorithm for automatic window placement in orbital
  • Set sane sizes for all orbutils programs, they will fit screen size on smaller screens
redox - 0.1.3 - VirtualBox Integration

Published by jackpot51 over 7 years ago

ISO Downloads Travis Build Log

This release integrates much better with VirtualBox, implementing ACPI shutdown support, mouse integration, and more reliable PS/2 support.

To shutdown, run sudo shutdown from a terminal.

In addition, automatic resolution setting in VirtualBox, and manual resolution setting from the command line in QEMU will be available in a coming release.

redox - 0.1.2 - Fix VirtualBox (Hopefully)

Published by jackpot51 over 7 years ago

ISO Downloads Travis Build Log

This release comes with a load of sweet changes. The most important should be that the usage of Redox OS in VirtualBox has been significantly improved. All three Intel ethernet controllers are supported, and IRQ handling has been fixed.

Here is a rendering of this page in Redox OS, in VirtualBox

Here are the VirtualBox settings used, in version 5.1.6

Very Important Changes

Kernel

  • Switched interrupt handling to use manual EOI, which should be more compatible and should fix VirtualBox issues

Filesystem

  • Fixed path parsing issue, which caused a open("/example/non_existent/file", O_CREAT) to create /example/file

Very Cool Changes

CLI

  • Significant updates to ion, fixing many syntax issues and adding many features. See the changes here.
  • Added test program, which now compiles for Redox
  • Updated coreutils and extrautils
  • Modify wget and pkg to use hyper, removing a lot of unnecesary code

GUI

  • Updated cursor theme, added resize cursors for right, bottom, and bottom right edges
  • Scrolling in the file manager
  • Use of hyper in the browser
  • Allow the browser to open local html with file://
  • Fixes for browser panics
  • Fixes for browser handling of Content-Type
  • Improve terminal render speed
  • Add terminal window titles

Very Boring Changes

Drivers

  • Updated drivers
  • Added PCI IDs for more Intel ethernet controllers

Rust

  • Update Rust to new nightly
redox - 0.1.1 - Orbital Feature Rush

Published by jackpot51 over 7 years ago

Orbital Feature Rush

ISO Downloads Travis Build Log

This release adds support for resizing windows, mouse scroll, changing window titles, and improves the look and feel of many Redox applications.

Mirrors

Github ISO

Dropbox ISO
Dropbox Torrent

Mega ISO
Mega Torrent

# sha256sum livedisk.iso
5f70040ae8c81736b517c7afb27c38526f5fc05b345a29db2d6caa7ef8fb88ef  livedisk.iso

Screenshots

Desktop
See more in the album here

Changelog

Orbital

  • Fira Sans for window fonts
  • Resizable backgrounds, with zoom, scale, fill, and center modes
  • Multiple background support
  • Window resizing, using border dragging
  • Ability to change window title
  • Pass scroll events to applications

Orbclient

  • Add scroll events
  • Add resize window flag
  • Catch resize and move events
  • Fix SDL2 backend to provide the same events as the Orbital backend

Orbutils

  • Improve performance of file manager
  • Use TTF font in terminal
  • Improve look and feel of launcher
  • Allow viewer to resize
  • Allow browser to resize
  • Browser can scroll with mouse wheel
redox - 0.1.0 - Visual Refresh

Published by jackpot51 over 7 years ago

ISO Downloads

For more information about this release, see the Reddit post

The UI has been overhauled, marking a good point for a minor version bump.

The build log can be found here: https://travis-ci.org/redox-os/redox/builds/204817563

redox - 0.0.9

Published by jackpot51 over 7 years ago

ISO Downloads

This release does the following:

  • Updates the kernel IRQ model to solve issues with IRQs.
  • Moves PIC initialization to the kernel from the bootloader
  • Updates the file manager to fix navigation and display issues
  • Updates the browser to add HTTPS
  • Updates ion to fix if behavior with variables
  • Updates smith
redox - 0.0.8

Published by jackpot51 over 7 years ago

ISO Downloads

Fix for VirtualBox lockups. Update of drivers and kernel for better error handling.

The ISO will be available when this build completes: https://travis-ci.org/redox-os/redox/builds/199501117

The Redox installer is present in this release, and can be used to build a container.

# Create a Redox container at "sysroot"
redox_installer /etc/installer/minimal.toml
# Enter the new Redox container
sudo contain sysroot
# Show processes, RNS and ENS will change based on current container
ps
redox - 0.0.7

Published by jackpot51 over 7 years ago

ISO Downloads

Updates to all submodules, including the kernel, drivers, coreutils, orbutils, and Rust. Addition of the Redox installer and screenfetch. Fixes for init. Initial HTTPS support in wget.

ISO release will happen when this build completes: https://travis-ci.org/redox-os/redox/builds/197724728

redox - 0.0.6

Published by jackpot51 almost 8 years ago

ISO Downloads

If you had issues with 0.0.5, many of them have been fixed with 0.0.6, or are better reported.

If you encounter any issues, please try to capture the serial port output and upload it in a GitHub issue.

redox - 0.0.5

Published by jackpot51 almost 8 years ago

ISO Downloads

This release fixes an issue with kernel grants not being cleaned up correctly before a context is reaped. This should fix #764 and #767

redox - 0.0.4

Published by jackpot51 almost 8 years ago

ISO Downloads

This release fixes kernel paging issues causing a kernel panic in the event that ipd does not find a network interface. This may also fix random freezes caused by the same paging issue.

Badges
Extracted from project README
MIT licensed