Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср июл 26, 2017 9:40 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 102 сообщения ]  На страницу Пред. 1 2 3 4 57 След.
Автор Сообщение
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 11:19 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
Да у меня времени нет, к сожалению, и так проектов по горло. Но, тому кто возьмется, помочь обещаю. Могу реверс биоса делать.
Самый верный вариант - спросить у нас в рассылке coreboot@coreboot.org
Щас вот биос открыл - 3300IA5.rom - он?
А то я не помню уже


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 11:59 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
XVilka
Спасибо за детальную инструкцию!
Попробую прошить в реальное железо.
Насколько я понял, для этого QEMU не требуется?


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 12:13 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
XVilka писал(а):
Да у меня времени нет, к сожалению, и так проектов по горло. Но, тому кто возьмется, помочь обещаю. Могу реверс биоса делать.
Жаль :cry:
XVilka писал(а):
Самый верный вариант - спросить у нас в рассылке coreboot@coreboot.org
Я бы хотел всё-таки подарить знакомому человеку, сам понимаешь. Я же там у вас никого не знаю.
XVilka писал(а):
Щас вот биос открыл - 3300IA5.rom - он? А то я не помню уже
Для eBox-3300 - он самый. Для eBox-3300MX нужен другой - прилагаю. Я продаю и eBox-3300, и eBox-3300MX, но eBox-3300MX гораздо более перспективный (больше памяти поддерживает, вход для блока питания стандартный, звук HD Audio, есть функция MMX и т.д.). Так что, если уж совсем конкретно, то лучше всего eBox-3300MX.


Вложения:
3300MX-H.7z [248.73 КБ]
93 скачивания
Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 9:42 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
art_zh: сначала рекомендую запустить на qemu, а потом уже в железку загонять :)


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 10:29 pm 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Ср май 18, 2005 10:27 am
Сообщения: 430
XVilka писал(а):
Щас ковыряюсь и пробую выкинуть 16-битный код и загрузчик из ядра, а также пробую сделать из него elf, чтобы из coreboot грузиться напрямую.
не понял про загрузчик? Это то что касательно int 19h? Или дисковые операции упарзняются, как таковые, а загрузка вырождается в операцию копирования память-память и все?
Так?
И еще
XVilka писал(а):
Могу реверс биоса делать.
если делается реверс(ы) биоса для coreboot, как для автономного проекта, то не проще ли и без него вообще?

Т.е. раз делать дизасм бутблока и глубокий анализ инита чипсета, особенно под память, (только под данную или выбранную, допустим встраиваемую платформу), то можно же навыдирать "конкретного нужного" под "встроенную" тему и все. Тогда и coreboot избыток, так?

НУ конечно еще надо, наверное "оседлать" прошивалку флешки(код) или распатронить ее гтовую, чтобы ROM "в тень" уметь ставить ну и пусть поддержку дисков неплохо бы выдрать (хотя не обязательно).

Ну вот, тогда зачем получается coreboot вообще не нужен?
Если еще более сузить потребности в биос коде, и если речь допустим о конкретном встроенном решении типа Колибри-А или Колибри-eBox или Колибри-AWARD то получается места вообще валом, а скорость загрузки спошной реактив + минимум настроек чипсета... Сюда же и видеобиосный код "чикается" только под нужное разрешение и все.
Я что то упускаю? Крамолы нет?


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 11:04 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
Да, вырождение загрузчика в копирование памяти.

Я же не весь бутблок реверсю, а только конкретные функции.
А почему coreboot? А потому что код в нем тестируется сотнями человек, и лучше добавить немного изменений в уже готовый проект, чем изобретать свой чугунный велосипед с квадратными колесами.
Кроме того, coreboot занимает очень мало места.


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Ср апр 27, 2011 11:13 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
VaStaNi

XVilka писал(а):
Вот что у меня получилось на выходе (я собирал образ для 4мбитной флешки)
Код:
coreboot.rom: 4096 kB, bootblocksize 1504, romsize 4194304, offset 0x0
Alignment: 64 bytes

Name Offset Type Size
cmos_layout.bin 0x0 unknown 1159
fallback/romstage 0x4c0 stage 12720
fallback/coreboot_ram 0x36c0 stage 27797
fallback/payload 0xa3c0 payload 40596
(empty) 0x142c0 null 4110104

То есть есть место для KolibrioOS Даже более чем достаточно!

Получается, что CoreBoot вместе с загрузчиком занимает около 80к
Плюс еще 128к на видео-биос (его CoreBoot просто выдирает из старого ROM-кода).

Остаётся как минимум 800к - для ядра, драйверов, библиотек и утилит вполне достаточно.

А если делать через BIOS - тогда только ядро влезет, шрифты и иконки (у меня в ROM меньше 128к свободного места)

Вот и смотри в чем лучше копаться - в CoreBoot или в недокументированных реверсах BIOS ?


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Чт апр 28, 2011 12:53 am 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
art_zh писал(а):
А если делать через BIOS - тогда только ядро влезет, шрифты и иконки (у меня в ROM меньше 128к свободного места). Вот и смотри в чем лучше копаться - в CoreBoot или в недокументированных реверсах BIOS ?
Ну это смотря какой BIOS и какой flash ROM chip - вот опять же, в eBox чип 2 Мегабайта, а BIOS только 256 Килобайт, получается для Колибри при "родном" БИОСе остаётся 1.75 Мегабайт - туда и полный floppy-image влезет, и ещё на семечки останется :wink:


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Чт апр 28, 2011 3:33 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
BIOS, как минимум дольше запускается...
Не забываем, что прриведенные выше размеры относятся для дебаг-версий. Конечный файл, без всего лишнего, еще меньше и быстрее получиться.

Я начал делать реверс биоса, но мне нужен вывод lspci -nnvvvxxxx

yogev_ezra, можно еще вывод "lspci -nnvvvxxxx" из под линукса сделать?


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Пт апр 29, 2011 8:27 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
art_zh, давай по-файлово определимся что оставим, а что можно выкинуть.
Я думаю, лучше начать с самого минимума, а потом можно добавлять постепенно функциональность, блоками.

У меня такая идея:
coreboot может загружать elf напрямую, может загружать SeaBIOS, который предоставляет сервисы легаси-биоса
Я предлагаю попробовать исключить из цепочки SeaBIOS, и попробовать скомпоновать elf-файл, который сам себя будет загружать сразу. Сразу 32-битный код, и убрать зависимость от биос-функций.
Определение дисков без биоса можно сделать так: у меня есть код на С, я могу его скомпилировать и отреверсить в ассемлерный текст :) Я на ассемблере не очень пишу, а реверсю быстрее.


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Пт апр 29, 2011 3:39 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
XVilka
я не понял зачем компилить всё ядро в .elf ?
Нужно написать (на Си) простенький системный загрузчик вместо bootcode.inc

Как я понял, существуют несколько разных вариантов реализации ROM-загрузки Колибри
1) с помощью 16-разрядных дисковых функций SeaBIOS (система грузится с обычного iso- или img-образа)
2) с помощью самодельного 32-разрядного загрузчика, прочитывающего img-файл с диска, загружающего его в память как RD/1, и уже с него загружающего 32- kernel.mnt (от которого должна остаться только 32-разрядная часть)
3) или с помощью упрощённого загрузчика, считывающего только kernel.mnt, а с остальными файлами работающего напрямую с диска (CoreBoot ведь должен уметь работать с FAT и с ext2/3 ?)
4) или ещё проще - загружающего RD-образ прямо из ROM. В этом случае можно обойтись вообще без дисковой подсистемы. Но каждый раз придется прошивать img-образ в RAM...

Ты какой из этих вариантов имел в виду?

Тут есть еще один важный вопрос:
Как в CoreBoot организована карта памяти ?
Сейчас Колибри сама формирует LDT и IDT, находясь в 16-разрядном пространстве, потом входит в PM и сразу же создает PDE/PTE для своего собственного страничного преобразования адресов. Насколько сложно будет это реализовать в 32-разрядном загрузчике?


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Пт апр 29, 2011 5:04 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
у coreboot есть своя файловая система cbfs (http://tracker.coreboot.org/trac/corebo ... n/cbfs.txt) - она очень простая и флешка форматируется именно в нее. Есть вариант добавить драйвер cbfs в ядро колибри и загружать ядро из coreboot, сразу 32 разряда. А остальные диски можно подключать опционально.
в идеале - выкинуть надобность в SeaBIOS.
На Си это будет несложно организовать - можно взять и урезать до минимума FILO (http://www.coreboot.org/FILO)

Кстати, с помощью gcc-4.6.1, убрав информацию и функции дебага, можно coreboot скомпилить в 10 кб.

Карта памяти - http://www.coreboot.org/Developer_Manual/Memory_map

Прикрепляю избранные файлы из FILO/libpayload, которые нам собственно нужны.


Вложения:
coreboot_tables.h [5 КБ]
82 скачивания
coreboot.tar.gz [53.16 КБ]
90 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Вс май 01, 2011 2:49 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Попробовал прошить CoreBoot на ASUS M4A78LT-M LE (говорят, что на очень близкой по архитектуре мат.плате он запускается).
Двое суток раскуривал мануалы и плевался, собирая ROM-образ по кусочкам. В конце концов собрал. Прошил. Не работает.

Глухо, как в бронепоезде. Как будто вообще без ROMа.

Если и решусь в ближайшее время на подобный эксперимент, -- только на проверенной и указанной в репозитории платформе.
Больше нет времени в этим возиться. Но если кто потянет (или у кого есть правильная доска) - всегда готов помочь. Дело нужное.

P.S. Напоминаю, что для прошивки нужны минимум два совершенно одинаковых flashROM-чипа .
Один из них стоит в Вашем компьютере; запасной чип можно заказать по каталогу или вынуть из точно такого же компьютера (с риском для второго).
После загрузки Линукса ROM можно скопировать в файл и (аккуратно!) вынуть из сокета и пометить яркой краской. На его место поставить запасной чип, прошить в него ROM-файл и перезагрузиться. Если получилось - значит с можно работать дальше. Если нет - лучше сразу закончить эксперименты.


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Вс май 01, 2011 5:23 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
art_zh: если что-то не работает - то есть лог и SerialICE http://www.serialice.com/News/News.html (только его тоже из svn надо ставить, последний)
Есть возможность записать лог с последовательного порта?


Вернуться к началу
 Заголовок сообщения: Re: KolibriOS в BIOS
СообщениеДобавлено: Вс май 01, 2011 5:52 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 788
1. Скачиваем SerialICE из svn:
Код:
svn co svn://serialice.com/serialice/trunk/SerialICE serialice
cd serialice
make menuconfig (тут мы настраиваем что нам нужно)
make

Результирующий образ будет serialice.rom размером 64 Kb.
Мультиплицируем его по размеру флешки:
(пример для 256Кб)
Код:
cat serialice.rom serialice.rom serialice.rom serialice.rom > image.rom

Заливаем image.rom в микросхему.
Заливаем ТОЛЬКО с помощью программатора (если у вас нет программатора, который кстати легко сделать своими руками - лучше сюда даже не соваться)
Подключаем к последовательному порту нашей целевой машинки кабель, соединяем с другой, где запущен minicom, picocom, realterm или любой другой последовательный терминал
После включения целевой машинки мы должны увидеть приглашение SerialICE на экране терминала.
Если что-то не так, то проверяем подключение, в случае необходимости патчим serialice.

To be continued...


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 102 сообщения ]  На страницу Пред. 1 2 3 4 57 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB