Sistema operacional grátis e simples
O principal objetivo deste projeto é aprender, portanto, espere alguns erros. Se você deseja contribuir com o projeto, fique à vontade para fazer uma solicitação de tração.
Este projeto tem um wiki explicando como o sistema operacional funciona desde o início; portanto, fique à vontade para verificar aqui e abrir um problema se encontrar informações erradas ou incompletas.
O objetivo deste projeto não é criar um sistema fácil de usar e seguro. O objetivo é criar um playground para mexer, onde você tem muito poder e muitas coisas que podem dar errado. À medida que o projeto evolui, eu gostaria que essa mexer fosse mais acessível em tempo de execução, em vez de ter que editar o código diretamente e recilomar o sistema operacional. Ser capaz de editar código e montagem em tempo de execução (não necessariamente o código do sistema operacional) seria incrível.
Uma parte importante deste projeto, como o nome indica, é mantê-lo muito simples e sem inchaço. É muito importante entender como tudo no projeto funciona, que é um dos principais objetivos.
Alguns recursos interessantes que influenciaram a filosofia do projeto:
Observação
Dependendo da distro, você também pode precisar dos pacotesqemu-ui-gtkeqemu-audio-papara a máquina virtual.
Depois de ter todos os requisitos, basta executar:
$ git clone https://github.com/fs-os/fs-os
$ cd fs-os
$ make
...Que seria o mesmo que o seguinte:
$ make limine # Clone and build the bootloader inside ./limine/, you only need to do this once
...
$ make sysroot
...
$ make fs-os.iso
...Observação
Para obter mais informações sobre o processo de construção e dependências de destino, consulte a seção de compilação do wiki.
Ou para testá -lo diretamente com Qemu:
$ make qemu
...Este projeto usa a ferramenta Doxygen para gerar sua documentação.
| Nome do pacote (Gentoo) | Descrição |
|---|---|
app-doc/doxygen | Doxygen para construir a documentação |
app-text/texlive | Para construir a documentação em formato de látex (para PDF) |
media-gfx/graphviz | (Opcional*) para os gráficos |
dev-texlive/texlive-latexextra | (Opcional) necessário apenas para construir a documentação em formato PDF |
* Necessário se HAVE_DOT=YES no Doxyfile (o padrão).
Basta correr:
$ doxygen
...
$ firefox doc/html/index.html
...Gerar pdf a partir de látex (opcional):
$ cd doc/latex
$ make pdf
...
$ firefox refman.pdf
...Consulte TODO.MD ou a lista TODO da documentação doxygen.
Observação
Algumas capturas de tela podem estar um pouco desatualizadas.

