Вопрос такой: Есть оригинальный ноутбучный AMIBIOS (0700). Вытащил из него все модули и теперь пытаюсь собрать обратно с помощью "AMIBIOS BIOS ROM Build Utility Ver.4.08". Хоть он и для AMIBIOS8, но собирает имидж почти нормально. Почти, потому что во-первых: хоть я и указал разер NVRAM 0x20000 (NVRAMSize = 20000), но при просмотре bcp760 его размер оказывается 0x1F400. К тому же его расположение (D000:0C00) отличается от того что в оригинальном (C000:0000). Может это ничего страшного. Незнаю. Вторая проблема это "AMD SIP ROM". А именно то, что размер и его наличие bcp760 подтверждает (хоть и со сдвигом в 0xF400 байт), но при просматривании HEXедитором такового не обнаруживается. Может кто пользовался Builder'ом или знает в чем дело?
ROMBUILD Script:
rapidshare.com/files/33217800/rombuild_script.zip
BCP Reports:
rapidshare.com/files/33294841/bcp-reports.zip
В процессе генерации AMIBIOS утилита ROM Build занимает промежуточное место после AMIBIOS Builder Preprocessor, а далее следует ORGGUARD Utility, которая размещает все по сегментам (адресам). Некоторые моменты (в т.ч. и ROM SIP) неавтоматизированы. Это значит, что в make-файле непосредственно могут указываться фрагменты данных или кода.
P.S. Откуда дровишки?
Открытая книга: icbook.com.ua
Очень интересно! А не смогли бы описать, что именно делает "AMIBIOS Builder Preprocessor"?
А ROM Build разве не по сегментам адресам, все размещает? Выглядит вроде (по репортам bcp и в hex'е) уже вполне завершенным и очено похожим на оригинальный биос.
С помощью [romhole] (кстати кто-нибудь знает что это такое?) получается вставить SIP, но тогда размещение модулей начинается не с Main BIOS Header'a (AMIBIOSC) и к началу рома, а с начала и не доходя до Main BIOS Header'a. Что как-то настораживает.
Я так понимаю вопрос не про ROM Build'ер? Если про него то здесь
forum.rom.by/topic13541-25.html
rapidshare.com/files/23409525/tools.zip
а больше ничем не пользовался. Формат скрипта изучал с помощью "научного тыка" и сообщений ROM Build'ера.
Исходя из данных в скрипте .bbp генерирует скрипт .mm
Совершенно верно. Но делает это он в первом проходе. Т.е. может сложиться ситуация, когда два модуля размещаются с одинаковыми параметрами DESTSEG и DESTOFF. Второй при этом должен быть помечен атрибутом APPEND. Для предотвращения пересечений и используется "точная" доводка с помощью ORGGUARD.
Открытая книга: icbook.com.ua
Раз имидж биоса в конечном счете генерируется через скрипт .mm значит теоретически "AMIBIOS Builder Preprocessor" необязателен? Т.е. SIP вставляется все таки ROMBUILD'ом? Если да, то как?
Проверил. Действительно не выдается никаких сообщений по этому поводу. Но ведь это не может помешать разместить SIP ROM в биосе?
Не совсем понял. make-файл это .mm или тот, что еще до .bbp?
Может быть у кого-то есть информация по скриптам к bcp7...?
Обратите внимание, что ROM SIP - это не модуль в полном смысле этого слова! У него нет своего ID. Поэтому интегрируется он, как событие нерегулярное. Наилучший способ - руками, по образу и подобию.
P.S. make-файл, грубо говоря, это такой .bat, в котором все вызовы, в т.ч. и вызов ROMBUILD...
Открытая книга: icbook.com.ua
Хотел, но в том месте где должен быть SIP, находится Main BIOS Header.
Где находится информация о SIP (т.е. его размещении и размере)?
Защищен ли он проверочной суммой? (если да то где ее искать?)
Что такое NVRAM, я так понимаю это не совсем (или совсем не) CMOS. Что в ней находится и где она располагается (т.е. во flash или куда-то переписывается)? Судя по отчету bcp именно в ней находится SIP.
Как быть с ней? Ее размер не соответствует задаваемому в .mm
P.S.: Извините за слишком много наверно не слишком умных вопросов
Хм, если не секрет - в чём смысл сего действа? Спортивный интерес (соберётся-несоберётся)?
Сборка "в кучу" готовых модулей не представляется чем-то особенным, ведь подобную операцию делает любой редактор биосов при внесении изменений на уровне модулей.
Мне лично видится интересным иметь возможность "собрать в кучу" из исходников. "Скомпилированные" же модули собирать - это как собирать два цвета в кубике-рубика.
1. Надоело каждый раз перезапускаться в ДОС чтоб в очередной раз запустить bcp (виртуальную машину ставить тоже нет желания, да и с ней получается как-то через огороды...). В ДОСе опять же нет всего набора иснтрументов.
2. Хочется автоматизировать процесс. Запустил make.cmd, получил готовый биос.
3. Как правильно было замечено "Спортивный интерес". Сам билдер можно много раз встретить в сети, а как с ним работать мне ни разу не попалось.
Убрал из amibcp "DOS/4G Protected Mode Run-time" и вставил "DOS/32a" (v1.9.2), теперь утилита работает и в Windows'e. При этом уменьшился размер и как будто возрасла скорость работы. В DOS'е, так как вначале моего биоса идет firmware для Embedded Controller'а PC87591, была проблема, я, из-за отстутствия подходящего инструмента, не мог разместить его в биосе (amibcp не знает о нем и частенько затирает). Порывшись в инете нашел для DOS'а *nix программу 'dd' (кто не знает: программа для копирования чего угодно от куда угодно любого размера с любого смещения). Теперь обрезаю от биоса нужный размер и склеиваю с EC firmware (copy /b ec.bin+biospart.bin bios.rom).
Вобщем теперь работать можно вполне комфортно и без ROMBUIL'a, но все же вопрос остается открытым и по крайней мере для меня интересным.
AMIBCP_DOS32a.ZIP (368 KB)
{amibcp 7.60.04
amibcp 7.51.03
amibcp 7.01.01}
rapidshare.com/files/34421115/AMIBCP_DOS32a.ZIP
dd.zip (62 KB)
rapidshare.com/files/34422338/DD.ZIP
Отправить комментарий