LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   slackware 64bit virtualbox guest (http://www.linuxquestions.org/questions/slackware-14/slackware-64bit-virtualbox-guest-4175441199/)

zenlunatic 12-12-2012 04:26 PM

slackware 64bit virtualbox guest
 
I would like to install slackware 64-bit 14.0 in virtualbox. I have gotten 32-bit to work as "other linux", whereas 64-bit installs, but has performance issues assumingly because virtualbox is not treating it as a 64-bit. There is no "other linux 64-bit" option when creating a virtualbox guest. Is there a way I can achieve a 64-bit 14.0 guest in virtualbox?

BlackRider 12-12-2012 04:45 PM

You would need a 64 bit host with a hardware vitalization capable processor to have a 64 bit guest.

zenlunatic 12-12-2012 04:53 PM

I have all of the above. What I'm saying is virtualbox has no knobs for 64-bit slackware. If you choose "other linux" there are performance issues. There is no "other linux 64-bit" which is what I need to run slackware 14.0 64-bit as a guest.

Mike_M 12-12-2012 05:31 PM

Quote:

Originally Posted by zenlunatic (Post 4848030)
There is no "other linux 64-bit" which is what I need to run slackware 14.0 64-bit as a guest.

Is there some reason you believe this is required (documentation, etc.)? All the 64-bit selections do are change some of the initial settings for a VM. You have access to all of these settings through the VirtualBox GUI for any VM you set up. There is no magic to using these VM templates. The IOAPIC and PAE/NX settings are the ones that may be enabled when using the various 64-bit Linux templates when creating a VM through the GUI. You can tweak those on your own.

Perhaps if you described your performance issues, with some evidence to back them up, someone may be able to help you. Otherwise we are left with guessing.

TobiSGD 12-12-2012 06:15 PM

The solution is rather simple: Don't use the generic "Other Linux" option, use the "Linux 2.6 (64 bit)" option.

chrisretusn 12-13-2012 06:57 PM

It really does not matter what you put in Type and Version, the key is making sure you have the correct values in your settings. Type and Version simply provide defaults that "should" work with the selected Type and Version. As TobiSGD said, select Linux for Type and Linux 2.6 (64 bit) for Version.

TobiSGD 12-13-2012 08:28 PM

Quote:

Originally Posted by Mike_M (Post 4848042)
Is there some reason you believe this is required (documentation, etc.)? All the 64-bit selections do are change some of the initial settings for a VM. You have access to all of these settings through the VirtualBox GUI for any VM you set up. There is no magic to using these VM templates. The IOAPIC and PAE/NX settings are the ones that may be enabled when using the various 64-bit Linux templates when creating a VM through the GUI. You can tweak those on your own.

Quote:

Originally Posted by chrisretusn
It really does not matter what you put in Type and Version, the key is making sure you have the correct values in your settings. Type and Version simply provide defaults that "should" work with the selected Type and Version.

I was a bit sceptical about those statements and made a test run to see if they are in fact true. So I created two VMs, one with the Linux 2.6 and one with the Linux 2.6 (64 Bit) template, both without virtual harddisks, all other settings as defaulted by the templates.
I then dumped the settings of those VMs to files and diff'ed them:
Code:

tobi ~ ☺ $ VBoxManage showvminfo 32 --details>32
tobi ~ ☺ $ VBoxManage showvminfo 64 --details>64
tobi ~ ☺ $ diff 32 64
1c1
< Name:            32
---
> Name:            64
3,8c3,8
< Guest OS:        Linux 2.6
< UUID:            751df0f0-4a4d-4a9b-949a-d492030ade47
< Config file:    /home/tobi/VIRTUAL/32/32.vbox
< Snapshot folder: /home/tobi/VIRTUAL/32/Snapshots
< Log folder:      /home/tobi/VIRTUAL/32/Logs
< Hardware UUID:  751df0f0-4a4d-4a9b-949a-d492030ade47
---
> Guest OS:        Linux 2.6 (64 bit)
> UUID:            b787bd01-cbbf-427c-8658-4f7012eada1a
> Config file:    /home/tobi/VIRTUAL/64/64.vbox
> Snapshot folder: /home/tobi/VIRTUAL/64/Snapshots
> Log folder:      /home/tobi/VIRTUAL/64/Logs
> Hardware UUID:  b787bd01-cbbf-427c-8658-4f7012eada1a
25c25
< IOAPIC:          off
---
> IOAPIC:          on
34c34
< State:          powered off (since 2012-12-14T00:41:32.000000000)
---
> State:          powered off (since 2012-12-14T00:42:03.000000000)
60c60
< NIC 1:          MAC: 080027970FDC, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
---
> NIC 1:          MAC: 08002764D766, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none

As you can see the only relevant differences are the templates in use and the IOAPIC setting, otherwise only MACs and UUIDs differ, as is expected.
So I looked what happens if I try to start a 64 bit OS on those VMs. I used the Slackware 14.0 64 Bit mini-iso from AlienBob for testing.
Here is what I got:
Code:

32 bit VM, default settings            ->  kernel complains about 32 bit CPU 
32 bit VM, IOAPIC enabled              ->  kernel complains about 32 bit CPU 
32 bit VM, changed to 64 bit template  ->  OS starts                         
                                                                               
64 bit VM, default settings            ->  OS starts                         
64 bit VM, IOAPIC disabled              ->  OS starts                         
64 bit VM, changed to 32 bit template  ->  kernel complains about 32 bit CPU

So my conclusion to it: The templates are not mere templates that change some default settings, they also have to change some settings that are internal to Virtualbox and not accessible from the outside. So setting the correct template seems to be mandatory.

Mike_M 12-13-2012 09:23 PM

Quote:

Originally Posted by TobiSGD (Post 4848920)
I then dumped the settings of those VMs to files and diff'ed them:
Code:

tobi ~ ☺ $ VBoxManage showvminfo 32 --details>32
tobi ~ ☺ $ VBoxManage showvminfo 64 --details>64
tobi ~ ☺ $ diff 32 64

...snip...


No real need to do that. You can examine, diff, etc. the config files directly. They're (generally) stored in ~/VirtualBox VMs or ~.VirtualBox, depending on version and configuration. VirtualBox isn't hiding the configuration settings anywhere.

There is one other change I missed when made my initial post in this thread. The "OSType" setting is also changed depending on the template used.

Quote:

Originally Posted by TobiSGD (Post 4848920)
So I looked what happens if I try to start a 64 bit OS on those VMs. I used the Slackware 14.0 64 Bit mini-iso from AlienBob for testing.
Here is what I got:
Code:

32 bit VM, default settings            ->  kernel complains about 32 bit CPU 
32 bit VM, IOAPIC enabled              ->  kernel complains about 32 bit CPU 
32 bit VM, changed to 64 bit template  ->  OS starts                         
                                                                               
64 bit VM, default settings            ->  OS starts                         
64 bit VM, IOAPIC disabled              ->  OS starts                         
64 bit VM, changed to 32 bit template  ->  kernel complains about 32 bit CPU

So my conclusion to it: The templates are not mere templates that change some default settings, they also have to change some settings that are internal to Virtualbox and not accessible from the outside. So setting the correct template seems to be mandatory.

I tested with the ISO available from http://slackware.com/~alien/slackboot/mini/14.0/ (slackware_x86_64-14.0-mini-install.iso). It loaded just fine in a brand new VM I set up using the "Linux 2.6" template. I made no changes to any of the default settings other than to configure it to load that ISO. "uname -a" shows the running kernel to be x86_64.

There may be some other factors contributing to the failed load on your system (host OS, processor, whatever). I even created new VMs using the WinXP and Win2K default templates and successfully loaded the slackware_x86_64-14.0-mini-install.iso.

My tests don't support your conclusion.

astrogeek 12-13-2012 09:45 PM

Slightly off topic, but so as not to open a new thread...

I am about to install VB on my first 64 bit box. I have read several threads here and it looks like everyone is installing the 64 bit only from the Oracle installer.

The only script on SBo seems to be for 32 bit and warns that it will not build on a stock 64 bit machine.

Does anyone have a Slackbuild for the 64 bit VB for non-multi-lib box?

TobiSGD 12-13-2012 10:28 PM

Quote:

Originally Posted by Mike_M (Post 4848951)
I tested with the ISO available from http://slackware.com/~alien/slackboot/mini/14.0/ (slackware_x86_64-14.0-mini-install.iso).

Same as I have used.

Quote:

There may be some other factors contributing to the failed load on your system (host OS, processor, whatever).
Host OS Slackware 14.0 32 bit
Virtualbox 4.2.4, installed with the Oracle installer
CPU AMD Athlon QL-66 (supports hardware virtualization, otherwise I couldn't have run the 64 bit VM)

Quote:

I even created new VMs using the WinXP and Win2K default templates and successfully loaded the slackware_x86_64-14.0-mini-install.iso.
Tested it with a Win2K VM, kernel complains about 32 bit CPU.

EDIT: Just made a short test with Slackware 14.0 64 Bit host OS on a Phenom II CPU, behaves like you have described it.

So I change my conclusion to:
Quote:

So setting the correct template seems to be mandatory if you are using a 32 bit host OS.

Mike_M 12-14-2012 01:57 AM

Quote:

Originally Posted by TobiSGD (Post 4848977)

EDIT: Just made a short test with Slackware 14.0 64 Bit host OS on a Phenom II CPU, behaves like you have described it.

So I change my conclusion to:

Quote:

So setting the correct template seems to be mandatory if you are using a 32 bit host OS.

Thanks for verifying. I didn't have a 32-bit install in order to test with, otherwise I'm sure I would have found the same issue you did. I suspect the OSType parameter within the config files tells VirtualBox whether or not it needs to emulate a 64-bit processor on a 32-bit host.

The point I wanted to make is that the templates don't contain any magic. They only set options users otherwise have access to, either through the GUI, the command line utilities, or editing the configuration file. There is nothing hidden going on.

BlackRider 12-14-2012 07:26 AM

Quote:

Originally Posted by astrogeek (Post 4848959)
Does anyone have a Slackbuild for the 64 bit VB for non-multi-lib box?

No way. 32 bit stuff is needed in order to fully compile VirtualBox. The best you can aim for is to find a precompiled package for 64 bit and install it. Or install a 32 bit compatibility layer.

TobiSGD 12-14-2012 07:32 AM

Quote:

Originally Posted by BlackRider (Post 4849206)
No way. 32 bit stuff is needed in order to fully compile VirtualBox. The best you can aim for is to find a precompiled package for 64 bit and install it. Or install a 32 bit compatibility layer.

Or just use the installer from Oracle, works fine and does not need multi-lib.

BlackRider 12-14-2012 07:36 AM

Yes, but it is not the OSE version. It is the hell spawned proprietary version!

Ok, I know...

chrisretusn 12-14-2012 08:09 AM

Quote:

Originally Posted by zenlunatic (Post 4848030)
I have all of the above. What I'm saying is virtualbox has no knobs for 64-bit slackware. If you choose "other linux" there are performance issues. There is no "other linux 64-bit" which is what I need to run slackware 14.0 64-bit as a guest.

Emphasis mine.

There is a good reason for not having those "(64 bit)" Versions. You must be running the 23-bit version of VirtualBox. There is no "(64 bit)" available in the 32-bit version of VirtualBox (at least when running on a 32-bit machine).

If your host machine is a 64-bit machine, then you should be running the 64-bit version of VirtualBox, not the 32-bit version of VirtualBox, especially if you want to run a 64-bit OS.

You cannot run a 64-bit OS on a 32-bit host machine. This includes trying to run a 64-bit OS as a guest virtual that 32-bit host machine.


All times are GMT -5. The time now is 09:08 AM.