...
Once we have create the vm's, we checked if the virtual conection works and if there was any problem of usability, but in both vm's everything was ok.
USB devices in guest OS
It's important to know that the USB device must be plugged in before KVM starts.
To use USB devices we have to make some changes in the .xml file of our vm.
First of all we need to know the usb Vendor ID and Product ID. Using this command we'll find it:
Panel |
---|
sudo lsusb |
The output will be:
Panel |
---|
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub |
In our case the Vendor ID and Product ID of the USB we want to add to the guest OS is :
- Vendor ID: 058f
- Product ID: 6387
Now we have to enter it into the .xml file using this command:
Panel |
---|
sudo gedit /etc/libvirt/qemu/VM1.xml |
Add this code:
Code Block |
---|
<devices>
<emulator>/usr/bin/kvm</emulator>
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x058f' />
<product id='0x6387' />
</source>
</hostdev>
<disk type='file' device='disk'>
|
Save and close the file and then restart.
If we want to add the USB device to VM2, we just have to enter in the terminal:
Panel |
---|
sudo gedit /etc/libvirt/qemu/VM2.xml |
And add the same code to the file.
FTP
We are going to test FTP service between guest operating systems we had installed in the virtual machines.
FTP is a protocol used to copy file from one host to another. In FTP we use port 20 for data and port 21 for commands
...
To make any change to the settings, we can do it with the following command.
Panel |
---|
sudo gedit/etc/vsftpd.conf |
To let the clients upload files to the server we should change
#write_enable = YES to write_enable = YES
3. Everytime we make any change we have to restart the vsftpd, in order to make the changes effective.
...
With this platform we can manage in an easier way the transfer of files. We have to enter the host name or IP address.
We click “Quickconnect” and in the panel below will appear the local site and the remote site.
To manage the files we click on the right bottom of the mouse and it will appear all the options we have.
Samba
...
Server (Linux 10.04)
...
To share files between the guest OS we have to set the server and the client. The server will be the Linux guest OS. The steps to set the server are:
- Some software packages are needed so we have to install them with the following command:
Panel |
---|
sudo apt-get install samba smbfs |
- Once we’ve got samba installed, we’ll need to edit the configuration file, running the following command:
Panel |
---|
sudo gedit /etc/samba/smb.conf |
- We are going to make some changes in smb.conf for the configuration of the server:
Wiki Markup |
---|
In the \[ global \] section we have to put the name of our workgroup or domain and uncomment the security parameter: |
Code Block |
---|
workgroup = HOME
.
.
.
security = user
|
Now we can create a new section or uncomment one for the directory to be shared:
Code Block |
---|
[share]
comment = Ubuntu File Server Share
path = /srv/samba/share
browsable = yes
guest ok = yes
read only = no
create mask = 0755
|
The main parameters of each section are:
- comment: a short description
- path: the path to the directory to share.
- browsable: enables Windows clients to browse the shared directory using Windows Explorer.
- guest ok: allows clients to connect to the share without supplying a password.
- read only: determines if the share is read only or if write privileges are granted.
- create mask: determines the permissions new files will have when created.
After these changes in smb.conf we have to restart the samba services to enable the new configuration:
Panel |
---|
sudo /etc/init.d/samba restart |
...
Client (Windows XP)
...
To set up the Samba client in Windows I follow these steps:
- Click Start -> Control Panel
- Click the "Network and Internet Connections" option
- Then click the "Network Connections" option
- Double click the icon labelled "Local Area Connection". The icon may have a number after it, for example "Local Area Connection 5"
- Click the Properties button
- Select "Internet Protocol (TCP/IP)" and click Properties
- Click Advanced
- On the WINS tab, click Add, then enter 192.168.122.130 (the address of the server) and click Add.
- OK and close
To join the domain of the server :
- Click Start -> Control Panel
- Click the "Performance and Maintenance" option, then click on System
- Click on "Change" button. The computer name should be set to the hostname "koneauto". The domain should be set to "HOME"
The problem is that when I click OK the message is "A domain controller for the domain HOME cannot be contacted" . After several trials trying different configurations in smb.conf it doesn't work.
The "How to" I was using to setup the server and the client was:
https://help.ubuntu.com/10.04/serverguide/C/samba-fileserver.html
RTAI
To install the RTAI I was following this documentation :https://www.rtai.org/RTAILAB/RTAI-TARGET-HOWTO.txt
We will try to install RTAI in the host OS Linux 10.04 (64bits). We download the latest version from www.rtai.org that is RTAI 3.8. We'll run the following command:
Panel |
---|
wget --no-check-certificate https://www.rtai.org/RTAI/rtai-3.8.tar.bz2 |
We are going to switch the directory and unpack
Panel |
---|
cd /usr/src tar xvf rtai-3.5.tar.bz2 |
We have to download a new kernel from http://www.kernel.org/ we can use the kernel we have in the distribution.
The first three numbers in the kernel have to match the
first three numbers in the patch.
So we downloaded 2.6.23.1 kernel and we will use the 2.6.23 patch
Panel |
---|
*wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.1.tar.gz* tar xvf linux-2.6.23.1.tar.gz |
Now we will aply the RTAI patch:
Panel |
---|
cd /usr/src/linux-2.6.23.1 patch -p1 -b < ../rtai-3.8/base/arch/i386/patches/hal-linux-2.6.23-i386-1.12-03.patch |
Then we make a copy of the configuration file to the root folder.
Panel |
---|
cp /boot/config-2.6.19-generic .config |
Lets finally run the kernel configuration menu
Panel |
---|
make menuconfig CC=/usr/bin/gcc-3.4 CXX=/usr/bin/g++-3.4 |
incomplete code/drivers" option to 'yes'. In the "loadable module support" section,
make sure that the "Enable loadable module support" is set to 'yes', and set the
"Module Versioning support" is to 'no'. In the "processor type and features" section,
set the "Preemptible kernel" and the "Use register arguments" options to 'no',
and make sure to set the "interrupt pipeline" option, (aka IPIPE) to 'yes'.
Finally, make sure that the "/proc file system support", under the
"Pseudo filesystems" subsection of the "File systems" section is set to yes.
With this new configuration, the kernel has to compile with the following command:
Panel |
---|
apt-get install kernel-package fakeroot make-kpkg clean fakeroot make-kpkg --initrd --app\end-to-version=-rtai \kernel_image kernel_headers |