Emulators
dynamips 卡在控制台上
當 IOS 以以下方式啟動時,我有 dynamips 卡住:
dynamips -P 7200 c7200-a3jk9s-mz.124-25g.bin dynamips -P 7200 c7200-a3jk9s-mz.124-25g.bin Cisco Router Simulation Platform (version 0.2.16-amd64/Linux stable) Copyright (c) 2005-2011 Christophe Fillot. Build date: Dec 21 2016 11:17:47 IOS image file: c7200-a3jk9s-mz.124-25g.bin mips64_jit_init: unable to create exec area (size 67108864) NVRAM is empty, setting config register to 0x2142 C7200 instance 'default' (id 0): VM Status : 0 RAM size : 256 Mb IOMEM size : 0 Mb NVRAM size : 128 Kb NPE model : npe-400 Midplane : vxr IOS image : c7200-a3jk9s-mz.124-25g.bin Loading ELF file 'c7200-a3jk9s-mz.124-25g.bin'... ELF entry point: 0x80008000 C7200 'default': starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled. % Unable to create instruction block for vaddr=0xffffffffbfc00000 insn_page_compile: unable to create JIT block. VM 'default': unable to compile block for CPU0 PC=0xffffffffbfc00000
IOS是推薦的
$$ 1 $$
md5sum c7200-a3jk9s-mz.124-25g.bin 3a78cb61831b3ef1530f7402f5986556 c7200-a3jk9s-mz.124-25g.bin
我還嘗試指定文件中所述的 Ram (256) 的數量、idle-pc 值以及壓縮和未壓縮的 IOS。另外,我嘗試過在管理程序模式下並通過 dynagen 連接……結果相同。
dynamips version: 0.2.16 on x86_64
我還能嘗試什麼?
$$ 1 $$ http://docs.gns3.com/1-kBrTplBltp9P3P-AigoMzlDO-ISyL1h3bYpOl5Q8mQ/#h.p7dwjvw8qyi0
該問題與 JIT 編譯器有關。使用 -j 執行 dynamips 使其工作,但當然它太慢了。由於我使用的發行版是 alpine (www.alpinelinux.org) 並且它使用 PAX,所以我必須對 /usr/bin/dynamips 進行 paxmark。Alpine 中最新版本的 dynamips 是固定的,因為它在包中標記了二進製文件。