VirtualBox

Ticket #7299 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

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

Reported by: bzzz Owned by:
Priority: major 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

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

Change History

comment:1 Changed 4 years ago by Hachiman

Could you please attach log file?

Changed 4 years ago by bzzz

log file for 3.2.8

comment:2 Changed 4 years ago by Hachiman

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

comment:3 Changed 4 years ago by Hachiman

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

comment:4 Changed 4 years ago by Hachiman

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.

Changed 4 years ago by bzzz

comment:5 Changed 4 years ago by bzzz

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

comment:6 Changed 4 years ago by bzzz

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

comment:7 Changed 4 years ago by Hachiman

Please try  VBoxDD.dylib.

comment:8 follow-up: ↓ 9 Changed 4 years ago by bzzz

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?

comment:9 in reply to: ↑ 8 Changed 4 years ago by Hachiman

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.

Changed 4 years ago by bzzz

another log file for 3.2.8

comment:10 follow-up: ↓ 11 Changed 4 years ago by bzzz

please notice "VBoxDD.dylib requires version 3.2.10"

comment:11 in reply to: ↑ 10 Changed 4 years ago by Hachiman

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 Changed 4 years ago by bzzz

[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 Changed 4 years ago by Hachiman

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

comment:14 Changed 4 years ago by Hachiman

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

comment:15 follow-up: ↓ 16 Changed 4 years ago by 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

(from linux kernel in virtual machine)

comment:16 in reply to: ↑ 15 Changed 4 years ago by Hachiman

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 Changed 4 years ago by bzzz

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 Changed 3 years ago by Hachiman

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 Changed 3 years ago by bzzz

hmm. where can I get 4.0.0 b1 ?

comment:20 Changed 3 years ago by frank

Please read  here.

comment:21 follow-up: ↓ 22 Changed 3 years ago by 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!

comment:22 in reply to: ↑ 21 Changed 3 years ago by Hachiman

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 Changed 3 years ago by frank

  • Summary changed from linux nfsroot doesn't work with 3.2.x to linux nfsroot doesn't work with 3.2.x => Fixed in SVN

comment:24 Changed 3 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use