<font size="1">"Сначала было слово"
</font><font size="1">www.rom.by/forum/Shell_Cbrom</font>
Эта ветка форума посвящена процессу создания программы <font color="#3366ff">BIOStrip</font>.
Назначение программы:
- прочитать файл с прошивкой
- выбрать плагин для препарирования файла прошивки
- записать отредактированную прошивку в файл
- копировать все упакованные модули в виде отдельных файлов
- копировать текущий (упакованный или распакованный) модуль в файл
- добавить новый модуль в прошивку
- удалить модуль из прошивки
- переставить соседние модули в прошивке
- др. ![]()
<font color="#3366ff"><font color="#000000">Другими словами, функционально</font> BIOStrip </font>- это универсальный cbrom с графическим интерфейсом.
Универсальность реализуется через расширяемый набор плагинов.
PS
<font size="1">"Наши цели ясны, задачи определены. За работу, товарищи!" (Все встают.) ![]()
</font>
Самое структурированное ;)
changeset'ы от LinuxBIOS 1
changeset'ы от LinuxBIOS 2
changeset'ы от LinuxBIOS 3
Плюс к этому куски чьего-то кода ;)
Бегло ознакомился с проектом UniFlash. Авторы выполнили титаническую работу. Из 440кб исходного текста примерно 400кб концептуально выглядит так:
Причем добавление поддержки нового железа требует внесения изменений в текст программы.
"Мы пойдем другим путем" - табличным.

PS
<font size="1"><font size="2">maco</font>, спасибо за информацию</font>
К идее отношусь хорошо, правда, пока не понимаю функциональность, но сие не есть суть вопроса. Для легитимного использования указанной информации можно воспользоваться правилами Notice на страничке http://icbook.com.ua/about/note.html
"<font size="2">Что делать и кто виноват?</font>"
Воспользоваться сложившейся ситуацией ;)
И запостить линк на новый, никем еще невиданный BIOStrip. Не выкидывающий 8 окон дебага при запуске. Умеющийй разбирать и собирать прошивки, корректно пр этом пересчитывая CRC, как мы в свое время управлялись с АК.
Шутка :)
Вы разве этого не видели?
что такое АК?
Предлагаю для ознакомления очередную альфа-версию программы <font color="#0000ff">BIOStrip</font>.
Закончены плагины:
<font color="#0000ff">BsCmos</font> - чтение CMOS
<font color="#0000ff">BsPciProbe</font> - чтение Pci-регистров
В стадии завершения - <font color="#0000ff">BsReadFlash - </font><font color="#000000">чтение прошивки.</font>
В базе данных оболочки появились новые таблицы.
Речь пойдет о плагине <font color="#0000ff">BsReadFlash</font> (и не только о нем).
Этот плагин должен обеспечивать чтение содержимого Flash-памяти с образом биоса. Главная проблема - настройка чипсета для обеспечение доступа ко всему диапазону адресов ПЗУ. Эта настройка сильно зависит от конкретного чипсета.
Хотелось бы эту чипсет-зависимую часть вынести во внешний файл (базу данных оболочки). Тогда добавка нового железа не будет требовать изменения и перекомпиляции программы.Осталось выбрать формат хранения этой чипсет-зависимой части. Этот формат, с одной стороны, должен быть достаточно гибким, а с другой - простым для реализации и удобным для пользователя.
Например, для моего компьютера (Host bridge 0x1039:0x0650, LPC bridge 0x1039:0x0008) перед чтением прошивки биоса необходимо записать в устройство LPC Bridge (Class 0x060100) в регистр 0x40 значение 0x03.
На языке C++ с использованием оболочки это выглядит так:
Но в таком виде алгоритм настройки железа для чтения прошивки хранить нельзя.
Поэтому предлагается другой формат - более многословный, но зато простой для интерпретации.
В таком виде чипсет-зависимые настройки можно хранить в базе данных.
Поиск настроек будет осуществляться по Vendor_ID/Device_ID южного моста.
Аналогичный подход можно будет использовать и для плагина <font color="#0000ff">BsWriteFlash</font>. Но кое-что придется добавить (чтение-запись в порты и пр.).
Какие будут мнения по поводу такого специального языка для записи настроек в базе данных?