Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boot/vmmng on real machine doesn't work #46

Open
ironista opened this issue Oct 24, 2017 · 2 comments
Open

boot/vmmng on real machine doesn't work #46

ironista opened this issue Oct 24, 2017 · 2 comments

Comments

@ironista
Copy link

ironista commented Oct 24, 2017

Hi. I'm trying to boot vmmng on a machine with a CPU Intel with VT-x enabled. I have created the bootable iso using novaboot
./b bochs boot/vmmng

Generated iso is successfully booted on qemu 2.0.0, while in my case I got the following error

[    root] Welcome to NRE rev b0c08bd-dirty built with gcc 4.8.1
[    root] Hip checksum is valid
[    root] SEL: 134217728, EXC: 32, VMI: 256, GSI: 128
[    root] CPU runs @ 2717 Mhz, bus @ 66 Mhz
[    root] Virtual memory for mappings:
[    root] 	0006:f000 .. 0fff:ffff (255.5 MiB)
[    root] Virtual memory for RAM:
[    root] 	1000:0000 .. 1fff:ffff (256.0 MiB)
[    root] Physical memory:
[    root] 	0010:0000 .. 003f:ffff (3.0 MiB)
[    root] 	0ff0:0000 .. 0fff:ffff (1.0 MiB)
[    root] 	0365:1000 .. 0fed:ffff (200.5 MiB)
[    root] 	0180:0000 .. 018c:7fff (800.0 KiB)
[    root] Memory map:
[    root] 	addr=0000:0000 size=0x000009f000 type=+1 aux=0000:0000
[    root] 	addr=0009:f800 size=0x0000000800 type=+2 aux=0000:0000
[    root] 	addr=000d:c000 size=0x0000024000 type=+2 aux=0000:0000
[    root] 	addr=0010:0000 size=0x000fde0000 type=+1 aux=0000:0000
[    root] 	addr=0fee:0000 size=0x000001f000 type=+3 aux=0000:0000
[    root] 	addr=0fef:f000 size=0x0000001000 type=+4 aux=0000:0000
[    root] 	addr=0ff0:0000 size=0x0000100000 type=+1 aux=0000:0000
[    root] 	addr=f000:0000 size=0x0008000000 type=+2 aux=0000:0000
[    root] 	addr=fec0:0000 size=0x0000010000 type=+2 aux=0000:0000
[    root] 	addr=fee0:0000 size=0x0000001000 type=+2 aux=0000:0000
[    root] 	addr=fffe:0000 size=0x0000020000 type=+2 aux=0000:0000
[    root] 	addr=018c:8000 size=0x00000a1ab5 type=-2 aux=1010:1060 ((cd)/bin/apps/root)
[    root] 	addr=0196:a000 size=0x000005ba1d type=-2 aux=1010:1073 ((cd)/bin/apps/acpi provides=acpi)
[    root] 	addr=019c:6000 size=0x0000061064 type=-2 aux=1010:1094 ((cd)/bin/apps/keyboard provides=keyboard)
[    root] 	addr=01a2:8000 size=0x000005e577 type=-2 aux=1010:10bd ((cd)/bin/apps/reboot provides=reboot)
[    root] 	addr=01a8:7000 size=0x000005dd9f type=-2 aux=1010:10e2 ((cd)/bin/apps/pcicfg provides=pcicfg)
[    root] 	addr=01ae:5000 size=0x00000695ad type=-2 aux=1010:1107 ((cd)/bin/apps/timer provides=timer)
[    root] 	addr=01b4:f000 size=0x00000fa66e type=-2 aux=1010:112a ((cd)/bin/apps/console provides=console)
[    root] 	addr=01c4:a000 size=0x00000682c0 type=-2 aux=1010:1151 ((cd)/bin/apps/network provides=network)
[    root] 	addr=01cb:3000 size=0x0000059ecd type=-2 aux=1010:1178 ((cd)/bin/apps/sysinfo)
[    root] 	addr=01d0:d000 size=0x0000075196 type=-2 aux=1010:118e ((cd)/bin/apps/vmmng mods=all lastmod)
[    root] 	addr=01d8:3000 size=0x00000eedb1 type=-2 aux=1010:11b3 ((cd)/bin/apps/vancouver)
[    root] 	addr=01e7:2000 size=0x0000055175 type=-2 aux=1010:11cb ((cd)/bin/apps/hello_world)
[    root] 	addr=01ec:8000 size=0x000005f492 type=-2 aux=1010:11e5 ((cd)/dist/imgs/escape.bin)
[    root] 	addr=01f2:8000 size=0x00000161ea type=-2 aux=1010:11ff ((cd)/dist/imgs/escape_romdisk.bin)
[    root] 	addr=01f3:f000 size=0x0000016319 type=-2 aux=1010:1221 ((cd)/dist/imgs/escape_rtc.bin)
[    root] 	addr=01f5:6000 size=0x0000022b35 type=-2 aux=1010:123f ((cd)/dist/imgs/escape_fs.bin)
[    root] 	addr=01f7:9000 size=0x000074d000 type=-2 aux=1010:125c ((cd)/dist/imgs/escape.iso)
[    root] 	addr=026c:6000 size=0x0000003930 type=-2 aux=1010:1276 ((cd)/bin/apps/guest_munich)
[    root] 	addr=026c:a000 size=0x00001d34b0 type=-2 aux=1010:1291 ((cd)/dist/imgs/bzImage-3.1.0-32)
[    root] 	addr=0289:e000 size=0x0000361807 type=-2 aux=1010:12b1 ((cd)/dist/imgs/initrd-js.lzma)
[    root] 	addr=02c0:0000 size=0x0000260640 type=-2 aux=1010:12cf ((cd)/dist/imgs/tinycore-vmlinuz)
[    root] 	addr=02e6:1000 size=0x00007eb4a4 type=-2 aux=1010:12ef ((cd)/dist/imgs/tinycore-core.gz)
[    root] 	addr=0364:d000 size=0x0000000110 type=-2 aux=1010:130f ((cd)/escape.vmconfig)
[    root] 	addr=0364:e000 size=0x00000000a3 type=-2 aux=1010:1324 ((cd)/linux.vmconfig)
[    root] 	addr=0364:f000 size=0x00000000a9 type=-2 aux=1010:1338 ((cd)/tinycore-linux.vmconfig)
[    root] 	addr=0365:0000 size=0x000000001a type=-2 aux=1010:1355 ((cd)/hello_world.vmconfig)
[    root] 	addr=0040:0000 size=0x0001400000 type=-1 aux=0000:0000
[   timer] TIMER: Found 4 usable timers.
[   timer] TIMER: More timers than CPUs. Use only 1 timers.
[   timer] TIMER: HPET ticks with 14318179 HZ.
[   timer] TIMER: 189+6287/8192 TSC ticks per timer tick.
[   timer] TIMER: timestamp: 1508774478 secs
[   timer] TIMER: date: TIMER: date: 23.10.2017 16:01:18
[   timer] TIMER: Timer 0 -> IRQ 23 (assigned 0x800000 ack 0x1).
[   timer] Listening to GSI 23
[ console] Exception: Capacity exceeded (14): Unable to allocate 134217728 units aligned to 1
[ console] Backtrace:
[ console] 	0028:e654
[ console] 	0029:426f
[ console] 	0029:443b
[ console] 	0026:28ed
[ console] 	0021:e4e0
[ console] 	0027:6c5d
[ console] 	0028:9508
[ console] 	0028:25cb
[ console] 	0026:6085
[ console] 	0027:fc1e
[    root] Child '(cd)/bin/apps/console': Pd terminated with exit code 1 on cpu 0
[    root] Backtrace:
[    root] 	0028:ecfd
[    root] 	0028:ef7f
[    root] 	0026:8592
[    root] 	0029:443b
[    root] 	0026:28ed
[    root] 	0021:e4e0
[    root] 	0027:6c5d
[    root] 	0028:9508
[    root] 	0028:25cb
[    root] 	0026:6085
[    root] 	0027:fc1e

