老的qemu运行参数:if=mtd,format=raw,file=/tmp/flash.img,貌似已经模拟不出来mtd了。搜索发现,可以通过block2mtd,从一个块设备创建一个mtd。
│ -> Device Drivers │
│ -> Memory Technology Device (MTD) support (MTD [=m]) │
│ -> Self-contained MTD device drivers │
│ (1) -> MTD using block device (MTD_BLOCK2MTD [=m])
qemu模拟块设备这个肯定是可以的,模拟出块设备后。
modprobe block2mtd "block2mtd=/dev/vdb,65536"
mtdpart add /dev/mtd0 uci 0 $((2*65536))
mtdpart add /dev/mtd0 bdata $((2*65536)) $((2*65536))
参考:
Troglobit. Emulate an actual MTD device in Qemu. 2017/2/2
https://troglobit.com/2017/02/02/emulate-an-actual-mtd-device-in-qemu/
William Tang. qemu-discuss. 2024/10/25
https://lists.gnu.org/archive/html/qemu-discuss/2024-10/msg00035.html