How to set up a VM for Cerberus X running on Linux?

Status
Not open for further replies.

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Hey folks,

looks like I have/want to dive into the wonderful world of Linux. Yeah :D

I have a low end PC running Windows 7 Home 64 bit. I don't have much drive space left on this machine, about 30 GB to spare.
My second machine which is a 2009 Imac running Sierra on it. Besides having a little heat problem sometimes, it runs pretty decent and available space it there.

So, if I want to do any Cerberus X development for Linux, package a distribution of it and stuff like that, I think I need to set up a VM on one of these machines.

My question is, which one? What do you recomment? And which Linux distro is suitable for Cerberus X? How do I have to set it up?

I am a total Linux noob but I want to be able to compile TED and the other tools, package everything for distribution and also run CX itself so I might be able to fix things for the GLFW-Target on the Linux side.

Do you think this is reasonable? I know there are some Linux cracks in our community. Would you like to share your knowledge and maybe help me out?

Thanks for reading
Michael
 

muruba

Active Member
CX Code Contributor
3rd Party Module Dev
Patreon Silver
Joined
Jul 5, 2017
I am also a linux noob, but using Ubuntu and CX works just fine with no tuning at all for HTML5/GLFW... Didn't try android though...
 

dawlane

Active Member
CX Code Contributor
Joined
Jun 21, 2017
I think I need to set up a VM on one of these machines.
If you want best results then look into dual booting.

The best distribution to choose is Linux Mint Mate. It's reasonably light weight and still based off Ubuntu. Note that LinuxMint 18.x is supported until 2012 while Linux Mint 17 is supported until 2019. You should always install the Long Term Support (LTS) versions for best compatibility.

If you have a nVidia GPU, then the drivers should work without too much hassle on real hardware. My old Sony VGN ar51su still runs it, though I cannot remember if the proprietary drives are still supported for it. Note that nVida Optimus can be a problem with any Linux distribution.

If running on VM, Ubuntu and Linux Mint work well, but you will require the installation of the VM addtions when you have install Linux as a guest.

For set up for Cerberus see the second post in How to: Build desktop target for a guide. It will be a little out of date, but the basics should still be relevant.
 

dawlane

Active Member
CX Code Contributor
Joined
Jun 21, 2017
Not enough space on my PC
Tip: Linux can be run from a bootable USB memory stick, so if your computers can boot via USB, you don't need to use VM or go through that messy disk partitioning and boot loader. There should be plenty of tutorial around on how to do this.
One tool that seems popular is RUFUS. There's a tutorial here.

The down side to using a memory stick is that it will wear out faster, so use a good one.

I've never go this route as I have a fair bit of disk space and just dual boot.
 
Last edited:

AndyAndroid

Active Member
Joined
Jun 28, 2017
@MikeHart - I would recommend VMware Fusion on the mac, but it does have a cost of about USD $160. If you are looking for a no cost alternative, I would suggest Oracle VM VirtualBox https://www.virtualbox.org/ .

Personally I use Docker which involves a lot more configuration, but it also opens up a lot of other development options, albeit at a steeper learning curve. Based on your hardware constraints I would say stick with the mac.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Ok, I tried and will not continue. Imho Linux is for Nerds. I installed Virtualbox and Ubuntu. Worked so far but only to a certain extend. Can't get shared folders to work, drag and drop doesn't work even when the settings say it should.
Then I installed PureBasic to compile my converter. Naaaaa, not so fast with the horses the farmer said. PureBAsic runs but it is missing some stuff. You need to install this, that, change that script, run this and that. Sorry, this is not for me. If I need to jump through fire, ride a lightning bold, cut my arm off and other things to get a tool running... then I am definitely not the one who should use Linux.
I want things to work. Simple as that. I don't have the time and patiences to fight with all of this. I guess I stay with Windows. My old machine works, my graphic apps work. <rantOff>
 

AndyAndroid

Active Member
Joined
Jun 28, 2017
@MikeHart - Your description is about spot on, especially if you are a long time Windows developer/aficionado. On the bright side it seems you have inadvertently come up with a great idea for a new game, that is...
I need to jump through fire, ride a lightning bold, cut my arm off and other things
 

dawlane

Active Member
CX Code Contributor
Joined
Jun 21, 2017
I will find you a nice easy to follow guide on how to install Ubuntu on Virtual box.
Generally you need to install a few build tools, install the Guest additions, then you can update the VB settings. There is also the extension pack that that you would install on any VB installation.
 
Last edited:

dawlane

Active Member
CX Code Contributor
Joined
Jun 21, 2017
Here's a how to:
Ubuntu 16.04 and Virtual box setup

Download:
Virtual box
Virtual box expansion pack
Ubuntu ISO image
The default is to download a 64bit OS

Start by installing Virtualbox, Once installed you can install the Expansions pack by double clicking it.

Create a new Virtual Guest:
First dialog: Name and operating system
Name: Ubuntu 16.04 LTS (64bit)
The two below change if the name is recognised.
Type: Linux
Version: Ubuntu (64-bit)

Second dialog: Memory size
Slide the point over to what you can spare in your systems RAM.
4GB if you can spare it!

Third dialog: Hard disk
Set the radio button to “Create a virtual hard disk now”.

Forth dialog: Hard disk file type
Set the radio button to “VDI (VirtualBox Disk Image)”

Fifth dialog: Storage on physical hard disk
Set to Dynamically allocated.

Sixth dialog: File location and size
Just change the size from the default to whatever you can spare.
Recommend 20GB minimum for Linux.

