Linux low profile image to run Virtual Box - linux

I want a Linux image which can use low resources (RAM & CPU) and is capable of running:
1. Virtual Box
2. A browser
Actually my system does not have enough memory to run Windows Server in Virtual Box so I need that solution.

I suggest you to configure the kernel as you wish. By default, so many services/resources come with Linux. Which eats most of memory and CPU time.
For compiling Linux kernel pls refer http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
If you wish to reduce your file system size then plz refere http://tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html

I think Suse Studio is fine when need to customize the Linux image.

Related

Using ZFS with Embedded Linux

I'm running embedded Linux (Debian on ARM/X86_64). Since it is very much like a full OS, with some hardware differential and a different platform, you may consider it as a regular machine. So, this will be used in the robotics field where the computer will ALWAYS be hard reset by turning off power. It would disqualify me to use a UPS so I would need to make the system infallible.
I'm running some processor-intensive tasks, like OpenCV and OpenNI and OpenKinect. How do I use an uber-powerful filesystem, like ZFS to mirror the entire disk on the SSD for error correction? Does ZFS perform well in Linux? I'm still kinda a newbie in Linux so I don't understand it's internal workings.
My list of possible platforms are:
--Debian#RaspberryPi
--kUbuntu#ODROID-X2
--Ubuntu#PandaBoard
--Ubuntu#NUC-i3/5.
Also, how can I make sure the filesystem doesn't get damaged during reset? I need the computer to start in good time, A.K.A, <3 minutes for the competition.
I will probably be using a 32GB SSD, so I guess a 16GB partition mirrored 2x works or 12 # 3x. I only need to get an OpenCV install working because the code will be downloaded from a SAMBA NFS automatically!
Thanks for your help and good luck ;)!
ZFS is not suited for low memory systems. It do perform well on system with 4GB of RAM and more.

How to install SmartOS in a Linux KVM instance?

I need to test a program on SmartOS. I don't have any spare systems lying around so I wanted to install it into a KVM image on my GNU/Linux distribution. I've installed Solaris 11 that way and that worked pretty well.
I downloaded the ISO and booted it inside KVM and the installation appeared to work fine. However when I boot the virtual machine it always starts to come up and says:
Booting from harddisk ...
and then it just sits there, with the virtual CPU pegged, and never proceeds any further. No key presses appear to do anything (except Ctrl-Alt-Del which starts the boot again, giving the same result).
I created my KVM from virt-manager with 2G RAM, 2 CPUs, 50G of disk space using a "raw" disk format, and selected "Solaris" / "OpenSolaris" as the OS type.
I don't have a copy of VMWare and it seems really expensive to get one for Linux, so I don't think using the SmartOS VMWare image is an option for me.
Anyone have any hints? Google shows me lots of information about creating Linux instances inside SmartOS KVMs, but nothing on doing it the other way.
I figured it out with some help from the mailing list. SmartOS is a PXE booting operating system: it doesn't actually install to the harddisk. When my installation was complete and the VM rebooted KVM automatically unmounted the ISO file from my virtual CDROM, so on boot it was looking for a PXE image to boot from and couldn't find it.
All I had to do was re-attach the ISO file to the virtual CDROM and it worked fine after that. Ugh.

how to get correct physical memory and virtual memory

I use this windows API,
http://msdn.microsoft.com/en-us/library/aa366589(v=vs.85).aspx
GlobalMemoryStatusEx to get memory information
my computer total physcial memory is 4096MB ,why the program shows 3.XG
My computer's virtual memory is 3063MB ,but i use program which show 2047MB
my develop enviroment is visual studio 2008
how to modify this problem
thanks
Aren't other programs using your system as well? I suspect the memory you're "missing" is due to the OS itself and whatever other programs you're running. See if having a bunch of other applications open changes the virtual memory size that your program is able to see.
Assuming you are running a 32bit version of windows, then this is a limit of windows itself. See this Microsoft page for the details. By default you will only be able to access 2GB of RAM in a single process. There is a compiler switch in visual studio which will give you access to 3GB. This is the /LARGEADDRESSAWARE switch. Beyond that you just need to upgrade to a 64bit operating system.
By the way, the basic reason why you don't automatically get 4GB of address space is because part of it is reserved for the operating system. Those system calls and references to operating system resources have to live somewhere.

building linux kernels

i Just got the book Linux Kernel Development by Robert Love . It has lots of places where you are required to modify and build the kernel . So how should i go with it . Is it better to use a VM , or should i somehow get a proper test machine for it , since i dont want to goof up on my system and data.
A VM has the advantage of offering snapshots. These allow you to save the state of the machine - if the kernel build doesn't work you simply restore the snapshot, and you are able to take as many snapshots as you have disk space to store them. You are also able to clone and re-deploy the VM image, so you have many identical systems to test on.
The same experiment on a physical machine would require far greater effort (ghosting/cloning the disk, re-installing the OS etc).
VirtualBox is free, cross-platform virtualisation software.
There are a lot of tutorials on the web about this topic, e.g. here:
http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html
http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch04.pdf
You could do either or both. An alternative somewhere in between is to setup a dual boot. This is a little riskier than a VM, but not too much.
coLinux
or run linux iso image using QEMU on windows

Figuring out if a server you are connecting to is virtualised?

Is there a way to figure out if a win 2003 server server you are connecting to is virtualised? I tried asking but not 100% sure of the answer is correct.
This is a duplicate of this question: How to identify that you’re running under a VM?.
Quoting from the accepted answer to that question by JawnV6:
The classic trick to detect a VM is to populate the ITLB, run an instruction that must be virtualized (which necessarily clears out such processor state when it gives control to the hypervisor), then run some more code to detect if the ITLB is still populated. The first paper on it is located here, and a rather colorful explanation from a researcher's blog is located here.
I guess looking at the Device Manager (Control Panel | System | Hardware | Device Manager) should give you a good idea.
On one server, running on VMWare ESX, I see the following tell-tale signs of a virtual machine:
System Devices: VMware server memory controller
Network adapters: VMware Accelerated AMD PCNet Adapter
Mice: VMware Pointing Device
Disk drives: VMware Virtual disk SCSI Disk Device
A simple test that detects a VMware network adapter, is:
ipconfig /all | grep "VMware Accelerated"
(would perhaps also detect a host running VMware workstation)
Here's a decent explanation. You can check the manufacturer of a piece of hardware from WMI or within Device Manager to determine if it's a physical device or not.
http://blogs.msdn.com/virtual_pc_guy/archive/2005/10/27/484479.aspx
Can you tell us any more about how you're connecting to this server?
This depends on a couple of factors.
Are you using remote desktop to connect to the server and can you gain access to system files and folders?
Do you know what type of virtualization software is running the server?
Without know that information this question may be a litle difficult to answer correctly. There are a large number of virtualization software vendors and each of them have different setups that are in the virtual servers.
Without more information, the short answer is no. To the actual guest operating system it looks and acts like an operating system that is running on bare metal.
You could look for support software installed, for instance VMware usually installs VMware Tools on the guest operating system.

Resources