kluchev писал(а):invaisor, с Linux проблем нет. Работает.
Что собой представляет образ диска в случае Linux или Windows, более-менее понятно. А как быть с голым железом, у которого нет диска вообще? Это образ памяти?
Хочу попробовать позапускать программки без ОС на QEMU. Пока не понял как...
Тогда загрузка по сети, если возможно. Например с использованием
pxe. (Сначала получаем ip, получаем наше ядро по TFTP, а потом по NFS монтируем корневую файловую систему. Вот
тут на VirtualBox это делается). Еще есть u-boot и RedBoot.
kluchev писал(а):Есть такая опция mtdblock. Интересно, а как определить адрес старта? Или по умолчанию управление передаётся на начало? Убил бы за такую документацию...
Насколько я понимаю да (управление передаётся на начало). Тогда переданный через этот параметр образ будет отображаться ядром как /dev/mtdblock{N}. Например: qemu-system-arm -kernel zImage.bin -mtdblock qemu-n800.img -m 130 -append "root=/dev/mtdblock1 rootfstype=jffs2".
Другой вопрос в том, что и ядро надо где-то хранить и доставать оттуда. Для этого можно к примеру использовать RedBoot - зашить во флэш сначала RedBoot, а далее образ ядра. При старте RedBoot считывает образ ядра в ОЗУ и передает ему выполнение, ядро получив выполнение монтирует корневую файловую систему в режиме rw или ro, инициализирует периферию и начинает выполнение пользовательских программ или еще чего.