Initial settings for guest:
System->Processor:
Increase the “Processor(s)” if your systems CPU has more that 2 cores.
Recommend 2 cores.

System->Acceleration:
Only set the options here if your system supports native virtualisation.
Recommend that you leave these to the defaults.

Display->Screen
Video Memory: Set it to the maximum 128MB.
You can set it to 256MB, but requires knowledge of VirtualBox settings files.
Acceleration:
Check the Enable 3D Acceleration check box.

Storage:
In the “Storage Tree” left pane under “Controller: IDE”, select the CD virtual device. It will show whatever was the last thing mounted or Empty.
Leave the Optical Drive to the default and click the CD image/file browser to the right of it and select “Choose Virtual Optical Disk File.
Browse to where the Ubuntu ISO file is and select it. The storage tree will now show the mounted ISO image.

Now start the virtual machine.

Ubuntu Install

First dialog: Click “Install Ubuntu”

Second dialog: Preparing to install Ubuntu
Click the check box “Download updates while installing Ubuntu”
(It lies, you still have to do an update check when installed!)
If desired or you don’t care, click the Install third-party check box.

Third dialog: Installation type
As this is a virtual machine and won’t be installing anything fancy you can leave it as “Erase disk and install Ubuntu”.
You will be suck to whatever the default virtual partition as set to. It may not be ideal, so you can change this by clicking the “Something else” radio button.
The LVM option should be left alone unless you are familiar with that type of partition management.

The “Something else” option:

The main pane shows the hard drives and there partitions. The drop-down combo box show where the you can install the boot loader. Not important for we’re only using the one virtual drive!

The drive (/dev/sda for scsi/sata devices) should have no tables, so click the “New Partition Table” button and OK to continue. You will see that the table has been created by showing “free space”.

Select “free space” and click the plus symbol above the drop-down combo box to create a partition.
Create partition dialog:
Size: This is the size that you would like to make the partition
Type of the new partition: Primary or Logical (NOTE that you can only have four Primary partition on one hard drive be they real or virtual, unless you are using Logical Volume Management.
Location for the new partition: Beginning of this space or End of this space
Use as: Sets the partition table format, e.g. Fat32.
Mount point: For Linux to access a drive it needs to know where it should be mounted in the file system. The most common are shown when you click the drop-down arrow.
The beauty of this is that you can have your /home directory on another hard drive/partition and re-install the operating system without touching the files in your /home directory.

First partition to create is the swap partition. This would be described as a page file on Windows. It should be double the size of the current virtual RAM setting.

NOTE: That there is a maximum of 4GB only on a 32bit distribution.
Set the size in mega bytes to use e.g. 2048 = 2GB
Leave it as a Primary partition.
Leave the Location to Beginning
Set the Use as to “swap area”

There’s no need to set the mount for this.

For the next partition you can either use the rest of the hard drive mount as the system root (/), or partition the drive more for each of the other shown mount points.

The next partition created will automatically set the “Location for the new partition” to Logical. Thus, increasing the number of partitions you can have.
Recommend minimum for system root only 12-20GB depending on what you intend to do.

The size of any home partition depends on how many uses are expected, you can in theory have a hard drive mount for each user.
If there is one one hard drive and many users, then a quota system needs to be set up once the OS is installed.

To keep it simple, just create the two extra partitions of root (/) and /home.

For a 20BG virtual hard drive with a 2GB swap area, system root (/) of 12GB and a home directory of 7GB, it should look something like this:
/dev/sda
/dev/sda1 swap 2046MB
/dev/sda5 ext4 / 12287MB
/dev/sda6 /home 7136MB

When your happy with the layout, click “Install Now” and click Continue on the next dialog.

The next few dialogs are for setting up locales, user name, passwords, etc and don’t need explaining. though if your using a Mac, you may need to set the keyboard up correctly; your success here depends on your Mac keyboard! It can be done, but you need a bit of knowledge.

Once installed follow the instructions to reboot the virtual machine.
Check that the firewall is up and running.

In a terminal type: sudo ufw status
Tip: Top left icon and type Terminal to filter.

If it’s off type: sudo ufw enable.

While here, may as well install the firewall GUI application.
Type: sudo apt-get install guff

And for later: sudo apt-get install gnome-system-tools

Install Guest Additions

Start the Ubuntu virtual machine and login.
Run the Updater.
Tip: Top left icon and type Update to filter.

In Virtualbox’s menu bar under Devices, you will find a menu item called “Insert Guest Additions CD image..”, click on this to mount it.
For Ubuntu, it should auto run, type your password and let it run. Other distribution may require g++ compiler, header files and the Dynamic Kernel Model Support (dkms) package.

Setup access for Shared Folders

If you installed gnome-system-tools, you will find that you now have access to the Users & Groups GUI tools.
You need to ensure that the users can access the virtual box file system, so the user needs to be added to vboxsf to allow this.

Start the User and Groups application.
Tip: Top left icon and type Users to filter

Click the “Manage Groups” button, look for vboxsf and click the “Properties” button.
In the Group member you will see a list of users. Click the check box for the user to add to the group.
DO NOT CHANGE THE GROUP ID AT ALL.

Shut down the virtual machine and in the virtual machine settings add a directory to share and restart.

While at it, in “General” settings, in the “Advanced” tab set Shared Clipboard to Bidirectional.

According to what information I can find, there is no support yet for “Drag ’N Drop” between an OS X host and virtual guest.
 
Last edited:
Status
Not open for further replies.
Top Bottom