Это официальный репозиторий ядра Libertyos. Libertyos-это операционная система, построенная из ржавчины, с открытым исходным кодом, свободного в использовании и открыта для новых участников. Все в LOS является или будет построено с нуля. В настоящее время LOS поддерживает системы x86_64 и может быть загружен на реальное оборудование, используя простой загрузчик. Эта операционная система работает непрерывно, и все изменения регистрируются в файле versionhistory.md (в корневом каталоге этого репозитория). Если вы хотите увидеть более подробное объяснение изменений между версиями, вы можете прочитать коммиты в репозитории GitHub.
Как внести свой вклад
Хотели бы вы помочь сделать это ядро еще лучше? У нас есть много вещей, которые необходимо сделать, и мы всегда могли бы использовать помощь, выполняя их! В этом репозитории есть папка (называемая «идеями»), которая содержит различные файлы, которые объясняют идею для ядра. Если у вас есть новая идея, просто создайте новый файл в папке «Идея», отправьте запрос на привлечение, и один из нас объединит вашу идею в главную филиал. Сейчас есть много отличных функций, над которыми работают, и мы могли бы использовать столько талантливых разработчиков, сколько сможем!
Блог
По состоянию на 22 августа 2022 года есть файл блога (blog.md). Это объяснит некоторые из разработчиков, которые принимаются, некоторые из проблем в разработке и того, что ожидать в ближайшем будущем. Libertyos не мертв. Впереди это светлое будущее для этого проекта.
Здание/бег Libertyos
- Клонировать это хранилище.
- Перейдите к месту, в которое вы клонировали это хранилище.
- Убедитесь, что вы установили следующее:
- Запустите сценарий начальной загрузки (./bootstrap.sh)
- Скомпилируйте ядро с «Сборка груза -смягчание», или запустите ядро в QEMU, используя «груз -запуск -смягчить».
В настоящее время реализованные функции
- Поддержка архитектуры X86-64
- Поддержка ящиков ржавчины и ящиков Alloc
- Распределение памяти, использование связанных списков, распределение приятелей и распределение ударов
- Основная обработка ошибок
- Встроенная поддержка для бега LOS с QEMU
- Поддержка нескольких макетов клавиатуры
- Основная поддержка асинхронных функций, в том числе основной задача
- Поддержка чтения/записи в файловые системы (поддержка конкретных файловых систем еще предстоит реализована, но основы уже были реализованы)
- Использует основную библиотеку, созданную для Libertyos (Libcore)
- Поддерживает математические расчеты, включая основную алгебру, геометрию и т. Д.
- Поддержка C-типа
- Основная поддержка разбора шрифтов
- Временное ведение
- Системные звонки
- Основное управление процессом
- Поддержка Stdin, Stdout и Stderr
- Основная поддержка запуска процессов в пользовательском пространстве
WIP функции
- Основная файловая система, созданная для Libertyos
- Полная документация для всего ядра
- Полная поддержка чтения/записи в живые файловые системы
- Основные сетевые возможности
- Поддержка компьютерных мышей
- Основная оболочка
Запланированные функции
- Поддержка целей на основе руки
- Поддержка Glibc/Musl (или, возможно, переписывание определенных частей)
- Поддержка FAT, FAT32, EXFAT файловые системы
- Поддержка файлов ext2, ext3, ext4
- Поддержка файловой системы NTFS
- Имена хостов
- Возможность обновлять ядро из операционной системы
- Поддержка не английских персонажей
- Полная поддержка Unicode
- Базовая настройка
В настоящее время ожидаемое поведение
- Ядро инициализирует критические части либертионов
- Ядро отображает сообщение о процессе настройки
- Ядро встречается с страницей. :(