VirtualBox

Opened 14 years ago

Closed 14 years ago

#7299 closed defect (fixed)

linux nfsroot doesn't work with 3.2.x => Fixed in SVN

Reported by: bzzz Owned by:
Component: network/NAT Version: VirtualBox 3.2.8
Keywords: Cc: bzzz@…
Guest type: Linux Host type: Mac OS X

Description

hello,

I've been using vbox for development based on linux kernel. in order to simplify reboot/recovery linux system is installed on the host os (just untar of existing installation into os/x). then I boot linux kernel using embedded tftp mechanism enabled in NAT mode. it's been working just fine with 3.1.x. but I can't use this schema with any 3.2 (including the last one 3.2.8). when linux kernel is trying to access the root over nfs something goes wrong and in linux console I get the following:

Looking up port of RPC 100005/1 on 192.168.56.1 VFS: Mounted root (nfs fiessystem). Freeig unused kernel memory: 288k freed call_verify: XDR representation not a muliple of 4 bytes: 0x5b2 call_verify: XDR representation not a multiple of 4 bytes: 0xbb2 call_verify: XDR rpresentation not a multiple of 4 byes: 0x5b2 call_verify: XDR representation not a multiple of 4 bytes: 0x5b2

so, I have to install 3.1.8 back and then everything works fine again. any idea?

I guess I should try host-only mode, but embedded tftp works only with NAT. so, I'd have to install bunch of software (dns reporting correct tftp server, tftp itself).

thanks, z

Attachments (3)

VBox.log (73.8 KB ) - added by bzzz 14 years ago.
log file for 3.2.8
Screen shot 2010-09-28 at 10.06.08 AM.png (118.2 KB ) - added by bzzz 14 years ago.
VBox.2.log (74.3 KB ) - added by bzzz 14 years ago.
another log file for 3.2.8

Download all attachments as: .zip

Change History (27)

comment:1 by vasily Levchenko, 14 years ago

Could you please attach log file?

by bzzz, 14 years ago

Attachment: VBox.log added

log file for 3.2.8

comment:2 by vasily Levchenko, 14 years ago

Thanks. for record: I have received testcase to reproduce the issue.

comment:3 by vasily Levchenko, 14 years ago

thanks for provided testcase. I've been able to reproduce the issue.

comment:4 by vasily Levchenko, 14 years ago

Could you please verify the build VBoxDD.dylib, whether it fixes the issue for you? what have been changed: we've found that size calculation of buffer used for reading from socket is not correct.

PS. Locally I've found your testcase bootable and usable.

comment:5 by bzzz, 14 years ago

I replaced Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib, but got another problem. see the attachment.

comment:6 by bzzz, 14 years ago

btw, file with library has mac32 suffix while my system is 64bit.

comment:7 by vasily Levchenko, 14 years ago

Please try VBoxDD.dylib.

comment:8 by bzzz, 14 years ago

OK. so 64bit version didn't load due to:

00:00:01.011 rtldrNativeLoad: dlopen('/Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib', RTLD_NOW | RTLD_LOCAL) failed: dlopen(/Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib, 6): no suitable image found.  Did find:
00:00:01.011 	/Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib: mach-o, but wrong architecture
0

then I tried 32bit version again:
00:00:00.829 rtldrNativeLoad: dlopen('/Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib', RTLD_NOW | RTLD_LOCAL) failed: dlopen(/Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib, 6): Library not loaded: /Applications/VirtualBox.app/Contents/MacOS/VBoxREM.dylib
00:00:00.829   Referenced from: /Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib
00:00:00.829   Reason: Incompatible library version: VBoxDD.dylib requires version 3.2.10 or later, but VBoxREM.dylib provides version 3.2.8
0

I checked on the site - it's still 3.2.8.

could you provide me with library built for 3.2.8, please?

in reply to:  8 comment:9 by vasily Levchenko, 14 years ago

Replying to bzzz:

00:00:00.829 Reason: Incompatible library version: VBoxDD.dylib requires version 3.2.10 or later, but VBoxREM.dylib provides version 3.2.8 0

I checked on the site - it's still 3.2.8.

could you provide me with library built for 3.2.8, please?

Could you please add log for you current VBox installation (with origianal VBoxDD.dylib)? The build of both DSOs I've provided for you were made against Vbox-3.2 branch at r64453 which is pointed in the log attached to defect.

by bzzz, 14 years ago

Attachment: VBox.2.log added

another log file for 3.2.8

comment:10 by bzzz, 14 years ago

please notice "VBoxDD.dylib requires version 3.2.10"

in reply to:  10 comment:11 by vasily Levchenko, 14 years ago

Replying to bzzz:

