Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox
This commit is contained in:
commit
cc100326b3
|
@ -14,21 +14,39 @@ Please review the LICENSE for the project you are contributing to.
|
|||
|
||||
- [Our Philosophy](https://doc.redox-os.org/book/ch01-02-philosophy.html)
|
||||
|
||||
## Low-Hanging Fruit - Easy Targets for Newbies
|
||||
## Chat
|
||||
|
||||
Join us on [Matrix Chat](https://doc.redox-os.org/book/ch13-01-chat.html) to discuss issues or ask questions.
|
||||
|
||||
## Suggestions for Contributions
|
||||
|
||||
You can contribute to Redox documentation/code on these repositories:
|
||||
|
||||
(The order is based on difficulty, easy things first)
|
||||
|
||||
- [Website](https://gitlab.redox-os.org/redox-os/website)
|
||||
- [Book](https://gitlab.redox-os.org/redox-os/book)
|
||||
- [Main Repository (build system/config)](https://gitlab.redox-os.org/redox-os/redox)
|
||||
- [Cookbook (all system components/ported software)](https://gitlab.redox-os.org/redox-os/cookbook)
|
||||
- [Redox C Library](https://gitlab.redox-os.org/redox-os/relibc)
|
||||
- [Drivers](https://gitlab.redox-os.org/redox-os/drivers)
|
||||
- [Kernel](https://gitlab.redox-os.org/redox-os/kernel)
|
||||
|
||||
### Easy Targets
|
||||
|
||||
If you're not fluent in Rust:
|
||||
|
||||
* Writing documentation
|
||||
* Using/testing Redox, filing issues for bugs and needed features
|
||||
* Web development ([Redox website, separate repo](https://gitlab.redox-os.org/redox-os/website))
|
||||
* Writing unit tests (may require minimal knowledge of rust)
|
||||
* Web development ([Redox website](https://gitlab.redox-os.org/redox-os/website))
|
||||
* Writing unit tests (may require minimal knowledge of Rust)
|
||||
|
||||
If you are fluent in Rust, but not OS Development:
|
||||
|
||||
* Port applications written in Rust to Redox
|
||||
* Rewritten-in-Rust libc ([relibc](https://gitlab.redox-os.org/redox-os/relibc))
|
||||
* Shell ([Ion](https://gitlab.redox-os.org/redox-os/ion))
|
||||
* Package manager ([pkgutils](https://gitlab.redox-os.org/redox-os/pkgutils))
|
||||
* Package Manager ([pkgutils](https://gitlab.redox-os.org/redox-os/pkgutils))
|
||||
|
||||
If you are fluent in Rust, and have experience with OS Dev:
|
||||
|
||||
|
@ -42,28 +60,9 @@ For those who want to contribute to the Redox GUI, our GUI strategy has recently
|
|||
* OrbTk is now sunsetting, and its developers have moved to other projects such as the ones below. There is currently no Redox-specific GUI development underway.
|
||||
* Redox is in the process of adopting other Rust-lang GUIs such as [Iced](https://iced.rs) and [Slint](https://slint-ui.com/). Please check out those projects if this is your area of interest.
|
||||
|
||||
You can contribute to Redox documentation/code on these repositories:
|
||||
|
||||
(The order is based on difficulty, easy things first)
|
||||
|
||||
- [Website](https://gitlab.redox-os.org/redox-os/website)
|
||||
- [Book](https://gitlab.redox-os.org/redox-os/book)
|
||||
- [Main Repository (build system/config)](https://gitlab.redox-os.org/redox-os/redox)
|
||||
- [Cookbook (all system components/ported software)](https://gitlab.redox-os.org/redox-os/cookbook)
|
||||
- [Display Server/Desktop Environment](https://gitlab.redox-os.org/redox-os/orbital)
|
||||
- [Orbital Client Library](https://gitlab.redox-os.org/redox-os/orbclient)
|
||||
- [Orbital Applications](https://gitlab.redox-os.org/redox-os/orbutils)
|
||||
- [Redox C Library](https://gitlab.redox-os.org/redox-os/relibc)
|
||||
- [Drivers](https://gitlab.redox-os.org/redox-os/drivers)
|
||||
- [Kernel](https://gitlab.redox-os.org/redox-os/kernel)
|
||||
|
||||
## Best Practices and Guidelines
|
||||
|
||||
- [Redox Book Guide](https://doc.redox-os.org/book/ch11-00-best-practices.html)
|
||||
|
||||
### Testing Practices
|
||||
|
||||
- [Redox Book Guide](https://doc.redox-os.org/book/ch09-03-testing-practices.html)
|
||||
- [Best Practices](https://doc.redox-os.org/book/ch11-00-best-practices.html)
|
||||
|
||||
## Style Guidelines
|
||||
|
||||
|
@ -94,10 +93,6 @@ Please follow our process for [creating proper pull requests](https://doc.redox-
|
|||
* [rust-os-comparison](https://github.com/flosse/rust-os-comparison)
|
||||
* [rust-lang.org](http://rust-lang.org)
|
||||
|
||||
## Chat
|
||||
|
||||
Join us on [Matrix Chat](https://doc.redox-os.org/book/ch13-01-chat.html) to discuss issues or ask questions.
|
||||
|
||||
## Other Ways to Contribute
|
||||
|
||||
If you're not big on coding, but you still want to help keep the project going, you can still contribute/support in a variety of ways! We'll try to find a way to use anything you have to offer.
|
||||
|
|
140
README.md
140
README.md
|
@ -4,28 +4,16 @@
|
|||
|
||||
**Redox** is an operating system written in Rust, a language with focus on safety and high performance. Redox, following the microkernel design, aims to be secure, usable, and free. Redox is inspired by previous kernels and operating systems, such as SeL4, MINIX, Plan 9, and BSD.
|
||||
|
||||
Redox _is not_ just a kernel, it's a **full-featured Operating System**, providing packages (memory allocator, file system, display manager, core utilities, etc.) that together make up a functional and convenient operating system. You can loosely think of it as the GNU or BSD ecosystem, but in a memory safe language and with modern technology. See [this list](#ecosystem) for overview of the ecosystem.
|
||||
Redox _is not_ just a kernel, it's a **full-featured Operating System**, providing packages (memory allocator, file system, display manager, core utilities, etc.) that together make up a functional and convenient operating system. You can loosely think of it as the GNU or BSD ecosystem, but in a memory safe language and with modern technology.
|
||||
|
||||
The website can be found at https://www.redox-os.org. For hardware compatibility, see [HARDWARE.md](HARDWARE.md).
|
||||
|
||||
Please make sure you use the **latest nightly** of `rustc` before building (for more troubleshooting, see ["Help! Redox won't compile!"](#compile-help)).
|
||||
|
||||
[](https://gitlab.redox-os.org/redox-os/redox/tags)
|
||||
[](./LICENSE)
|
||||
|
||||
## Contents
|
||||
## What it looks like
|
||||
|
||||
* [What it looks like](#screenshots)
|
||||
* [Ecosystem](#ecosystem)
|
||||
* [Help! Redox won't compile](#compile-help)
|
||||
* [Contributing to Redox](#contributing)
|
||||
* [Cloning, Building and running](#cloning-building-running)
|
||||
* [Quick Setup](#quick-setup)
|
||||
* [Manual Setup](#manual-setup)
|
||||
* [Setup Using Podman](setup-using-podman)
|
||||
* [Setup Using Docker](#setup-using-docker)
|
||||
|
||||
## <a name="screenshots"> What it looks like </a>
|
||||
See [Redox in Action](https://www.redox-os.org/screens/).
|
||||
|
||||
<img alt="Redox" height="150" src="https://gitlab.redox-os.org/redox-os/assets/raw/master/screenshots/Senza%20titolo.jpeg">
|
||||
<img alt="Redox" height="150" src="https://gitlab.redox-os.org/redox-os/assets/raw/master/screenshots/redox running.jpeg">
|
||||
|
@ -35,7 +23,28 @@ Please make sure you use the **latest nightly** of `rustc` before building (for
|
|||
<img alt="Redox" height="150" src="https://gitlab.redox-os.org/redox-os/assets/raw/master/screenshots/Boot.png">
|
||||
<img alt="Redox" height="150" src="https://gitlab.redox-os.org/redox-os/assets/raw/master/screenshots/IMG_1459.PNG">
|
||||
|
||||
## <a name="ecosystem"> Ecosystem </a>
|
||||
|
||||
## Getting Started
|
||||
|
||||
Please read the [Getting Started Guide](https://doc.redox-os.org/book/ch02-00-getting-started.html) in the [Redox Book](https://doc.redox-os.org/book/).
|
||||
|
||||
### Trying Out Redox
|
||||
|
||||
You can try out the Redox download in an emulator, or boot from a USB. Please see the [Getting Started Guide](https://doc.redox-os.org/book/ch02-00-getting-started.html).
|
||||
|
||||
### Building Redox
|
||||
|
||||
The Redox build system is unique and complex, so you are best to follow the practices in the book. Please see the [Getting Started Guide](https://doc.redox-os.org/book/ch02-00-getting-started.html).
|
||||
|
||||
### Getting Help
|
||||
|
||||
Please join us on [Redox Chat](https://doc.redox-os.org/book/ch13-01-chat.html) for any concerns. You can post your questions or issues in [Redox Support](https://matrix.to/#/#redox-support:matrix.org) room.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you're interested in this project, and you'd like to help us out, have a look at [CONTRIBUTING](CONTRIBUTING.md).
|
||||
|
||||
## Ecosystem
|
||||
|
||||
The ecosystem and software Redox OS provides is listed below.
|
||||
|
||||
|
@ -71,102 +80,3 @@ The ecosystem and software Redox OS provides is listed below.
|
|||
| [The Redox book](https://gitlab.redox-os.org/redox-os/book) | **@hatred_45**
|
||||
| [userutils](https://gitlab.redox-os.org/redox-os/userutils) | **@jackpot51**
|
||||
|
||||
## <a name="compile-help"> Help! Redox won't compile! </a>
|
||||
|
||||
Sometimes things go wrong when compiling. Try the following before opening an issue:
|
||||
|
||||
1. Run `rustup update`
|
||||
1. Run `make clean pull`.
|
||||
1. Make sure you have **the latest version of Rust nightly!** ([rustup.rs](https://www.rustup.rs) is recommended for managing Rust versions. If you already have it, run `rustup`).
|
||||
1. Update **GNU Make**, **NASM** and **QEMU/VirtualBox**.
|
||||
1. Pull the upstream master branch (`git remote add upstream git@gitlab.redox-os.org:redox-os/redox.git; git pull upstream master`).
|
||||
1. Update submodules (`git submodule update --recursive --init`).
|
||||
1. Rebuild with `make rebuild`.
|
||||
|
||||
## <a name="contributing"> Contributing to Redox </a>
|
||||
|
||||
If you're interested in this project, and you'd like to help us out, [here](CONTRIBUTING.md) is a list of ways you can do just that.
|
||||
|
||||
## <a name="cloning-building-running"> Cloning, Building and Running </a>
|
||||
|
||||
Redox is big, even compressed. Downloading the full history may take a lot of bandwidth, and can even be costly on some data plans. Clone at your own risk!
|
||||
|
||||
### <a name="quick-setup" /> Quick Setup </a>
|
||||
|
||||
```bash
|
||||
$ cd path/to/your/projects/folder/
|
||||
|
||||
# Run bootstrap setup
|
||||
$ curl -sf https://gitlab.redox-os.org/redox-os/redox/raw/master/bootstrap.sh -o bootstrap.sh && bash -e bootstrap.sh
|
||||
|
||||
# Change to project directory
|
||||
$ cd redox
|
||||
|
||||
# Build Redox
|
||||
$ make all
|
||||
|
||||
# Launch using QEMU
|
||||
$ make qemu
|
||||
# Launch using QEMU without using KVM (Kernel-based Virtual Machine). Try if QEMU gives an error.
|
||||
$ make qemu kvm=no
|
||||
```
|
||||
|
||||
#### QEMU with KVM
|
||||
|
||||
To use QEMU with KVM (Kernel-based Virtual Machine), which is faster than without KVM, you need a CPU with Intel® Virtualization Technology (Intel® VT) or AMD Virtualization™ (AMD-V™) support. Most systems have this disabled by default, so you may need to reboot, go into the BIOS, and enable it.
|
||||
|
||||
### <a name="manual-setup"> Manual Setup </a>
|
||||
|
||||
To manually clone, build and run Redox using a Unix-based host, run the following commands (with exceptions, be sure to read the comments):
|
||||
```bash
|
||||
$ cd path/to/your/projects/folder/
|
||||
|
||||
# HTTPS
|
||||
$ git clone https://gitlab.redox-os.org/redox-os/redox.git --origin upstream --recursive
|
||||
# SSH
|
||||
$ git clone git@gitlab.redox-os.org:redox-os/redox.git --origin upstream --recursive
|
||||
|
||||
$ cd redox/
|
||||
|
||||
# Install/update dependencies
|
||||
$ ./bootstrap.sh -d
|
||||
|
||||
# Install rustup.rs
|
||||
$ curl https://sh.rustup.rs -sSf | sh
|
||||
$ source $HOME/.cargo/env
|
||||
|
||||
# Install cargo-config
|
||||
$ cargo install cargo-config
|
||||
|
||||
# For successive builds start here. If this is your first build, just continue
|
||||
|
||||
# Update git submodules
|
||||
$ git submodule update --recursive --init
|
||||
|
||||
# Build Redox
|
||||
$ make all
|
||||
|
||||
# Launch using QEMU
|
||||
$ make qemu
|
||||
|
||||
# Launch using QEMU without using KVM (Kernel-based Virtual Machine). Try if QEMU gives an error.
|
||||
$ make qemu kvm=no
|
||||
|
||||
# Launch using QEMU without using KVM (Kernel-based Virtual Machine) nor Graphics
|
||||
make qemu kvm=no vga=no
|
||||
```
|
||||
### <a name="setup-using-podman"> Setup using Podman </a>
|
||||
|
||||
[Redox Book instructions]
|
||||
|
||||
[Redox Book instructions]: https://doc.redox-os.org/book/ch02-06-podman-build.html
|
||||
|
||||
### <a name="setup-using-docker"> Setup using Docker </a>
|
||||
We also provide docker image. After cloning this repository, please follow README under the `docker` directory.
|
||||
|
||||
### Updating the codebase using the Makefile
|
||||
To update the codebase, run:
|
||||
|
||||
- `make pull; make fetch`
|
||||
|
||||
- `make pull` pulls and updates the submodules, and `make fetch` updates the sources for cookbook recipes.
|
||||
|
|
Loading…
Reference in a new issue