LINUX.ORG.RU

mtd в qemu

 , , ,


1

1

Короче, вот комманда запуска:

switch=lan1 qemu-system-i386 -hda ./gs.img -net nic,model=e1000 -net tap,ifname=if10 -mtdblock ./mtd.img -serial stdio

Вот вывод /proc/mtd:

/ # cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00400000 00020000 "mtdram test device"
mtd1: 08000000 00004000 "NAND 128MiB 1,8V 8-bit"
mtd2: 08000000 00004000 "NAND simulator partition 0"
/ # 
Размер mtd-файла 8 мегабайт. Что не так, почему qemu не опредиляет nand

★★★★★

Последнее исправление: ne-vlezay (всего исправлений: 1)

qemu *опредиляет* всё, что ты указал в командной строке. Можешь зайти в монитор и командой info qtree посмотреть дерево устройств. Драйв с mtd.img должен быть там. Подхватывает ли ядро, загруженное в виртуалке, этот девайс? Надо смотреть в dmesg.

Может быть ты жалуешься на отсутствие разделов mtd? Для mtd таблица разделов приходит свыше, например из параметра mtdparts= ядра.

iliyap ★★★★★
()
Ответ на: комментарий от ne-vlezay

У эмулируемых плат pc-440fx и pc-q35 оказывается нет mtd устройств. Есть CFI flash. Всего флеша 8M, bios занимает 128K, остаётся 8064K.

qemu-img create -f raw nand.img 8064K
qemu-system-x86_64 \
-drive file=/usr/share/seabios/bios.bin,format=raw,if=pflash,readonly=on \
-drive file=nand.img,format=raw,if=pflash
В гостевом ядре, наверное, нужны CONFIG_MTD, CONFIG_MTD_CFI.

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

Не помогло:

~ # cat /proc/mtd 
dev:    size   erasesize  name
Опции запуска:
su -c 'switch=lan1 qemu-system-i386 -hda ./gs.img -drive file=./bios.bin,if=pflash -net nic,model=e1000,macaddr=52:54:00:88:44:11 -net tap,ifname=if0 -serial telnet:127.0.0.1:4041,server,nowait'
Модули:
mtdblock 3222 0 - Live 0xc8dbe000
mtd_blkdevs 5462 1 mtdblock, Live 0xc8db6000
mtd 37901 3 mtdblock,mtd_blkdevs, Live 0xc8da2000
cfi_probe 2536 0 - Live 0xc8d8f000
gen_probe 2033 1 cfi_probe, Live 0xc8d88000
cfi_util 4424 1 cfi_probe, Live 0xc8d80000
chipreg 1254 1 cfi_probe, Live 0xc8d79000
ipv6 322551 14 [permanent], Live 0xc8d0e000
dummy 2263 0 - Live 0xc8ca4000
8021q 17747 0 - Live 0xc8c75000
garp 4885 1 8021q, Live 0xc8c68000
stp 1241 1 garp, Live 0xc87fe000
mrp 6591 1 8021q, Live 0xc8c5d000
e1000 94694 0 - Live 0xc8c35000
unix 26125 0 - Live 0xc8c0b000
Что не так?

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