Server Guide and Blog

Rock Your Linux


VirtualBox Guest Additions on Real Machine – PXE Boot

VirtualBox guest additions installs a video driver called vboxvideo. It allows for the machine to adjust its resolution to the dimensions of the application windows. It also allows for seamless mouse movement between the host machine and the virtual window. I manage a server that runs VirtualBox to host several machines. The host is located in an air conditioned server room separated from the main office by some distance. In the office I have a windows machine that typically boots to a Windows XP desktop. VirtualBox is installed with a guest configured to pxe boot from the server host.

I would like to boot an interface, using pxe, with guest additions functional. Apparently guest additions does not play nicely with the various VirtualBox kernel modules required for actual machines. I have enabled the vboxvideo module in lts.conf (/var/lib/tftpboot/ltsp/i386/lts.conf) and it does configure xorg.conf of the pxe client properly, but it does not seem to work. Maybe its because the host server uses the nvidia driver? The main /etc/X11/xorg.conf is configured with nvidia; I have tried it with vboxvideo, but that did not make sense to me so I quickly reverted the change.

How else would ltsp clients be configured; other than lts.conf?


Working Locally from a Remote Location

Yes, I know it sounds funny. You can work locally from a remote location. I am specifically referring to use of LTSP. I am managing a server for a company, and I will be placing the server in an air conditioned server room; and I don’t want to sit in that room all day long. I installed an LTSP server so I can sit in the main office and boot a PXE enabled computer from the system. LTSP allows you to login directly to the server from a remote location. The desktop environment will be exactly the same as if you were sitting in front of the machine. The only difference is the LDMĀ  login screen, which technically you can change to anything including GDM.

I want to take the graphics card out of the server; its a nice Nvidia card; in the end I will not being doing what I want because I cannot leave the server completely without local video capabilities. I will be relying on the motherboard integrated Intel video chipset on the PXE enabled computer. It will server its purpose. I will be taking the 1080p capable monitor from the server, to use on the client; this I can get away with. Its a nice system and a pleasure to manage.


Remote Server Management in Local Facility – LTSP

I’m using LTSP to manage a server remotely in a local facility. I setup an LTSP server on the host machine, and will place it in an air-conditioned room to preserve longevity. I configured a machine, of much lower power, to PXE boot from the server. There are several nuances to setting up an LTSP server. Once all is done you realize that it is less complicated that is can or needs to be. When things go right there is essentially three step in total. First:

sudo apt-get install ltsp-server-standalone

This installs the works. Then configured dhcp.

sudo nano /etc/ltsp/dhcpd.conf

Config the subnet to the same that you are using on your router. Clearly if your routers local ip is your subnet would be Then set a range. Make sure you turn off the dhcp servers in any and all routers connected to the network. You need the dhcp server on the machine to be the sole and only. Set the “next-server” option to the came local ip address of the server. Then set the rest of the options; domain, default gateway, dns…. Then reboot the server:

sudo /etc/init.d/dhcp3-server restart

Build the clients:

sudo ltsp-build-client

Thats really all there is to it. I’ve found that problems do arise, and instead of trying to fix them just purge all the installed applications and start over.

sudo apt-get remove --purge ltsp-server-standalone ltsp-server xinetd

One time I was stuck because there were two tftp inet servers, openbsd-inetd and inetd-hpa. They were conflicting. Then purge the autoremove function:

sudo apt-get --purge autoremove

Then start over installing ltsp-server-standalone. You can test your ltsp server using VirtualBox. Just like a real machine set the boot sequence to network as the first option. Now hook up a fancy monitor that can support 1920×1080 to the relatively low powered machine in the other room, and remotely manage your server from a pseudo local desktop environment.


LTSP-Build-Client Arch option not in Help

To find the options for a command you type: command --help It spits out a bunch of options that you can use to tweak the parameters of a command. On the --help for the ltsp-build-client script is the --dist option, which I thought can be used to install a different distribution that the one you are current using on the host. For instance:

sudo lts-build-client --dist lenny

There is another option, and it is not specified in the --help. The --arch option allows the specification of different architecture than your host. For instance:

sudo ltsp-build-client --arch -i386

If you are using a 64 bit host, you can install an i386 client file system with this.


PXE Boot – Thin Client LTSP Config

The main component of LTSP (Linux Terminal Server Project) is the dhcp configuration. To start install the required packages:

sudo apt-get install ltsp-utils ltsp-server ltsp-server-standalone

Then open /etc/ltsp/dhcpd.conf, which is a template of your possible dhcp3 configuration. To makes things simple just use everything in this file as the configuration for dhcp, otherwise if you are comfortable configuring the option feel free; they can be configured many ways! The main dhcpd configuration file is located in /etc/dhcp3/dhcpd.conf. Do not forget to turn off the dhcp server in your router!!!!!! This will cause conflict. Also include next-server “serverip” in the dhcpd configuration. This is required to point secondary ip traffic, during PXE boot, to the ltsp server. Now just build your client environment and your ready to PXE boot:


There are additional lstp configurations that can be done with ltspadmin. You can use ltspadmin to set a gdm login screen for your thin clients; I prefer to not use the gdm. You can use ltspadmin with:

sudo ltspadmin

The rest is terminal graphics. You can monitor the status of your various ltsp components, and set additional sometimes necessary configurations.

Now you might get stuck at various places. One place is the tftp during the pxe boot process. This may be the setting the export correctly in /etc/exports. Add if its not there:

/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)

Then maybe you need to configure the next server option. DHCP is configure in /etc/ltsp/, and not directly in the dhcp /etc directory. Add or uncomment accordingly:

next-server ip.address.of.server;

The whole kit and kaboodle is described in greater detail on the debian wiki.