So I've decoded the backtrace using ./b trace=console and found


0x29426f nre::DataSpace::create(nre::DataSpaceDesc&, unsigned int*, unsigned int*)(T) +  0x64f = 0x293c20 in ??:?

0x29443b       nre::DataSpace::create()(T) +   0x1b = 0x294420 in ??:?

0x2628ed bool StaticReceiver<VBE>::receive_static<MessageHostOp>(Device*, MessageHostOp&)(W) +  0x54d = 0x2623a0 in ??:?

0x21e4e0 DirectPciDevice::DirectPciDevice(Motherboard&, unsigned int, unsigned int, bool, bool, unsigned int, unsigned int, unsigned int)(W) +  0x3e0 = 0x21e100 in ??:?

0x276c5d      __parameter_dpci_function(T) +  0x1ed = 0x276a70 in ??:?

0x289508                     VBE::VBE()(T) + 0x1718 = 0x287df0 in ??:?

0x2825cb ConsoleService::ConsoleService(char const*, unsigned int)(T) +  0x95b = 0x281c70 in ??:?

0x266085                           main(T) +  0x125 = 0x265f60 in ??:?

0x28ecfd                          abort(T) +    0xd = 0x28ecf0 in ??:?

---

0x28ef7f            verbose_terminate()(t) +   0x2f = 0x28ef50 in Startup.cc:?

0x268592 __cxxabiv1::__terminate(void (*)())(T) +    0x2 = 0x268590 in /opt/NRE/cross/x86_32/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:35

0x29443b       nre::DataSpace::create()(T) +   0x1b = 0x294420 in ??:?

0x2628ed bool StaticReceiver<VBE>::receive_static<MessageHostOp>(Device*, MessageHostOp&)(W) +  0x54d = 0x2623a0 in ??:?

0x21e4e0 DirectPciDevice::DirectPciDevice(Motherboard&, unsigned int, unsigned int, bool, bool, unsigned int, unsigned int, unsigned int)(W) +  0x3e0 = 0x21e100 in ??:?

0x276c5d      __parameter_dpci_function(T) +  0x1ed = 0x276a70 in ??:?

0x289508                     VBE::VBE()(T) + 0x1718 = 0x287df0 in ??:?

0x2825cb ConsoleService::ConsoleService(char const*, unsigned int)(T) +  0x95b = 0x281c70 in ??:?

0x266085                           main(T) +  0x125 = 0x265f60 in ??:?

Someone of you have experienced with this kind of issue? Thank you.

@ironista
Copy link
Author

Error was caused setting x86_32 as NRE_TARGET. Shouldn't it work even on a 64 bit cpu? Anyway, no issue with x86_64.

@Nils-TUD
Copy link
Member

It looks like it runs out of memory with x86_32. 256 MiB also seems a bit low for todays machines. Perhaps the remaining RAM is available above 0x100000000? Because this can't be used by x86_32 (it doesn't support PAE).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants