Перейти к содержимому

Рекомендуемые сообщения

(логотип)

Giez BIOS (читается как "джайз", /d͡ʒaɪ̯z/) -- мой небольшой проект и в принципе моя первая серьёзная (если не первая вообще) программа для OpenComputers. Это не очень большой (по функционалу) BIOS, который предназначен прежде всего как более стабильная замена для advancedLoader от Luca_S, на котором он основан. Giez BIOS предназначен как своего рода медиана между Cyan BIOS/Top BIOS и Lua BIOS, идеально подойдёт для 2-го уровня компьютеров и прекрасно сработает для 1-го и 3-го уровней.

 

Фичи

  • При наличии более 1-го загрузочного устройства показывает меню загрузки, где можно выбрать одно из устройств. Меню также можно вызвать при единственном устройстве, если нажать на клавишу или коснуться экрана.
  • Показывает небольшую иконку улыбающегося Джайзика при загрузке, и в случае ошибки системы также покажет его с крестиками на глазах (вдохновлён старыми компьютерами Macintosh).
  • При изменении загрузочных носителей, автоматически обновит их список. Обновление можно сделать и вручную путём нажатия клавиши R или нажатии на текстовую подсказку.
  • Задействует звуковую карту из Computronics, воспроизводя приятный мажор при загрузке и разочарованный минор при ошибке системы (хотя звуки будут даже и без неё).
  • Если попытаться загрузить компьютер без наличия видеокарты или дисплея, то издаст долгий тон и выключит компьютер (на робота Giez BIOS также не полезет).
  • Из коробки умеет загружать некоторые операционные системы с другим именем загрузочного скрипта (MineOS и Plan9K). Для совсем уникальных ОС есть возможность пользовательской загрузки, где пользователь может вручную указать адрес диска и имя загрузочного скрипта, и Giez BIOS с него попробует загрузиться.
  • Имеет возможность нетбута -- из под BIOS-а можно загрузить Lua скрипт, выложенный в интернете (при наличии интернет-карты, конечно же).

 

Скриншоты

Цитата

0.png.30a29f956ebdee810ca9b755c11d33d6.png1.png.928d5a9310aacd32a116d797344e9c7a.png2.png.5521e2bdba5ce1fd45bd2b1bfef703f3.png3.png.8c6b864ba408e59bff81fb6228d2f3d2.png

 

Как прошить

Способ I: через установочный скрипт

Этот способ сработает только в OpenOS.

  1. Получите установочный скрипт с интернета при помощи команды wget:
    wget https://file.garden/aHlPW_AJYmkZ5fxg/OpenComputers/GiezBIOSinstaller.lua /tmp/GiezBIOSinstaller.lua

    (его также можно получить у кого-то ещё, если играете на сервере, закинуть в папку жёсткого диска в локальном мире, и т.д).

  2. Запустите скрипт. Вставьте в компьютер EEPROM, в который хотите прошить Giez BIOS, и введите "y".
    (для самого установщика интернет уже не нужен).
  3. Если хотите ещё сделать Giez BIOS на EEPROM-е вечным, введите "l", затем "y".
    (внимание: операция необратима)

Способ II: ручная прошивка

Применим на любой системе. Команды ниже работают только на OpenOS.

  1. Получите файл прошивки с интернета.
    wget https://file.garden/aHlPW_AJYmkZ5fxg/OpenComputers/GiezBIOS_o2.lua /tmp/GiezBIOS.lua

    (опять же, его также можно получить другими способами).

  2. Вставьте в компьютер EEPROM, в который хотите прошить Giez BIOS. Используя утилиту прошивки EEPROM, прошейте его на полученный файл:
    flash /tmp/GiezBIOS.lua "Giez BIOS 1.7.12"

     

 

Интересно узнать что другие думают об этом EEPROM-е. Не обижусь, если переместите в "Программы новичков", всё-таки Giez BIOS малофункционален.

 

Текущая версия: 1.7.12

Исходный код: Giez BIOS.lua

Готовая к прошивке версия: https://file.garden/aHlPW_AJYmkZ5fxg/OpenComputers/GiezBIOS_o2.lua

Установочный скрипт для OpenOS: https://file.garden/aHlPW_AJYmkZ5fxg/OpenComputers/GiezBIOSinstaller.lua

(я загружу в другое место если для вас недоступно).

 

Лицензия: MIT.

 

Изменено пользователем VyaCHACHsel
Новая версия 1.7.12

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновление: Giez BIOS версия 1.2.2

Список изменений

  • Исправлен сенсорный ввод (экраны ур. 2 и 3)
  • Теперь есть возможность обновлять список загрузочных устройств путём нажатия клавиши R (рус. К) или касанием подсказки.
  • Техническое: т.к. функция расчёта памяти компьютера не используется, она была вырезана.
Изменено пользователем VyaCHACHsel
грамматика

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думаю позже сжимать последующие релизы Giez BIOS через bpacker, он выжимает очень много места, и это через LZSS (т.е. без карты данных). Потенциал для кода будет больше, и мне интересно что вы хотите, чтобы я добавил в своё творение. Сразу говорю: всё подряд добавлять не буду и я не хочу и пытаться конкурировать с EEPROM-ами типа CyanBIOS.

 

Сейчас я думаю ещё добавить простой netboot (загрузка со скрипта по ссылке) и возможность указать, какой именно скрипт BIOS'у загрузить с какого места (на случай, если загрузочный скрипт ОС не init.lua, OS.lua или boot/kernel/pipes). Правда пол-логики netboot мне наверно придётся тыбзить (во имя открытого ПО) у других BIOS с такой возможностью, которые его тыбзили у MineOS EFI :]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, cackemc сказал:

image.png.565e71bad77073a620acffee75ffff20.png

не ставится чота

Чтобы прошить EEPROM на Giez BIOS, нужно использовать утилиту flash на минифицированной версии, например:

 

flash "Giez BIOSminified.lua"

 

Напрямую скрипт в OpenOS не запускать. К следующему апдейту я тогда сделаю небольшую консольную утилиту, которая качает и ставит его, для удобства.

Изменено пользователем VyaCHACHsel
правописание

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновление: Giez BIOS версия 1.2.3

Список изменений

  • Поддержка запуска Plan9k и MineOS.

  • Подсказка для обновления списка загрузочных устройств теперь выглядит больше как кнопка/ссылка, намекая на возможность касания текста для обновления.

  • Больше Giez BIOS не закрывает меню автоматически, если осталось только одно устройство.

  • Разработан скрипт, прошивающий компьютер под Giez BIOS (работает только в OpenOS).

Планы

  • Возможность вручную настроить BIOS на загрузочный скрипт с кастомным именем.
  • Не выключать компьютер пользователя при ошибке загрузки, а дать возможность остаться в меню, настроить имя загрузочного скрипта, провести netboot или просто найти устройства ещё раз

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновление: Giez BIOS версия 1.2.4

Список изменений

  • Техническое: Небольшая переработка кода -- в исходниках комментарии, больше сокращений и улучшенное форматирование; теперь он ещё лучше минифицируется.

  • Giez BIOS теперь автоматически обновляет список устройств, если заметит добавление или убирание устройства.

  • BIOS больше не вылетает, если вытащить звуковую карту.

  • При отключении дисплея или вытаскивании видеокарты теперь тоже выключает компьютер.

  • Звук ошибки системы со звуковой карты теперь воспроизводится чуть-чуть медленее.

Изменено пользователем VyaCHACHsel
грамматика

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновление: Giez BIOS версия 1.7.9

Список изменений

  • Изменена нумерация версий. Теперь версии указываются в виде "<год разработки>.<месяц>.<день>(.<патч>)". Например, эта версия -- 1.7.9 -- вышла в 1-й год разработки (2026 г.), 7-м месяце (июле), 9-го числа.

  • Техническое: Код теперь не только минифицируется, но и сжимается при помощи LZSS.

  • При запуске с единственным загрузочным устройством, перед автозагрузкой теперь есть небольшая задержка, во время которой можно нажать на клавишу (или коснуться экрана) чтобы выйти в меню. Также автозагрузка отменится если вставить или извлечь накопитель.

  • Добавлена возможность нетбута -- загрузки со скрипта, выложенного в интернет. Ссылку можно как ввести вручную, так и вставить (ср. кнопка мыши).

    • Предупреждение: не запускайте рандомные скрипты с интернета, что в O.C, что в реале. Ответственность за сломанные из-за вирусного скрипта Майнкрафт-ПК я не несу (ежу понятно).

  • Знаки копирайта были изменены с "(c)" на "©".

  • Ошибки BIOS теперь отлавливаются и отображаются на экране как "Giez meditation".

  • Вытаскивание компонентов больше почти не приводит к "медитации" Giez BIOS.

    • Единственное исключение -- вытаскивание EEPROM. Теперь это действие немедленно сажает Giez BIOS на медитацию.

Изменено пользователем VyaCHACHsel
грамматика

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, тут такое дело. Установщик я выложил, но он не работал, и не мог понять почему. Сжатый код BIOS'а в установщике был "слишком большой" для EEPROM, хотя если его прошить вручную то он легко умещается и ещё пустое место остаётся. Покопавшись, понял, что оказывается мой текстовый редактор вставлял кириллические символы в сжатых данных в неверной кодировке (UTF-8 а не Windows-1251), из-за чего и раздувался размер. А потом ещё оказалось, что нулевые символы (символ номер ноль) вставлялись как пробелы (символ номер тридцать два).

 

Короче, я починил установщик Giez BIOS. Если вы качали его до этого поста, прошу перескачать.

Изменено пользователем VyaCHACHsel
ещё одна скобка

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновление: Giez BIOS версия 1.7.12

Список изменений

  • Последний загруженный накопитель теперь помечается как накопитель по умолчанию. Если он присутствует, неважно какое кол-во устройств на компьютере, Giez BIOS начнёт автозагрузку с него (её также можно отменить нажатием любой клавиши). 

  • Задержка перед автозагрузкой стала чуть меньше, и её промт был сокращён: убрано имя устройства, с которого он будет загружаться.

  • Добавлена возможность пользовательской загрузки. Можно ввести адрес устройства и имя скрипта, чтобы с него загрузиться.

  • Если Giez BIOS не находит ни одно загрузочное устройство, больше не происходит никаких вылетов. Вместо этого просто открывается меню загрузки с пометкой "No bootable medium found", и можно вставить дискету, чтобы BIOS её нашёл, либо провести нетбут или пользовательскую загрузку.

  • Цвета на экранах 2-го уровня теперь полностью соответствуют цветам на экранах 3-го уровня.

  • При вставке текста через СКМ текст больше не обрезается справа.

  • У "маскота" Giez BIOS появилось имя -- Джайзик.

  • Установщик немного обновлён визуально.

  • Техническое: больше комментариев в исходном коде, больше сокращений.

  • Техническоев начале сжатого кода также есть копирайт. Сделано, чтобы можно было легко определить наличие BIOS-а.

Я думаю, что это будет последняя версия Giez BIOS. В принципе я сделал всё, что хотел в этой базовой системе ввода-вывода -- она грузит системы, и хорошо это делает. В дальнейшем я лишь буду наверно только баги латать да расширять поддержку систем с другими названиями загрузочных скриптов, и всё. Я не буду делать из Giez BIOS утилиту восстановления/раскирпичивания с менеджментом дисков и т.д., таких уже много наделали.

 

Но если хотите больше фич -- предлагайте.

Изменено пользователем VyaCHACHsel

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...