Загрузка сайта NIOS

NIOS 0.9 / x86-64 · UEFI

С нуля.
До рабочего
стола.

Независимая операционная система со своим ядром, знакомыми окнами и характером.

На флешке или в QEMU. Образ ≈ 47 МБ.

Это NIOS. Уже работает.Настоящий скриншот · 1920 × 1080
NIOS: браузер с Википедией, заметки, терминал и калькулятор на рабочем столе с закатными обоями

Самостоятельная. С самого начала.

Не только идея.
Целая система.

От загрузчика до окон — собственный код NIOS. Открывайте файлы, пишите заметки, рисуйте и выходите в интернет. Всё это уже есть на рабочем столе.

14
программ с окнамиОт файлов до браузера и игр
8 КиБ
свой UEFI-загрузчикС него начинается вся система
≈ 90 тыс.
строк своего кодаЗагрузчик, ядро, драйверы и программы

Знакомство без лишних кликов

Вот как это выглядит.

Прокручивайте. Рабочий стол сам покажет, что умеет.

01 / Рабочий стол

Место, где
всё начинается.

Тёплый закат, прозрачная панель и нужные программы под рукой. Стекло, тени и окна рисует сама NIOS.

Свой оконный менеджер и композитор
Рабочий стол NIOS с закатом и прозрачной панелью задач
02 / Меню «Пуск»

Нужное находится
с первых букв.

Программы, поиск и недавние файлы в одном месте. Нажмите Win, начните печатать — и откройте нужное с клавиатуры.

Поиск по программам и файлам
Меню Пуск NIOS с поиском, закреплёнными программами и недавними файлами
03 / Файлы

Каждой вещи —
своё место.

Папки, вкладки, быстрый доступ и превью. Переключайтесь между сеткой и списком, смотрите свойства и открывайте файлы.

Общие компоненты интерфейса NUI
Файловый менеджер NIOS с папками, вкладками и панелью свойств
04 / Заметки

Мысли становятся
текстом.

Лёгкий редактор с вкладками и живым Markdown. Заголовки, списки и выделение появляются прямо во время набора.

Обычные файлы в UTF-8
Редактор заметок NIOS с оформленным Markdown-документом
05 / Всё вместе

Окна открыты.
Можно работать.

Читайте сайт, делайте заметки и запускайте команды одновременно. Каждая программа работает в своём процессе.

Браузер на движке LibWeb
Браузер, заметки, терминал и калькулятор работают одновременно в NIOS
Все кадры — настоящие скриншоты NIOS.Попробовать самому

Загрузка

От кнопки питания
до рабочего стола.

Один запуск. Четыре шага. Всё начинает работать вместе.

01 / UEFI

Первое включение.

Прошивка находит загрузчик на флешке. Он читает ядро и программы в память, затем передаёт управление NIOS.

BOOTX64.EFI · всего 8 КиБ
02 / Ядро

Система просыпается.

Ядро настраивает память и таймер, собирает файловую систему. На экране появляется логотип и кольцо загрузки.

С этого момента работает код NIOS
03 / Оборудование

Всё на своих местах.

Подключаются клавиатура и мышь, сеть, диски, звук и питание. За кольцом уже проступают обои рабочего стола.

Собственные драйверы устройств
04 / Готово

Добро пожаловать
в NIOS.

Размытие уходит. Появляются рабочий стол и панель задач. Система готова открывать программы.

≈ 1 с от старта ядра в QEMU*

* Без времени прошивки UEFI и анимации перехода. На настоящем компьютере время зависит от оборудования.

Под поверхностью

Своя система.
На каждом уровне.

NIOS сама загружает компьютер, управляет памятью и устройствами, рисует окна и соединяется с сетью. Это один проект — от первой инструкции до приложения.

Посмотреть исходники
ПрограммыФайлы, заметки, рисование, браузер
04
ИнтерфейсОкна, стекло и библиотека NUI
03
ЯдроПамять, процессы, драйверы и сеть
02
ЗагрузчикПервый шаг после прошивки UEFI
01
Каждый слой делает свою часть работы.

У каждой программы своё пространство

Одна закрылась.
Остальные продолжают.

Ядро распределяет работу по ядрам процессора и изолирует память программ. Если приложение падает, рабочий стол остаётся на месте.

Заметки
Работает
Терминал
nik@nios:~$ ▌
Работает
Тестовая программа
Запущена
Рабочий стол продолжает работать
Иллюстрация изоляции процессов.

Один визуальный язык

Разные дела.
Знакомые детали.

Общие вкладки, панели и инструменты связывают программы в одну систему. Двенадцать программ — от рисования до игр — собраны из одних и тех же компонентов.

Рисование в NIOS
РисованиеКисти, фигуры, текст, слои и своя палитра.Творчество
Галерея в NIOS
ГалереяФотографии, альбомы и свойства каждого файла.Творчество
Файлы в NIOS
ФайлыПапки, превью картинок и карточка свойств.Работа
Заметки в NIOS
ЗаметкиЗаголовки, списки и выделение текста.Работа
Браузер в NIOS
БраузерНастоящие сайты на движке LibWeb.Интернет
Терминал в NIOS
ТерминалВкладки, команды и программы на C и C++.Работа
Настройки в NIOS
НастройкиОбои, акцентный цвет и разделы системы.Система
Проверка устройств в NIOS
Проверка устройствДинамики, микрофон и камера.Система
Калькулятор в NIOS
КалькуляторЧетыре действия, проценты и смена знака.Работа
Змейка в NIOS
ЗмейкаСчёт, рекорд и управление стрелками.Игры
2048 в NIOS
2048Сдвигайте плитки стрелками или WASD.Игры
Флэппи в NIOS
ФлэппиПролетите между трубами.Игры

NIOS + NIHub / NI Suite

Всё для работы.
Уже в NIOS.

NIOS поддерживает NIHub и приложения NI Suite. Документы, таблицы, презентации, файлы и общение — собирайте свой рабочий день в одной системе.

Один аккаунт NIID для всего набора
NIHub в NIOSНастоящий скриншот
NIHub в NIOS: приложения и недавние документы на главной странице
Рабочий стол NIOS · Приложения NI Suite

01 / NIHub

Ваш рабочий день
начинается здесь.

Проекты, команда и недавние файлы в одном месте. Открывайте нужное приложение и возвращайтесь к работе с главной страницы NIHub.

  • Проекты
  • Команда
  • Недавние файлы
08 приложений для ваших задачЕдиный вход через NIIDКаждому приложению — своё окно

Выйти за пределы рабочего стола

Открывайте интернет.

От адреса в строке до страницы на экране — пройдём этот путь вместе.

01 / Соединение

Адрес становится
соединением.

Свой DNS находит сайт, TCP/IP передаёт данные, TLS шифрует соединение. Браузер получает ответ через сетевой стек NIOS.

Свой TCP/IP · TLS 1.3 · HTTP/1.1
Новая вкладка браузера NIOS
02 / Страницы

Знакомые сайты.
В своём браузере.

Википедия, Хабр и другие настоящие страницы. Движок LibWeb из SerenityOS разбирает HTML, CSS и JavaScript; интерфейс и сеть ему даёт NIOS.

Вкладки, закладки, история и поиск
Википедия открыта в браузере NIOS
03 / Видео

Страницы могут
звучать и двигаться.

Видео и аудио воспроизводятся прямо на сайтах. Медиа поддерживает перенесённый FFmpeg, а звук и изображение выводит сама система.

Настоящий кадр с видео на Rutube
Видео Rutube в браузере NIOS

Браузер экспериментальный: часть сайтов работает иначе. Проверки сертификатов пока нет — важные аккаунты лучше открывать в основной ОС.

Когда текста мало

Голос, видео.
И ваш экран.

Браузер NIOS умеет звонить через Яндекс Телемост и Jitsi Meet. Собственная реализация WebRTC передаёт звук, видео и демонстрацию экрана.

МикрофонКамераЭкран

Работа камеры и микрофона зависит от поддержки устройств.

ПодключениеNIOS / WebRTC
А
Собеседник
Иллюстрация звонка, не действующее соединение.
Заставка ролика NIOS

Можно просто посмотреть

Две минуты о NIOS.

Загрузка, рабочий стол, браузер, NI Suite и всё, что за ними.

Смотреть ролик
Рабочий стол NIOS на иллюстрации ноутбука
x86-64 · UEFI · собственные драйверы

За пределами виртуальной машины

Настоящий
компьютер.

NIOS запускается в QEMU и на реальном ноутбуке. Поддержка конкретного компьютера зависит от его устройств.

Диски
NVMe, SATA и USB-флешки
Интернет
Ethernet RTL8111/8168; e1000 в QEMU
Ввод
PS/2-клавиатура, USB- и PS/2-мышь
Звук
HD Audio; проверен в QEMU

Пока без драйверов Wi-Fi, USB-клавиатур и USB-хабов. Камеры и тачпады проверены не на всех устройствах.

Начать с QEMU

Для тех, кто хочет добавить своё

Обычный C и C++.
Внутри NIOS.

SDK на musl и libstdc++: знакомые файлы, строки, контейнеры и потоки. Программа собирается в приложение NIOS и запускается из терминала.

Открыть SDK
hello.c → hello.app
#include <stdio.h>

int main(void) {
    puts("Привет из NIOS!");
    return 0;
}
$ make sdk
$ sdk/bin/nios-cc -O2 -o hello.app hello.c
nik@nios:~$ /bin/hello.app
Привет из NIOS!

После сборки положите hello.app в initrd/bin/ и пересоберите образ.

Следующий шаг — попробовать

Ваш первый запуск NIOS.

Попробуйте с флешки, запустите в QEMU или установите рядом с Windows.

NIOS 0.9x86-64 · UEFI

Первое знакомство

Флешка или QEMU.

Готовый образ системы. Запишите его на флешку или подключите к виртуальной машине.

USB-образВиртуальная машина
Открыть исходники

Исходники и инструкции доступны на GitHub.

УстановщикWindows 10/11 x64 · бета

На внутренний диск

Рядом с Windows.

NIOS на отдельном разделе, без флешки. Мастер поможет выделить место и удалить систему обратно.

Отдельный разделОт 8 ГБ на диске
Об установщике

Установщик ещё не опубликован.

Как запустить

Три шага до NIOS.

  1. 01

    Скачайте и распакуйте.

    В архиве находится готовый образ диска .img.

  2. 02

    Запишите на флешку.

    Откройте образ в Rufus (режим DD) или balenaEtcher. Запись сотрёт содержимое флешки.

  3. 03

    Выберите её при включении.

    Отключите Secure Boot и выберите флешку в меню загрузки UEFI.

x86-64 с UEFI · от 4 ГБ RAM · флешка от 256 МБ

Если Windows использует BitLocker, заранее сохраните ключ восстановления перед изменением Secure Boot.

Предпочитаете QEMU?Запуск без флешки

На Linux установите QEMU и OVMF, распакуйте образ. Пример для Debian / Ubuntu; пути к OVMF в других дистрибутивах могут отличаться.

cp /usr/share/OVMF/OVMF_VARS_4M.fd nios-vars.fd
qemu-system-x86_64 -machine q35 -accel kvm -cpu host -m 4096 -smp 4 \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
  -drive if=pflash,format=raw,file=nios-vars.fd \
  -device qemu-xhci,id=xhci \
  -drive if=none,id=stick,format=raw,file=nios-0.9-usb.img \
  -device usb-storage,bus=xhci.0,drive=stick,removable=on,bootindex=1 \
  -device usb-tablet,bus=xhci.0 \
  -device e1000,netdev=n0 -netdev user,id=n0 \
  -device ich9-intel-hda -device hda-micro -vga std

Без KVM замените «-accel kvm -cpu host» на «-accel tcg». Другие способы запуска и сборка образа — в README проекта.

Перед знакомством

Несколько
важных ответов.

NIOS развивается. Вот что полезно знать перед первым запуском.

Это Linux? Запустятся привычные программы?

NIOS — самостоятельная система со своим ядром. Готовые приложения Windows и Linux в ней не запускаются. Для собственных программ есть SDK на C и C++.

Почему нет Wi-Fi и USB-клавиатуры?

Драйверов радиомодулей Wi-Fi пока нет; интернет работает через поддерживаемые Ethernet-карты. Клавиатура нужна PS/2 — в QEMU она именно такая. USB-мыши и флешки поддерживаются, USB-хабы пока нет.

Сохраняются ли файлы после выключения?

Во время работы файлы находятся в памяти, а их снимок записывается в nios/userfs.img на носителе. В стандартном образе под него отведено 8 МБ. Выключайте систему через «Пуск», чтобы она дописала изменения.

Можно ли вводить пароли от важных аккаунтов?

Для важных аккаунтов используйте основной браузер в привычной ОС. TLS в NIOS шифрует соединение, но проверка сертификатов пока не реализована.

Что делать, если система не загружается?

Проверьте режим UEFI, отключение Secure Boot и способ записи образа. В меню загрузки выбирайте «UEFI: название флешки». Если компьютер несовместим, попробуйте QEMU. Журнал ядра NIOS открывается клавишей F12.

Какие компоненты взяты из других проектов?

В браузере используются LibWeb из SerenityOS, FFmpeg и готовые кодеки; в SDK — musl и libstdc++. Есть сторонние декодеры, распаковщики, библиотеки и шрифты. Полный список и тексты лицензий находятся в LICENSES и внутри NIOS в /system/licenses.