Skip to content
Snippets Groups Projects
Commit 654929a7 authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Merge branch 'improve-faq' into 'master'

Add documentation and improvements to the FAQ

See merge request !343
parents cbef0f87 cb6011eb
No related branches found
No related tags found
1 merge request!343Add documentation and improvements to the FAQ
Pipeline #12816 failed
......@@ -11,11 +11,17 @@ This page covers questions/answers for newcomers and end-users.
- [What I can do with Redox?](#what-i-can-do-with-redox)
- [What is a Unix-like OS?](#what-is-a-unix-like-os)
- [How Redox is inspired by other systems?](#how-redox-is-inspired-by-other-systems)
- [Plan 9](#plan-9)
- [Minix](#minix)
- [seL4](#sel4)
- [BSD](#bsd)
- [Linux](#linux)
- [What is a microkernel?](#what-is-a-microkernel)
- [What programs can Redox run?](#what-programs-can-redox-run)
- [How to install programs on Redox?](#how-to-install-programs-on-redox)
- [Which are the Redox variants?](#which-are-the-redox-variants)
- [Which devices does Redox support?](#which-devices-does-redox-support)
- [I have a low-end computer, would Redox work on it?](#i-have-a-low-end-computer-would-redox-work-on-it)
- [Which virtual machines does Redox have integration with?](#which-virtual-machines-does-redox-have-integration-with)
- [How do I build Redox?](#how-do-i-build-redox)
- [How to launch QEMU without GUI](#how-to-launch-qemu-without-gui)
......@@ -118,22 +124,36 @@ Any OS compatible with [Single Unix Specification](https://en.wikipedia.org/wiki
## How Redox is inspired by other systems?
[Plan 9](http://9p.io/plan9/index.html) - This Bell Labs OS brings the concept of "everything is a file" to the highest level, doing all the system communication from the filesystem.
### [Plan 9](http://9p.io/plan9/index.html)
This Bell Labs OS brings the concept of "everything is a file" to the highest level, doing all the system communication from the filesystem.
- [Drew DeVault explains the Plan 9](https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html)
- [Plan 9's influence on Redox](https://doc.redox-os.org/book/ch05-00-urls-schemes-resources.html)
[Minix](https://minix3.org/) - The most influential Unix-like system with a microkernel, it has advanced features such as system modularity, [kernel panic](https://en.wikipedia.org/wiki/Kernel_panic) resistence, driver reincarnation, protection against bad drivers and secure interfaces for [process comunication](https://en.wikipedia.org/wiki/Inter-process_communication).
### [Minix](https://minix3.org/)
The most influential Unix-like system with a microkernel, it has advanced features such as system modularity, [kernel panic](https://en.wikipedia.org/wiki/Kernel_panic) resistence, driver reincarnation, protection against bad drivers and secure interfaces for [process comunication](https://en.wikipedia.org/wiki/Inter-process_communication).
Redox is largely inspired by Minix, it has a similar architecture and feature set written in Rust.
- [How Minix influenced the Redox design](https://doc.redox-os.org/book/ch04-01-microkernels.html)
[BSD](https://www.bsd.org/) - This Unix OS [family](https://en.wikipedia.org/wiki/Research_Unix) included several improvements on Unix systems, the most notable is [BSD sockets](https://en.wikipedia.org/wiki/Berkeley_sockets), that brings network communication with file-like operation (before Plan 9).
### [seL4](https://sel4.systems/)
The most fast and simple microkernel of the world, it aims for performance and simplicity.
Redox follow the same principle, trying to make the kernel-space small as possible (moving components to user-space and reducing the number of system calls, passing the complexity to user-space) and keeping the overall performance good (reducing the context switch cost).
### [BSD](https://www.bsd.org/)
This Unix [family](https://en.wikipedia.org/wiki/Research_Unix) included several improvements on Unix systems, the open-source variants of BSD added many improvements to the original system (like Linux did).
- [FreeBSD documentation](https://docs.freebsd.org/en/books/developers-handbook/sockets/)
[FreeBSD](https://www.freebsd.org/) is the most notable example, Redox took inspiration from [Capsicum](https://man.freebsd.org/cgi/man.cgi?capsicum(4)) (a capability-based system) and [jails](https://en.wikipedia.org/wiki/Freebsd_jail) (a sandbox technology) for the namespaces implementation.
[Linux](https://www.kernel.org/) - the most advanced monolithic kernel of the world and biggest open-source project of the world, it brings several improvements/optimizations to Unix-like systems.
### [Linux](https://www.kernel.org/)
The most advanced monolithic kernel and biggest open-source project of the world, it brought several improvements and optimizations to the Unix-like world.
Redox tries to implement the Linux performance improvements in a microkernel design.
......@@ -243,7 +263,15 @@ Have a look at [HARDWARE.md](https://gitlab.redox-os.org/redox-os/redox/-/blob/m
- [Intel 10 Gigabit ethernet](https://gitlab.redox-os.org/redox-os/drivers/-/tree/master/ixgbed)
- [Realtek ethernet](https://gitlab.redox-os.org/redox-os/drivers/-/tree/master/rtl8168d)
(Wi-Fi/[Atheros ethernet]((https://gitlab.redox-os.org/redox-os/drivers/-/tree/master/alxd)) soon)
(Wi-Fi/[Atheros ethernet](https://gitlab.redox-os.org/redox-os/drivers/-/tree/master/alxd) soon)
## I have a low-end computer, would Redox work on it?
A computer processor is the most complex machine of the world, even the most old processors are powerful for some tasks, it depends on the task.
The main problem with old computers is the amount of RAM available (they were sold in a epoch where RAM chips were expensive), thus some modern programs will require a lot of RAM because they do complex tasks.
Said this, Redox will run normally (if the processor architecture is supported by the system).
## Which virtual machines does Redox have integration with?
......@@ -256,11 +284,11 @@ A [hypervisor](https://en.wikipedia.org/wiki/Hypervisor) is software providing t
## How do I build Redox?
Currently Redox has a bootstrap script for Debian/Ubuntu/Pop OS! with unmaintained support for other distributions.
Currently Redox has a bootstrap script for Pop OS!, Ubuntu, Debian, Fedora, Arch Linux, openSUSE and FreeBSD with unmaintained support for other distributions.
We are moving to use Podman as our main compilation method, it is the recommended build process for non-Debian systems because it avoids environment problems on compilation.
We also offer Podman as our universal compilation method, it is the recommended build process for non-Debian systems because it avoids environment problems on the build process.
- [Redox Book Guide](https://doc.redox-os.org/book/ch02-05-building-redox.html) - (Debian/Ubuntu/Pop OS!)
- [Redox Book Guide](https://doc.redox-os.org/book/ch02-05-building-redox.html) - (Pop OS!, Ubuntu, Debian, Fedora, Arch Linux, openSUSE and FreeBSD)
- [Redox Book Podman Guide](https://doc.redox-os.org/book/ch02-06-podman-build.html)
### How to launch QEMU without GUI
......@@ -271,17 +299,13 @@ Run:
### How to troubleshoot your build in case of errors
Refer to the Redox Book to see if the problem is your build configuration or toolchain, if you still have problems, see the following or join us on [Redox Chat](https://doc.redox-os.org/book/ch13-01-chat.html).
- [Redox Book Troubleshooting Guide](https://doc.redox-os.org/book/ch08-05-troubleshooting.html)
- [GitLab Troubleshooting Guide](https://gitlab.redox-os.org/redox-os/redox#help-redox-wont-compile)
Read [this](https://doc.redox-os.org/book/ch08-05-troubleshooting.html) page or join us on [Redox Chat](https://doc.redox-os.org/book/ch13-01-chat.html).
### How to report bugs on Redox
Check GitLab Issues first to see if your problem is already known.
- [Redox Book Bug Report Guide](https://doc.redox-os.org/book/ch12-03-creating-proper-bug-reports.html)
- [CONTRIBUTING](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/CONTRIBUTING.md)
## How do I contribute to Redox?
......@@ -291,5 +315,4 @@ You can contribute to Redox in many ways, you can see them on [CONTRIBUTING](htt
- Have a look at the [Documentation](/docs/) page for more details of Redox internals.
- Have a look at the [Redox Book](https://doc.redox-os.org/book/) to see if it answers your questions/fixes your problem.
- If the book does not answer your question, ask your question/say your problem in [Redox Support](https://matrix.to/#/#redox-support:matrix.org) or [Redox Dev](https://matrix.to/#/#redox-dev:matrix.org
) rooms on Matrix.
- If the book does not answer your question, ask your question/say your problem on the [Chat](https://doc.redox-os.org/book/ch13-01-chat.html).
......@@ -11,11 +11,17 @@ Essa página contém perguntas/respostas para iniciantes e usuários comuns.
- [O que posso fazer com o Redox?](#o-que-posso-fazer-com-o-redox)
- [O que é um sistema Unix-like?](#o-que-%C3%A9-um-sistema-unix-like)
- [Como o Redox é inspirado em outros sistemas?](#como-o-redox-%C3%A9-inspirado-em-outros-sistemas)
- [Plan 9](#plan-9)
- [Minix](#minix)
- [seL4](#sel4)
- [BSD](#bsd)
- [Linux](#linux)
- [O que é um microkernel?](#o-que-%C3%A9-um-microkernel)
- [Quais programas o Redox executa?](#quais-programas-o-redox-executa)
- [Como instalar programas no Redox?](#como-instalar-programas-no-redox)
- [Quais são as variantes do Redox?](#quais-são-as-variantes-do-redox)
- [Quais dispositivos o Redox suporta?](#quais-dispositivos-o-redox-suporta)
- [Tenho um computador fraco, o Redox irá funcionar?]
- [Quais máquinas virtuais o Redox possui integração?](#quais-m%C3%A1quinas-virtuais-o-redox-possui-integra%C3%A7%C3%A3o)
- [Como compilar o Redox?](#como-compilar-o-redox)
- [Como abrir o QEMU sem interface gráfica](#como-abrir-o-qemu-sem-interface-gr%C3%A1fica)
......@@ -114,24 +120,38 @@ Qualquer sistema compátivel com a [Especificação Única do Unix](https://en.w
## Como o Redox é inspirado em outros sistemas?
[Plan 9](http://9p.io/plan9/index.html) - Este sistema da Bell Labs trouxe o conceito de "Tudo é um arquivo" ao seu maior nível, fazendo toda a comunicação do sistema pelo sistemas de arquivos.
### [Plan 9](http://9p.io/plan9/index.html)
Este sistema da Bell Labs trouxe o conceito de "Tudo é um arquivo" ao seu maior nível, fazendo toda a comunicação do sistema pelo sistemas de arquivos.
Você apenas precisa montar o software em algum local para obter a função desejada, qualquer software pode funcionar dessa forma.
- [Drew DeVault explicando o Plan 9](https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html)
- [Como o Redox foi influenciado pelo Plan 9](https://doc.redox-os.org/book/ch05-00-urls-schemes-resources.html)
[Minix](https://minix3.org/) - o sistema Unix-like com microkernel mais influente, ele possuí funções avançadas tais como modularidade do sistema, resistência a [quebra do kernel](https://en.wikipedia.org/wiki/Kernel_panic), reincarnação de driver, proteção contra drivers ruins e interfaces seguras para a [comunicação dos processos](https://en.wikipedia.org/wiki/Inter-process_communication).
### [Minix](https://minix3.org/)
O sistema Unix-like com microkernel mais influente, ele possuí funções avançadas tais como modularidade do sistema, resistência a [quebra do kernel](https://en.wikipedia.org/wiki/Kernel_panic), reincarnação de driver, proteção contra drivers ruins e interfaces seguras para a [comunicação dos processos](https://en.wikipedia.org/wiki/Inter-process_communication).
O Redox é largamente inspirado pelo Minix, ele tem funções e arquitetura similar escrita em Rust.
- [Como o Redox foi influenciado pelo Minix](https://doc.redox-os.org/book/ch04-01-microkernels.html)
[BSD](https://www.bsd.org/) - Essa [família](https://en.wikipedia.org/wiki/Research_Unix) de sistemas Unix fez diversas melhorias para os sistemas Unix, a mais notável são os [sockets BSD](https://en.wikipedia.org/wiki/Berkeley_sockets), eles trazem a comunicação de rede com operação de arquivos (antes do Plan 9).
### [seL4](https://sel4.systems/)
O mais veloz e simples microkernel do mundo, focado em desempenho e simplicidade.
O Redox segue o mesmo princípio, tentando deixar o espaço do kernel o menor possível (movendo componentes para o espaço do usuário e reduzindo a quantidade de chamadas do sistema, passando a complexidade para o espaço do usuário) e mantendo o desempenho geral bom (reduzindo o custo da troca de contexto).
### [BSD](https://www.bsd.org/)
Essa [família](https://en.wikipedia.org/wiki/Research_Unix) de sistemas Unix implementou diversas melhorias para os sistemas Unix, as variantes de código-aberto dos sistemas BSD adicionaram muitas melhorias no sistema original (assim como o Linux fez).
- [Documentação do FreeBSD](https://docs.freebsd.org/en/books/developers-handbook/sockets/)
[FreeBSD](https://www.freebsd.org/) é o exemplo mais notável, o Redox se inspirou no [Capsicum](https://man.freebsd.org/cgi/man.cgi?capsicum(4)) (um sistema de capacidades) e [jails](https://en.wikipedia.org/wiki/Freebsd_jail) (uma tecnologia de isolamento) para a implementação dos namespaces.
[Linux](https://www.kernel.org/) - o kernel monolítico mais avançado do mundo e maior projeto de código-aberto do mundo, ele traz diversas melhorias/otimizações para sistemas Unix-like.
### [Linux](https://www.kernel.org/)
O kernel monolítico mais avançado e o maior projeto de código-aberto do mundo, ele trouxe muitas melhorias e otimizações para o mundo Unix-like.
O Redox tenta implementar as melhorias de desempenho do Linux em um design de microkernel.
......@@ -241,6 +261,14 @@ Leia o [HARDWARE.md](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/HA
(Wi-Fi/[Atheros ethernet](https://gitlab.redox-os.org/redox-os/drivers/-/tree/master/alxd) em breve)
## Tenho um computador fraco, o Redox irá funcionar?
Um processador de computador é a máquina mais complexa do mundo, até os mais antigos são poderosos para a maioria das tarefas, isso depende da tarefa.
O principal problema com os computadores antigos é a quantidade de memória RAM disponível (eles foram vendidos em uma época onde pentes de memória RAM eram caros), portanto alguns programas modernos precisaram de bastante memória RAM por que eles efetuam tarefas complexas.
Dito isto, o Redox irá funcionar normalmente (se a arquitetura do processador for suportada pelo sistema).
## Quais máquinas virtuais o Redox possui integração?
- [QEMU](https://www.qemu.org/)
......@@ -252,11 +280,11 @@ Um [supervisor](https://en.wikipedia.org/wiki/Hypervisor) é um software que exe
## Como compilar o Redox?
Atualmente o Redox tem um script de bootstrap para o Debian/Ubuntu/Pop OS! com suporte não mantido para outras distribuições.
Atualmente o Redox tem um script de bootstrap para o Pop OS!, Ubuntu, Debian, Fedora, Arch Linux, openSUSE e FreeBSD com suporte não mantido para outras distribuições.
Nós estamos em transição para o Podman como nosso método de compilação principal, ele é método de compilação recomendado para sistemas que não sejam baseados no Debian, pois ele evita problemas de ambiente durante a compilação.
Nós também oferecemos o Podman como método de compilação universal, esse é método de compilação recomendado para sistemas que não sejam baseados no Debian, pois ele evita problemas de ambiente durante a compilação.
- [Guia no Livro do Redox](https://doc.redox-os.org/book/ch02-05-building-redox.html) - (Debian/Ubuntu/Pop OS!)
- [Guia no Livro do Redox](https://doc.redox-os.org/book/ch02-05-building-redox.html) - (Pop OS!, Ubuntu, Debian, Fedora, Arch Linux, openSUSE and FreeBSD)
- [Guia do Podman no Livro do Redox](https://doc.redox-os.org/book/ch02-06-podman-build.html)
### Como abrir o QEMU sem interface gráfica
......@@ -267,10 +295,7 @@ Execute:
### Como diagnosticar seu Redox em caso de erros
Leia todo o livro do Redox antes para ver se seu problema é sua configuração de compilação ou ferramentas de compilação, se isto não resolver seu erro, leia:
- [Guia de Diagnóstico no Livro do Redox](https://doc.redox-os.org/book/ch08-05-troubleshooting.html)
- [Guia de Diagnóstico no GitLab](https://gitlab.redox-os.org/redox-os/redox#help-redox-wont-compile)
Leia [essa](https://doc.redox-os.org/book/ch08-05-troubleshooting.html) página ou nos explique no [Chat](https://doc.redox-os.org/book/ch13-01-chat.html).
### Como reportar bugs para o Redox?
......@@ -283,8 +308,8 @@ Verifique as Issues no GitLab primeiro para ver se seu problema é conhecido.
Você pode contribuir para o Redox de diversas formas, veja elas em [CONTRIBUTING](https://gitlab.redox-os.org/redox-os/redox/blob/master/CONTRIBUTING.md).
## Eu tenho um problema/pergunta para a equipe do Redox
## Eu tenho um pergunta/problema para a equipe do Redox
- Leia a [Documentação](/docs/).
- Leia todo [livro do Redox](https://doc.redox-os.org/book/) para ver se isso responde suas pergunta/corrige seu problema.
- Se a documentação/livro não resolver, diga sua pergunta/problema nas salas [Redox Support](https://matrix.to/#/#redox-support:matrix.org) ou [Redox Dev](https://matrix.to/#/#redox-dev:matrix.org) no Matrix.
- Leia todo o [livro do Redox](https://doc.redox-os.org/book/) para ver se isso responde sua pergunta/corrige seu problema.
- Se a documentação/livro não resolver, diga sua pergunta/problema no [Chat](https://doc.redox-os.org/book/ch13-01-chat.html).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment