LINUX.ORG.RU

QEMU виртуальная машина

 ,


0

1

Всем привет. Такой вопрос: как описать свою плату, чтобы qemu могло работать с нем и как результат запускать на ней свое программное обеспечение? С чего начинать?



Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Хорошо. Есть плата и на ней тестирую софт свой. Чтобы избежать износа хотелось бы тестировать его на этом эмуляторе. Возможно ли это, можно описать свою платформу, системную плату так чтобы QEMU запускала её и я мог тестировать свой софт виртуально? P.S. Работаю с uClinux. В прошивке есть busybox, мой софт.

charly_one
() автор топика
Ответ на: комментарий от charly_one

Возможно ли это, можно описать свою платформу, системную плату так чтобы QEMU запускала её и я мог тестировать свой софт виртуально?

Возможно. Но реализация новой машины требует значительных познаний о внутренностях qemu. Если в qemu нет уже готового описания машины или хотя бы описания близкой по архитектуре машины (референсной платы), то лично я бы не взялся.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Плата типа FM3 Fujitsu mb9bf618xxx, но отличается. Значит необходимо реализовать описание конкретной платы. Скажите, а что конкретно нужно описывать, чтобы qemu начала работать с ней? Нужно описание процессора, памяти, ком-порт, порты ввода вывода..? Необходимо полное описание или достаточна лишь ее часть?

charly_one
() автор топика
Ответ на: комментарий от charly_one

Плата типа FM3 Fujitsu mb9bf618xxx, но отличается.

Какая архитектура процессора?

что конкретно нужно описывать, чтобы qemu начала работать с ней? Нужно описание процессора, памяти, ком-порт, порты ввода вывода..?

Чтобы начала - думаю, процессора и памяти достаточно. Но чтобы ты сам понял, что оно как-то работает, очень полезен COM-порт.

Необходимо полное описание или достаточна лишь ее часть?

Для qemu достаточно части, но вопрос в том, что необходимо тебе (точнее, твоей программе).

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Вы дали ссылку на плату Virtex ML507. Код на гитхабе как раз показывает работу эмулятора с ней? Я правильно понимаю?

charly_one
() автор топика
Ответ на: комментарий от tailgunner

Хорошо, спасибо за ответ. Я вас понял. Т.е., то железо что нужно запустить на проверку системным софтом, убедиться так сказать в его работе, и нужно соответственно описывать в виртуальной машине. Процессор Cortex-m3.

charly_one
() автор топика
Ответ на: комментарий от charly_one

Код на гитхабе как раз показывает работу эмулятора с ней? Я правильно понимаю?

Не совсем. Это просто описание машины - оно инициализирует внутренние структуры эмулятора в для эмуляции именно этой машины (если ты выбрал эту машину через -M). Дальше qemu пытается что-то исполнять (что именно - задается другими опциями).

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Да, да я помню. Там ключи запускающие тип процессора, память с характеристиками... Хорошо, понял. Что нужно тестировать то и нужно описывать для эмулятора, чтобы понял системную плату. Хорошо.

charly_one
() автор топика

Зачем делать настолько глубокую эмуляцию? Если речь о софте - он будет крутиться на некоторых существующих ARM-платах реализованных в QEMU.

Речь ведь не о драйверах и особенностях работы с железом, а именно о софте?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Драйверов некоторых нет, их пилю понемногу. Тоже нужно проверять. Я не об этом. Меня заинтересовал проект qemu. Дает возможность запускать софт виртуально, эмулировать железо. Вскоре придется заняться. Спасибо за помощь. Вопросы если будут, обращусь к вам.

charly_one
() автор топика
Ответ на: комментарий от charly_one

Прошу прощения, всё же хочется чуть больше написать. Вот всю файловую систему со своим софтом для Linux/ARM я крутил в QEMU на произвольно выбранной версии машины ARM (главное чтобы ядро было подходящее к ней). А потом просто запускал на железе (уже с подходящим к железу ядром), но ни софт ни файловая система при этом ни капли не менялись. Так что в самом деле, быть может и не надо пытаться изображать свою плату.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Вы правы. Глубока виртуализация нужна для того, чтобы полностью запустить всю плату, с большим количеством разного железа, датчиков, часов и прочих расширений. Я так понял из выше написанного мне. Зависит, что на плате и что тестить нужно. Там скорее всего собрать даже можно из уже готового. Пробовать буду позже, пока нет времени на это. tailgunner приблизительно рассказал, что это такое. Ковырять буду позже. Вопросы будут. Тему пока не буду закрывать.

charly_one
() автор топика
Ответ на: комментарий от tailgunner

Ребята из M-Labs похоже осилили полную поддержку Milkymist One в QEMU с эмуляцией собственных IP cores из minsoc. Вроде всё в результате вошло в upstream, так что имеет смысл погрепать исходники QEMU на предмет их работы. Сами устройства простые, так что их реализация должна быть хорошим учебным примером по модификации QEMU.

anonymous
()

Я брал наиболее похожую борду в hw/arm (/hw/arm/versatilepb.c, например) и редактировал её под себя (карта памяти, периферия) Грязный способ, но зато быстрый, не нужно джва дня гуглить как добавлять новые борды в qemu. Как примеры ковырял другие борды с похожей периферирей.

Этот способ рациональный только если в qemu уже заимплеменчена вся нужная периферия и тебе нужно только добавить её к твоей борде, подправив адреса. Или если хотя бы доки есть, что бы по быстрому сделать костыль-заглушку.

Azq2
()
Ответ на: комментарий от Azq2

Доброго дня. Versatilepb пользовал, припоминаю. На ней u-boot запускал. Мне больше придется описывать. Периферии полно и разных устройств. Плата нестандартная. Часть придется железок описывать. Ковырять буду эмулятор немного позже. Пока руки не доходят. Когда начну работать и появятся вопросы, обращусь.

charly_one
() автор топика
Ответ на: комментарий от tailgunner

Здравствуйте, Василий.

Из сообщений на этом форуме, стало понятно, что вы хорошо разбираетесь и работаете плотно с QEMU. Могли бы вы оставить свой контакт какой-нибудь для связи ? Я в отдельном разделе уже создал тему Адаптация QEMU под периферию MIPS подобного процессора Буду очень вам благодарен!

snap46
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.