Commit 573b3481 authored by Coleman McFarland's avatar Coleman McFarland 💻

Hoist chapters 1, 2, 3, 4, 5, 6 into root folder

parent 356e2f0d
Pipeline #7062 passed with stage
in 5 minutes and 54 seconds
# The Redox Operating-System
- [Introduction](./welcome.md)
- [What is Redox?](./introduction/what_is_redox.md)
- [Our Goals](./introduction/our_goals.md)
- [Our Philosophy](./introduction/philosophy.md)
- [Why a New OS?](./introduction/why_redox.md)
- [Comparing Redox to Other OSes](./introduction/how_redox_compares_to_other_operating_systems.md)
- [Why Rust?](./introduction/why_rust.md)
- [Side projects](./introduction/side_projects.md)
- [Introduction](./ch01-01-welcome.md)
- [What is Redox?](./ch01-02-what-is-redox.md)
- [Our Goals](./ch01-03-our-goals.md)
- [Our Philosophy](./ch01-04-philosophy.md)
- [Why a New OS?](./ch01-05-why-redox.md)
- [Comparing Redox to Other OSes](./ch01-06-how-redox-compares.md)
- [Why Rust?](./ch01-07-why-rust.md)
- [Side projects](./ch01-08-side-projects.md)
- [Getting started](./getting_started/getting_started.md)
- [Trying Redox in a virtual machine](./getting_started/try_vm.md)
- [Running Redox on real hardware](./getting_started/real_hardware.md)
- [Preparing the build](./getting_started/preparing_the_build.md)
- [Compiling Redox](./getting_started/compiling_redox.md)
- [Trying Out Redox](./getting_started/trying_out_redox.md)
- [Questions and feedback](./getting_started/asking_questions_giving_feedback.md)
- [Getting started](./ch02-01-getting-started.md)
- [Trying Redox in a virtual machine](./ch02-02-try-vm.md)
- [Running Redox on real hardware](./ch02-03-real-hardware.md)
- [Preparing the build](./ch02-04-preparing-the-build.md)
- [Compiling Redox](./ch02-05-compiling-redox.md)
- [Trying Out Redox](./ch02-06-trying-out-redox.md)
- [Questions and feedback](./ch02-07-asking-questions.md)
- [Exploring Redox](./explore/explore.md)
- [Boot Process](./explore/boot_process.md)
- [Shell](./explore/shell.md)
- [GUI](./explore/gui.md)
- [Exploring Redox](./ch03-01-explore.md)
- [Boot Process](./ch03-02-boot-process.md)
- [Shell](./ch03-03-shell.md)
- [GUI](./ch03-04-gui.md)
- [The design](./design/design.md)
- [Components](./design/components.md)
- [URLs, schemes and resources](./design/urls_schemes_resources.md)
- [URLs](./design/url/urls.md)
- [How it works under the hood](./design/url/how_it_works.md)
- [Schemes](./design/scheme/schemes.md)
- [The root scheme](./design/scheme/the_root_scheme.md)
- [Resources](./design/resource/resources.md)
- [Stitching it all together](./design/url_scheme_resource/stiching_it_all_together.md)
- ["Everything is a URL"](./design/url_scheme_resource/everything_is_a_url.md)
- [An example](./design/url_scheme_resource/example.md)
- [The kernel](./design/kernel/kernel.md)
- [Microkernels](./design/kernel/microkernels.md)
- [Advantages of microkernels](./design/kernel/advantages.md)
- [Disadvantages of microkernels](./design/kernel/disadvantages.md)
- [Scheduling](./design/scheduling.md)
- [Memory management](./design/memory.md)
- [Drivers](./design/drivers.md)
- [Programs and Libraries](./design/programs_libraries.md)
- [Coreutils](./design/coreutils/coreutils.md)
- [Supplement utilities](./design/coreutils/supplement/index.md)
- [Binutils](./design/coreutils/supplement/binutils.md)
- [Extrautils](./design/coreutils/supplement/extrautils.md)
- [Development in user space](./userspace/index.md)
- [Writing an application for Redox](./userspace/writing_application/index.md)
- [Compiling your program](./userspace/writing_application/compiling_program.md)
- [Ion](./userspace/ion/ion.md)
- [What Ion is](./userspace/ion/what_ion_is.md)
- [The Manual](./userspace/ion/the_manual.md)
- [The design](./ch04-01-design.md)
- [Components](./ch04-02-components.md)
- [URLs, schemes and resources](./ch04-03-urls-schemes-resources.md)
- [URLs](./ch04-04-urls.md)
- [How it works under the hood](./ch04-05-how-it-works.md)
- [Schemes](./ch04-06-schemes.md)
- [The root scheme](./ch04-07-the-root-scheme.md)
- [Resources](./ch04-08-resources.md)
- [Stitching it all together](./ch04-09-stitching-it-all-together.md)
- ["Everything is a URL"](./ch04-10-everything-is-a-url.md)
- [An example](./ch04-11-example.md)
- [The kernel](./ch04-12-kernel.md)
- [Microkernels](./ch04-13-microkernels.md)
- [Advantages of microkernels](./ch04-14-advantages.md)
- [Disadvantages of microkernels](./ch04-15-disadvantages.md)
- [Scheduling](./ch04-16-scheduling.md)
- [Memory management](./ch04-17-memory.md)
- [Drivers](./ch04-18-drivers.md)
- [Programs and Libraries](./ch04-19-programs-libraries.md)
- [Coreutils](./ch04-20-coreutils.md)
- [Supplement utilities](./ch04-21-supplement.md)
- [Binutils](./ch04-22-binutils.md)
- [Extrautils](./ch04-23-extrautils.md)
- [Contributing](./contributing/contributing.md)
- [Communication](./contributing/communication/index.md)
- [Chat](./contributing/communication/chat.md)
- [Reddit](./contributing/communication/reddit.md)
- [Direct contributions](./contributing/direct_contributions/index.md)
- [Low hanging fruit](./contributing/direct_contributions/low_hanging_fruit.md)
- [GitLab issues](./contributing/direct_contributions/gitlab_issues.md)
- [How to do a bug report correctly](./contributing/direct_contributions/creating_proper_bug_reports.md)
- [Pull requests](./contributing/direct_contributions/pull_requests.md)
- [How to do a pull request properly](./contributing/direct_contributions/creating_proper_pull_requests.md)
- [Community](./contributing/indirect_contributions/community.md)
- [Best practices and guidelines](./contributing/best_practices/overview.md)
- [Literate programming](./contributing/documentation/literate_programming.md)
- [Writing docs correcty (TM)](./contributing/documentation/writing_docs_correctly.md)
- [Style](./contributing/best_practices/style.md)
- [Rusting properly](./contributing/best_practices/rusting_properly.md)
- [Avoiding panics in the kernel](./contributing/best_practices/avoiding_kernel_panics.md)
- [Git](./contributing/best_practices/git.md)
- [Development in user space](./ch05-01-user-space.md)
- [Writing an application for Redox](./ch05-02-writing-application.md)
- [Compiling your program](./ch05-03-compiling-program.md)
- [Ion](./ch05-04-ion.md)
- [What Ion is](./ch05-05-what-ion-is.md)
- [The Manual](./ch05-06-the-manual.md)
- [Contributing](./ch06-01-contributing.md)
- [Communication](./ch06-02-communication.md)
- [Chat](./ch06-03-chat.md)
- [Reddit](./ch06-04-reddit.md)
- [Direct contributions](./ch06-05-direct_contributions.md)
- [Low hanging fruit](./ch06-06-low-hanging-fruit.md)
- [GitLab issues](./ch06-07-gitlab-issues.md)
- [How to do a bug report correctly](./ch06-08-creating-proper-bug-reports.md)
- [Pull requests](./ch06-09-pull-requests.md)
- [How to do a pull request properly](./ch06-10-creating-proper-pull-requests.md)
- [Community](./ch06-11-community.md)
- [Best practices and guidelines](./ch06-12-best-practices.md)
- [Literate programming](./ch06-13-literate-programming.md)
- [Writing docs correcty (TM)](./ch06-14-writing-docs-correctly.md)
- [Style](./ch06-15-style.md)
- [Rusting properly](./ch06-16-rusting-properly.md)
- [Avoiding panics in the kernel](./ch06-17-avoiding-kernel-panics.md)
- [Git](./ch06-18-git.md)
......@@ -5,5 +5,5 @@ This is the Redox book, which will go through (almost) everything about Redox: d
*Please note that this book is currently being (re)written.*
If you want to skip straight to trying out Redox, see [Getting started](getting_started/getting_started.html).
If you want to skip straight to trying out Redox, see [Getting started](./ch02-01-getting-started.md).
......@@ -16,5 +16,5 @@ This means that a large number of standard programs and libraries will be compat
The key here is the trade off between correctness and compatibility. Ideally, you should be able achieve both, but unfortunately, you can't always do so.
[Why Rust]: ./why_rust.html
[Why Rust]: ./ch01-07-why-rust.md
......@@ -13,11 +13,7 @@ Linux runs the world, and boots on everything from high performance servers to t
- Legacy until infinity: Old syscalls stay around forever, drivers for long-unbuyable hardware stay in the kernel as mandatory parts. While they can be disabled, running them in kernel space is unnecessary, and can be a source of system crashes, security issues, and unexpected bugs.
- Huge codebase: To contribute, you must find a place to fit in to nearly _25 million lines of code_, in just the kernel. This is due to Linux's monolithic architecture.
<<<<<<< HEAD
- Non-permissive license: Linux is licensed under GPL2, preventing the use of other free software licenses inside of the kernel.
=======
- Non-permissive license: Linux is licensed under GPL2, preventing the use of other free software licenses inside of the kernel. For more on why, see [Our Philosophy](./philosophy.md).
>>>>>>> add mdbook-linkcheck to CI
- Non-permissive license: Linux is licensed under GPL2, preventing the use of other free software licenses inside of the kernel. For more on why, see [Our Philosophy](./ch01-04-philosophy.md).
- Lack of memory safety: Linux has had numerous issues with memory safety throughout time. C is a fine language, but for such a security critical system, C is difficult to use safely.
### BSD
......
......@@ -36,4 +36,4 @@ The main idea is to have components and drivers that would be inside a monolithi
All of this increases the reliability of the system significantly. This is useful for mission-critical applications and for users that want minimal issues with their computer systems.
[URLs, schemes, and resources]: ../design/urls_schemes_resources.html
[URLs, schemes, and resources]: ./ch04-03-urls-schemes-resources.md
......@@ -59,4 +59,4 @@ It is important to note we seek to avoid non-Rust tools, for safety and consiste
[uutils/coreutils]: https://github.com/uutils/coreutils
[m-labs/smoltcp]: https://github.com/m-labs/smoltcp
[Why Rust]: ../introduction/why_rust.html
[Why Rust]: ./ch01-07-why-rust.md
......@@ -6,6 +6,6 @@ We will start with the boot system, continuing to the shell and command-line uti
Redox is meant to be an *insanely* customizable system, allowing a user to tear it down to a very small command-line distro, or build it up to a full desktop environment with ease.
- [Boot Process](./boot_process.html)
- [Shell](./shell.html)
- [GUI](./gui.html)
- [Boot Process](./ch03-02-boot-process.md)
- [Shell](./ch03-03-shell.md)
- [GUI](./ch03-04-gui.md)
......@@ -84,11 +84,11 @@ The login program accepts a username, currently any username may be used, prints
############################
```
At this point, the user will now be able to access the [Shell](./shell.html)
At this point, the user will now be able to access the [Shell](./ch03-03-shell.md)
## Graphical overview
Here is an overview of the initialization process with scheme creation and usage.
For simplicity's sake, we do not depict all scheme interaction but at least the major ones.
![Redox initialization graph](./init.svg "Redox initialization graph")
![Redox initialization graph](./assets/init.svg "Redox initialization graph")
......@@ -29,4 +29,4 @@ The path argument of `OPEN` does not have to be a URL. For compatibility reasons
> TODO
[The root scheme]: ../scheme/the_root_scheme.html
[The root scheme]: ./ch04-07-the-root-scheme.md
......@@ -11,7 +11,7 @@
* `qemu-system-x86_64 -version` or your actual hardware specs, if applicable
* The operating system you used to build Redox
* `uname -a` or an alternative format
4. Make sure that your bug doesn't already have an issue on GitLab. If you submit a duplicate, you should accept that you may be ridiculed for it, though you'll still be helped. Feel free to ask in the Redox [chat](../communication/chat.html) if you're uncertain as to whether your issue is new
4. Make sure that your bug doesn't already have an issue on GitLab. If you submit a duplicate, you should accept that you may be ridiculed for it, though you'll still be helped. Feel free to ask in the Redox [chat](./ch06-03-chat.md) if you're uncertain as to whether your issue is new
5. Create a GitLab issue following the template
* Non-bug report issues may ignore this template
6. Watch the issue and be available for questions
......
# Pull Requests
It's completely fine to just submit a small pull request without first making an issue, but if it's a big change that will require a lot of planning and reviewing, it's best you start with writing an issue first. Also see the [git guidelines](../best_practices/git.html).
It's completely fine to just submit a small pull request without first making an issue, but if it's a big change that will require a lot of planning and reviewing, it's best you start with writing an issue first. Also see the [git guidelines](./ch06-18-git.md).
......@@ -21,7 +21,7 @@ The steps given below are for the main Redox project - submodules and other proj
8. Commit (`git add . --all; git commit -m "my commit"`)
9. Optionally run [rustfmt](https://gitlab.redox-os.org/rust-lang-nursery/rustfmt) on the files you changed and commit again if it did anything (check with `git diff` first)
10. Test your changes with `make qemu` or `make virtualbox` (you might have to use `make qemu kvm=no`, formerly `make qemu_no_kvm`)
(see [Best Practices and Guidelines](../best_practices/overview.html))
(see [Best Practices and Guidelines](./ch06-12-best-practices.md))
11. Pull from upstream (`git fetch upstream; git rebase upstream/master`) (Note: try not to use `git pull`, it is equivalent to doing `git fetch upstream; git merge master upstream/master`, which is not usually preferred for local/fork repositories, although it is fine in some cases.)
12. Repeat step 9 to make sure the rebase still builds and starts
13. Push to your fork (`git push origin my-branch`)
......
Chat
====
The quickest and most open way to communicate with the Redox team is on our chat server, powered with [Mattermost](https://about.mattermost.com/).
Currently, the only way to join it is by sending an email to [info@redox-os.org](mailto:info@redox-os.org), which might take a little while, since it's not automated. We're currently working on an easier way to do this, but this is the most convenient way right now.
The Redox team is also available on IRC, on the `#redox` and `#rust` channels, but be advertised that we are less present on IRC than the Chat.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment