Бесплатная и простая операционная система
Основная цель этого проекта - учиться, поэтому ожидайте некоторых ошибок. Если вы хотите внести свой вклад в проект, не стесняйтесь сделать запрос на тягу.
В этом проекте есть вики, объясняющая, как работает ОС с самого начала, поэтому не стесняйтесь проверять его здесь и открывать проблему, если вы найдете неправильную или неполную информацию.
Цель этого проекта не состоит в том, чтобы создать удобную и безопасную систему. Цель состоит в том, чтобы создать детскую площадку для возиции, где у вас много силы и много вещей, которые могут пойти не так. По мере развития проекта я хотел бы, чтобы это было более доступным во время выполнения, вместо того, чтобы напрямую редактировать код и повторно выполнять ОС. Возможность редактировать код и сборку во время выполнения (не обязательно код операционной системы) была бы удивительной.
Важной частью этого проекта, как следует из названия, состоит в том, чтобы сохранить его очень простым и свободным. Это очень важно понять, как работает все в проекте, что является одной из главных целей.
Некоторые интересные ресурсы, которые повлияли на философию проекта:
Примечание
В зависимости от дистрибутива, вам также может понадобиться пакетыqemu-ui-gtkиqemu-audio-paдля виртуальной машины.
Как только у вас будут все требования, просто запустите:
$ git clone https://github.com/fs-os/fs-os
$ cd fs-os
$ make
...Что будет таким же, как и следующее:
$ make limine # Clone and build the bootloader inside ./limine/, you only need to do this once
...
$ make sysroot
...
$ make fs-os.iso
...Примечание
Для получения дополнительной информации о процессе строительства и целевых зависимостей см. В разделе компиляции вики.
Или для тестирования напрямую с помощью QEMU:
$ make qemu
...Этот проект использует инструмент Doxygen для создания его документации.
| Название пакета (Gentoo) | Описание |
|---|---|
app-doc/doxygen | Доксиген для создания документации |
app-text/texlive | Для создания документации в формате латекса (для PDF) |
media-gfx/graphviz | (Необязательно*) для графиков |
dev-texlive/texlive-latexextra | (Необязательно) Требуется только для создания документации в формате PDF |
* Необходимо, если HAVE_DOT=YES в doxyfile (по умолчанию).
Просто беги:
$ doxygen
...
$ firefox doc/html/index.html
...Генерировать PDF от Latex (необязательно):
$ cd doc/latex
$ make pdf
...
$ firefox refman.pdf
...См. Todo.md или список Todo документации Doxygen.
Примечание
Некоторые скриншоты могут быть немного устаревшими.

