rootfs.img
,然后从此处下载了vmlinux-2.6.32-5-4kc-malta
:http://people.debian.org/~aurel32/qemu/mips/。然后,我使用以下参数启动Qemu:
qemu-system-mips -M malta -kernel 'vmlinux-2.6.32-5-4kc-malta' -hda 'rootfs.img' -append "root=/dev/sda1 console=tty0" -nographic
它卡在了:
[0.000000] console [tty0] enabled, bootconsole disabled
我也尝试过这样运行:
sudo qemu-system-mips -M malta -initrd 'rootfs.img' -kernel 'vmlinux-2.6.32-5-4kc-malta' -nographic -append "console=ttyS0,115200 root=/dev/sda rootfstype=jffs2 init=/sbin/init" -hda 'hda.img'
,我收到此错误:
[ 0.796000] sda: unknown partition table
[ 0.808000] sd 0:0:0:0: [sda] Attached SCSI disk
[ 0.812000] RAMDISK: squashfs filesystem found at block 0
[ 0.812000] RAMDISK: Loading 2556KiB [1 disk] into ram disk... done.
[ 0.928000] VFS: Cannot open root device "sda" or unknown-block(8,0)
[ 0.928000] Please append a correct "root=" boot option; here are the available partitions:
[ 0.928000] 0800 65536 sda driver: sd
[ 0.932000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,0)
从6EQUJ5答案后的新尝试[我仍然尽管遇到相同的错误(第二个错误)]:
这是我正在尝试的方法:
sudo qemu-system-mips -M malta -kernel 'vmlinux-2.6.32-5-4kc-malta' -nographic -append "init=/bin/sh" -hda 'myFileSystem.img'
这是一个链接下载已创建的文件系统:
http://speedy.sh/vBUEQ/myFileSystem.img
在我的文件系统上运行“文件”:
Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=dac7072e-2c8b-408f-a080-57ea60cfd9ea
这些是我用来创建文件并将文件移入其中的命令:
dd if=/dev/zero of=~/myFileSystem.img bs=1024 count=65536
mke2fs myFileSystem.img
mkdir /mnt/virtual
mount -o loop ~/myFileSystem.img /mnt/virtual
#1 楼
通过执行以下操作,我可以将该固件安装到外壳中: ,并将其用作-hda
在没有
-initrd ...
的情况下运行并将init=/bin/sh
附加到内核命令行中是一个不同的内核。因此,在qemu中模拟路由器总是一个部分过程。评论
谢谢!我仍然有相同的错误(下面有完整答案)
–user4724
2014年6月1日下午6:16
不要忘记保留root = / dev / sda
– 6EQUJ5
2014年6月1日13:00在
非常感谢,这是我的问题。我已将“ init = / bin / sh”更改为“ init = / sbin / init”,然后键入:user-root | password-5up,以获得一个shell(也许会帮助别人)。我尝试将其连接到网络(使用“ tap”),但是当我键入udhcpc -i br-lan时,出现以下错误:错误,SIOCGIFINDEX失败!:无此类设备。我猜它不能识别我的卡,但是我不知道如何解决。最后,我要做的是使用IDA调试Web服务器(httpd)。也许最好在qemu中运行Debian MIPS,然后上传路由器的文件?先感谢您。
–user4724
2014年6月1日下午16:05
很高兴提供了帮助,请不要忘记接受答案:-)如果您还有其他问题,那么如果您单独发布它们,这些站点将发挥最佳作用...
– 6EQUJ5
2014年6月2日,0:14
回答需要解压缩这些步骤-如何制作ext2映像以及使用什么内核命令行。
– philcolbourn
18年8月31日在8:54
评论
对于第二个错误,内核认为hda.img上没有有效的分区表和/或文件系统。您是如何创建该文件的?如果将hda.img设为ext2文件系统,然后将init复制到其中,并保留-initrd参数,则可能会进一步引导,尽管那时您根本不会仿效WR740N ...