please notice "VBoxDD.dylib requires version 3.2.10"

What is output of otool -LD against downloaded dylib? Here I have

bash-3.2$ otool -LD VBoxDD.dylib
VBoxDD.dylib:
        /Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib (compatibility version 3.2.8, current version 3.2.8)
        /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
        /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
        /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
        /Applications/VirtualBox.app/Contents/MacOS/VBoxREM.dylib (compatibility version 3.2.8, current version 3.2.8)
        /Applications/VirtualBox.app/Contents/MacOS/VBoxVMM.dylib (compatibility version 3.2.8, current version 3.2.8)
        /Applications/VirtualBox.app/Contents/MacOS/VBoxRT.dylib (compatibility version 3.2.8, current version 3.2.8)
        /Applications/VirtualBox.app/Contents/MacOS/VBoxDDU.dylib (compatibility version 3.2.8, current version 3.2.8)
        /Applications/VirtualBox.app/Contents/MacOS/VBoxDD2.dylib (compatibility version 3.2.8, current version 3.2.8)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
        /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.0.0)

comment:12 by bzzz, 14 years ago

[alexey lustre]$ otool -LD ~/Desktop/VBoxDD.dylib.mac32 
/Users/alexey/Desktop/VBoxDD.dylib.mac32:
	/Applications/VirtualBox.app/Contents/MacOS/VBoxDD.dylib (compatibility version 3.2.10, current version 3.2.10)
	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0)
	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
	/Applications/VirtualBox.app/Contents/MacOS/VBoxREM.dylib (compatibility version 3.2.10, current version 3.2.10)
	/Applications/VirtualBox.app/Contents/MacOS/VBoxVMM.dylib (compatibility version 3.2.10, current version 3.2.10)
	/Applications/VirtualBox.app/Contents/MacOS/VBoxRT.dylib (compatibility version 3.2.10, current version 3.2.10)
	/Applications/VirtualBox.app/Contents/MacOS/VBoxDDU.dylib (compatibility version 3.2.10, current version 3.2.10)
	/Applications/VirtualBox.app/Contents/MacOS/VBoxDD2.dylib (compatibility version 3.2.10, current version 3.2.10)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0)

comment:13 by vasily Levchenko, 14 years ago

Ah, right 32-bit binary isn't valid, sorry. I'll rebuild it in some minutes.

comment:14 by vasily Levchenko, 14 years ago

I've rebuilt 32-bits, double checked the version and uploaded on the same place.

comment:15 by bzzz, 14 years ago

now I'm getting a lot of messages like this:

NFS servee cheating in read reply: count 2229 > recvd 1372 NFS ssrver cheating in read reply: count 1536 > recvd 1372

(from linux kernel in virtual machine)

in reply to:  15 comment:16 by vasily Levchenko, 14 years ago

Replying to bzzz:

now I'm getting a lot of messages like this:

NFS servee cheating in read reply: count 2229 > recvd 1372 NFS ssrver cheating in read reply: count 1536 > recvd 1372

Does your TFTP booting finished well?

the reason of this messages is that NAT isn't aware of protocol internals and only what it does is read from socket the buffer it might place in fragment of MTU size. I'll try to fetch everything on the socket choosing the appliable buffer size and then let fragmentation routine split the packet.

comment:17 by bzzz, 14 years ago

so, it stopped with "INIT: no more processes left in this runlevel", but it's still some progress compared to vanilla 3.2.8 :)

somehow it works well with vbox 3.1

comment:18 by vasily Levchenko, 14 years ago

Could you please verify that 4.0.0 b1 fixes issue for you? note that it could not working with e1k because of http://www.virtualbox.org/ticket/4756#comment:3, so it'd be better to try with pcnet adapter.

comment:19 by bzzz, 14 years ago

hmm. where can I get 4.0.0 b1 ?

comment:20 by Frank Mehnert, 14 years ago

Please read here.

comment:21 by bzzz, 14 years ago

great, it works with 4.0.0 b1! the only remaining issue (minor though) is that vmlinuz loading take ~20s, is rate is ~120KB/s, which is kind of slow ... anyway, thanks a lot!

in reply to:  21 comment:22 by vasily Levchenko, 14 years ago

Replying to bzzz:

great, it works with 4.0.0 b1! the only remaining issue (minor though) is that vmlinuz loading take ~20s, is rate is ~120KB/s, which is kind of slow ... anyway, thanks a lot!

Thanks for feedback.

comment:23 by Frank Mehnert, 14 years ago

Summary: linux nfsroot doesn't work with 3.2.xlinux nfsroot doesn't work with 3.2.x => Fixed in SVN

comment:24 by Frank Mehnert, 14 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette