<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30250081</id><updated>2012-02-17T06:41:47.418+02:00</updated><category term='console'/><category term='CloudFoundry'/><category term='zoneminder'/><category term='OSGi'/><category term='git'/><category term='gentoo'/><category term='Eclipse'/><category term='VirtualBox'/><category term='gogo'/><category term='windows'/><category term='ssh'/><category term='Virgo'/><category term='usability'/><category term='laptop'/><title type='text'>  hsiliev's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30250081.post-153269957889612279</id><published>2011-11-26T18:09:00.001+02:00</published><updated>2011-11-28T00:48:00.420+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virgo'/><category scheme='http://www.blogger.com/atom/ns#' term='CloudFoundry'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><title type='text'>Running Virgo on Cloud Foundry</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;In &lt;a href="http://hsiliev.blogspot.com/2011/07/virgo-and-cloud.html"&gt;&lt;b&gt;this post&lt;/b&gt;&lt;/a&gt; I provided a VM with Virgo and Cloud Foundry. Now I'll explains how to set up such VM on your own and to use updated (2011-11-27) Cloud Foundry version forked in GitHub.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Installation steps:&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;1. Download &lt;b&gt;&lt;a href="https://www.virtualbox.org/wiki/Downloads"&gt;VirtualBox&lt;/a&gt;&lt;/b&gt;&lt;/span&gt; and install it.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;2. Download VirtualBox's Extension Pack and install this as well.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;You may double click on the Extension Pack for Windows. Also note that the extensions are not needed if you want to setup Ubuntu on your own.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;3. Download &lt;b&gt;&lt;a href="http://virtualboxes.org/images/ubuntu/"&gt;Ubuntu image&lt;/a&gt;&lt;/b&gt; and write down the user/password.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I've tested with Ubuntu 11.04. Ubuntu Server is the best choice for productive systems, and in case you like developing with VI&lt;/span&gt;.&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Note that the recommended version is Ubuntu Server 10.04-2 LTS.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;4. Start the image&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Some of the archives contain only HDD image, so you may need to configure the VM and attach the downloaded HDD image.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Other images come preconfigured. For those you may need to change the network adapter settings in VirtualBox.&amp;nbsp; Simply clicking on Network section and saving the auto-detected changes did the trick for me.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;In general &lt;/span&gt;&lt;span style="font-size: small;"&gt;ensure the VM has at least 2GB memory.&lt;/span&gt; If you want to try every Cloud Foundry service and framework (or simply run the tests) you will need at least 3GB of memory.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The image may have keyboard layout you are not used to (Italy as was in my case), so it's a good idea to change this. For the Server (no GUI) you can do this with:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;code style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; sudo dpkg-reconfigure console-setup&lt;/code&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;a href="http://www.virtualbox.org/manual/ch04.html"&gt;Installing Guest Additions&lt;/a&gt;&lt;/b&gt; is definitely a good idea since it allows you to copy/paste install commands in the next steps, and what's more important allows hardware and host OS acceleration.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;5. Install libtool using:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; sudo apt-get install libtool&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;6. Install CloudFoundry on the image as explained in this GitHub &lt;b&gt;&lt;a href="https://github.com/hsiliev/vcap"&gt;vcap repository fork&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;You may need to reboot the VM to allow RVM (Ruby Version Manager) to pick up the configuration in vcap folder and switch Ruby versions. Sourcing the configurations did not work for me.&lt;br /&gt;&lt;br /&gt;7. Update Cloud Foundry with the Virgo modifications&lt;br /&gt;&lt;br /&gt;The Cloud Controller uses vcap_staging gem that does not support Virgo, so we have to update the gem with the Virgo specific code. To do this execute:&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; cd &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;~/cloudfoundry/vcap&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; cp -r staging/lib/* ~/.rvm/gems/ruby-1.9.2-p180/gems/vcap_staging-0.1.25/lib/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Finally restart the Cloud Foundry&lt;/span&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; bin/vcap restart&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;To be able to use the automatic discovery of Virgo applications in VMC we need to update the client:&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; cd ~/cloudfoundry/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; git clone https://github.com/hsiliev/vmc.git&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; cp vmc/lib/cli/frameworks.rb ~/.rvm/gems/ruby-1.9.2-p180/gems/vmc-0.3.13/lib/cli &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div style="text-align: right;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-fPXWsVDx1BU/TtK5_HIGjGI/AAAAAAAABAI/g1j3_40ntvk/s1600/Admin+Console.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="170" src="http://2.bp.blogspot.com/-fPXWsVDx1BU/TtK5_HIGjGI/AAAAAAAABAI/g1j3_40ntvk/s200/Admin+Console.jpg" width="200" /&gt;&lt;/a&gt;&lt;u&gt;&lt;b&gt;How to install Virgo's Admin Console&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt; &lt;/b&gt;&lt;/u&gt;&lt;br /&gt;1. Download and extract the &lt;b&gt;&lt;a href="http://dl.dropbox.com/u/25558251/admin-console-3.0.2.RELEASE.zip"&gt;archived console&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;2. In the directory where you extracted the archive, run:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; vmc push virgo&lt;/span&gt;&lt;br /&gt;3. Request &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virgo.vcap.me&lt;/span&gt; and you should see the Splash Screen with link to the Admin Console in the upper right corner.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;How to update to the latest Virgo version:&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;1. Clone &lt;b&gt;&lt;a href="https://github.com/hsiliev/vcap-java"&gt;vcap-java repository&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;2. Go to vcap-java/virgo-setup &lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;3. Edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virgo_manifest.yml&lt;/span&gt; to specify the exact version you want&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;4. Run &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;rake virgo:prepare&lt;/span&gt;&lt;br /&gt;5. Find the new version in&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; /tmp/virgo-&amp;lt;your version&amp;gt;/virgo.zip&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;6. Replace the ZIP in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; ~/cloudfoundry/vcap/staging/lib/vcap/staging/plugin/virgo/resources&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;The last two steps should be automated with the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virgo:install&lt;/span&gt; task, but I haven't tested if this works.&lt;/span&gt;&lt;br /&gt;&lt;ol style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-153269957889612279?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/153269957889612279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=153269957889612279&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/153269957889612279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/153269957889612279'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/11/running-virgo-on-cloud-foundry.html' title='Running Virgo on Cloud Foundry'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-fPXWsVDx1BU/TtK5_HIGjGI/AAAAAAAABAI/g1j3_40ntvk/s72-c/Admin+Console.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-4796968079266242187</id><published>2011-11-15T19:53:00.001+02:00</published><updated>2012-01-03T20:34:19.791+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><title type='text'>Gentoo on Lenovo T520</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;My new laptop is finally here. Lenovo T520 came with Windows 7, and if you ask me that's a bad choice for laptop with these specs. Neither the video (Intel HD), nor the 500GB HDD were made to be used by gamers where Windows is undisputed leader.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;So I made up my mind to made a switch and chose Gentoo Linux since I needed better git, ruby and java support, but besides all I wanted to be in control on what's happening with the hardware and software on my system :) From previous installations I found out that Ubuntu does not support odd or older hardware without kernel recompile. On the other hand the software packages in the most popular Linux distro are not the most stable thing (especially Gnome UI stuff).&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;Since I had enough experience with Gentoo from setting up my development server and the surveillance system machine&amp;nbsp; I decided that I'll just stick with this source based distro with rolling updates. It is also used by several cloud computing companies, so it looks it's here to stay.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;I've done the basic setup almost exactly as recommended in the &lt;b&gt;&lt;a href="http://www.gentoo.org/doc/en/handbook/"&gt;Gentoo Handbook&lt;/a&gt;&lt;/b&gt;. The concrete settings are detailed below.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;make.conf&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;I used "native" architecture for GCC which leaves the optimization decision in the compiler. Since T520 has 4 cores the numer of compile/processing threads is set to 5. To speed up the emerge the download is made on background with "parallel-fetch" feature.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New',Courier,monospace;"&gt;CHOST="i686-pc-linux-gnu"&lt;br /&gt;CFLAGS="-march=native -O2 -pipe"&lt;br /&gt;CXXFLAGS="${CFLAGS}"&lt;br /&gt;MAKEOPTS="-j5"&lt;br /&gt;FEATURES="parallel-fetch -test"&lt;br /&gt;USE="mmx sse sse2 sse3 3dnow 3dnowext \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;dvd dvdr cdr vcd cdda \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;usb wifi laptop ieee1394 \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;lm_sensors \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bash-completion symlink \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ftp \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bzip2 zip unzip 7zip rar \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;jpeg svg jpeg2k png gif mng \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ffmpeg xvid x264 theora \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;truetype gd \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;mp3 faac faad amr \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;java javascript xml ruby python \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sqlite \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ssl sni \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;unicode \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;daemon threads \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;X xvfb dbus hal \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;gtk gnome gdu extras device-mapper policykit cairo \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-kde -qt3 -qt4 \&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-ipv6"&lt;br /&gt;GENTOO_MIRRORS="http://mirrors.ludost.net/gentoo/ ftp://mirrors.ludost.net/gentoo/ http://distfiles.gentoo.bg/ http://ftp.gentoo.bg/ "&lt;br /&gt;SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"&lt;br /&gt;ACCEPT_LICENSE="dlj-1.1 Oracle-BCLA-JavaSE skype-eula"&lt;br /&gt;INPUT_DEVICES="evdev synaptics mouse keyboard"&lt;br /&gt;VIDEO_CARDS="intel vesa"&lt;br /&gt;LINGUAS="bg en"&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif; font-weight: bold; text-decoration: underline;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;I'm a Gnome user, so the flags are set to disable QT and KDE. The IPv6 is of no use to me currently so I disabled it as well.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;I'm Java developer so I accepted Oracle's JDK 1.5 and 1.6 licences to enable installation of the software. Since Oracle changed the 1.6 licence and download pages it is no longer possible to install Java automatically. Fortunately emerge provides quite good hints when you have to download a package manually.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;Next I inserted my hardware configuration for X - keyboard, synaptic, external mouse, and Intel HD video card.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;Language configuration can also be added in make.conf to enable localization of console, X and Gnome/KDE.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;Linux Kernel Configuration&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;I used the Gentoo's 3.0.6 kernel (gentoo-sources) with this configuration.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;LAN setup&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;In &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New',Courier,monospace;"&gt;/etc/conf.d/net&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt; you can use ifplugd to make the annoying delay on start-up &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;go away, &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;when there is no cable plugged (in the end this is a laptop):&lt;/span&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New',Courier,monospace;"&gt;ifplugd_eth0="dhcp"&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;Of course you will have to install ifplugd as described in the &lt;b&gt;&lt;a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&amp;amp;chap=6"&gt;handbook&lt;/a&gt;&lt;/b&gt;.&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;u&gt;Wireless network&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;The kernel configuration includes drivers for the wireless network on T520. This however is not enough to get it working.&lt;br /&gt;&lt;br /&gt;I found out that the network is &lt;span class="postbody"&gt; Intel Centrino Advanced-N and followed Google to this &lt;b&gt;&lt;a href="http://forums.gentoo.org/viewtopic-t-883211.html"&gt;Gentoo Forum Post&lt;/a&gt;&lt;/b&gt;. The post provides&lt;b&gt; &lt;/b&gt;quite good guide on how to identify and emerge the right driver and firmware for your wireless chip.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span class="postbody"&gt;Gnome&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;span class="postbody"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;As a pleasant surprise Gnome provided me with working functional keys out of the box. From changing video output through back-light to sleep buttons everything worked as expected.&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;u&gt;&lt;b&gt;Not working&lt;/b&gt;&lt;/u&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;Currently I don't know how to get the card reader to work.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-4796968079266242187?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/4796968079266242187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=4796968079266242187&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/4796968079266242187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/4796968079266242187'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/11/gentoo-on-lenovo-t520.html' title='Gentoo on Lenovo T520'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-301001942861352210</id><published>2011-11-08T23:18:00.005+02:00</published><updated>2011-11-08T23:24:47.794+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='zoneminder'/><title type='text'>Installing ZoneMinder in Gentoo</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Installing ZoneMinder in Gentoo turned out to be a relatively easy task:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;emerge layman&lt;br /&gt;&lt;br /&gt;layman -o http://gpo.zugaina.org/lst/gpo-repositories.xml &lt;br /&gt;layman -a zugaina&lt;br /&gt;&lt;br /&gt;echo "source /var/lib/layman/make.conf" &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;ACCEPT_KEYWORDS="~x86" emerge -av zoneminder &lt;/span&gt; &lt;span style="font-size: small;"&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;If you are interested in the details you can take a look at &lt;/span&gt;&lt;b&gt;&lt;a href="http://en.gentoo-wiki.com/wiki/Overlay" style="font-family: Arial,Helvetica,sans-serif;"&gt;Overlays @ Gentoo wiki&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-301001942861352210?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/301001942861352210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=301001942861352210&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/301001942861352210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/301001942861352210'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/11/installing-zoneminder-in-gentoo.html' title='Installing ZoneMinder in Gentoo'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-5127921819636908762</id><published>2011-10-01T23:52:00.033+03:00</published><updated>2011-11-08T23:24:07.223+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='zoneminder'/><title type='text'>Setting up Geovision 650 surveliance card in Gentoo</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I was trying to turn my old 2.2 Ghz Celeron based computer into a surveillance system. I needed a lot of computing power to be able to record from 4 cameras and to be able to integrate 2 new Vilar IP cameras as well. I chose Gentoo Linux since it does it's job as server OS quite well on my home development server.&lt;br /&gt;&lt;br /&gt;So after 3 hours I had a customized installation compiled with &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-march=native&lt;/span&gt; and kernel stripped down to the bare minimum.&lt;br /&gt;&lt;br /&gt;I tried to set up my Geovision 650 DVR card starting from the Linux module. I launched make menuconfig and was sure that I'll have everything ready in under an hour. As you can imagine this was not the case :) In the end it took me 2 days to have the card running and I decided to describe the steps.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Gentoo installation&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I followed the handbook as usual and the installation was pretty straightforward and went smooth. The GCC configuration spared me the search for the CFLAGS of my CPU and I had to put&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;-march=native&lt;/span&gt; to get everything optimized.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;USE flags&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I intended to use ZoneMinder so I added the needed flags right away (apache, mysql, php, perl). It turned out that to check the input of the card I had to use xawtv, so I enabled X as well.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;BT878 / BTTV module&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;The module I needed was BTTV since Geovision 650 is equipped with two BT878 chips to allow decent capture from its 4 inputs.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;However I was not able to find how to enable the compilation of the driver. I was more astonished than ashamed to find that the answer was the non-existent Infra-red Remote.... Turning the IR support in the kernel enabled the compilation of the module I desperately needed.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I tried so hard to enable BT878 support so I decided to scan all options in kernel configuration screens. I removed a lot of unneeded stuff and between the flags that were unchecked was the one ensuring that my 80GB HDD was able to host single files with size more than 2TB.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I recompiled the kernel and a few modules, replaced the old binaries, rebooted the machine...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Missing kernel features&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;... and I found myself with read only EXT4 file system. It turned out that the LiveCD I used to create my root partition had large files suppport turned on. In fact the kernel has this by default. Using EXT4 tools seems to pick the kernel settings so before I was able to fit 2TB files on my small HDD and now the kernel was not able to process such files anymore.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I found the solution in &lt;b&gt;&lt;a href="http://www.nicolaskuttler.com/post/filesystem-with-huge-files-cannot-be-mounted-read-write-without-config_lbdaf/"&gt;this blog&lt;/a&gt;&lt;/b&gt; and this was one of the reasons to describe my installation problems.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;BTTV driver configuration&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Gentoo now uses OpenRC to describe and configure modules (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/conf.d/modules&lt;/span&gt;). I put bttv driver in the list rebooted again to check if the driver will autodetect the card. Yes I know that modprobe would (or actually should) have done the same job but I had to be sure.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;What I found was card=0, autodetecting log entry shown by dmesg. So I had to find the correct card settings. Fortunatelly there are a lot of resources out there that hinted to use &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;"card=&amp;lt;number&amp;gt;"&lt;/span&gt; parameter of bttv module. The question was what to put as number. Soon I found that 150 provides me with Geovision 600 which is pretty close relative to my GV-650.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Using my Windows experience I rebooted again and after several seconds found out that nothing changed. So time for modprobe tests with different numers only to find no change in bttv output.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Fortunatelly the bttv sources were sitting quetly on my HDD. A dump of bttv.c showed that GV-600 has &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;0x96 &lt;/span&gt;value which was exactly &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;150 &lt;/span&gt;in decimal. I smiled happily and put the "correct" values in modules configuration: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;"card=150,150"&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;The next Windows-style reboot revealed that bttv was not happy with this value as well. I had the same autodetect failure in the logs.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I reported the problem in &lt;b&gt;&lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=384991"&gt;bugzilla&lt;/a&gt;&lt;/b&gt;. Meanwhile tried to search internet and found a Russian Google IRC chat that provided needed workaround. It turned out that udev kicked in too early and loaded the module before OpenRC was able to configure it correctly. OpenRC issued modprobe correctly but the module was already there.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;So in the end - not really a bug :) Simply disabling coldplug with &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;rc_coldplug="NO"&lt;/span&gt; in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc.conf.d/udev&lt;/span&gt; did the trick.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;b&gt;&lt;u&gt;Testing video input&lt;/u&gt;&lt;/b&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I installed xawtv to test the output and after 2 hours of experiments I had no idea why the card won't work.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Google found out several configurations working fine with GV600 or GV800 but none with GV650. Strange ...&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;I wondered what was the difference between GV600 and GV650. After some research it turned out that GV650 has one more BT878 chip than GV600, and in turn GV800 has 4 in total.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Consulting the bttv-cards.c file revealed that one of the chips in GV800 is "master" and the rest "slaves". This and the strange mapping between the inputs and the chips in &lt;b&gt;&lt;a href="http://www.killerbrasil.com.br/blog/linux-os-dicas-ubuntu/instalacao-gv-250gv-600v-800-ubuntu,"&gt;this blog&lt;/a&gt;&lt;/b&gt; led me to the conclusion that I need to change my bttv configuration to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;"card=157,158"&lt;/span&gt; (master/slave).&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Another reboot and suddenly everything worked just fine.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;ZoneMinder&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;The last time I tried to run ZoneMinder on Gentoo was 4 years ago. Too long as it turned out.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Today the ZoneMinder is nowhere to be found in the repositories and its configuration on your own is not easy. You have to hunt down the location of all dependencies, the libraries ffmpeg is build with and so on.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Well I think I managed to dig all the needed info but &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;configure &lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;just stopped with cryptic message about &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;openssl &lt;/span&gt;library&lt;/span&gt;&lt;/span&gt;. Basically it says that the library is on the system but is messed up and unusable by ZoneMinder.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Seems like I'll have to create a new blog about this :)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-5127921819636908762?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/5127921819636908762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=5127921819636908762&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/5127921819636908762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/5127921819636908762'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/10/setting-up-geovision-650-surveliance.html' title='Setting up Geovision 650 surveliance card in Gentoo'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-6022692413535331764</id><published>2011-07-29T00:48:00.005+03:00</published><updated>2011-08-02T13:50:15.323+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virgo'/><category scheme='http://www.blogger.com/atom/ns#' term='CloudFoundry'/><title type='text'>Virgo and the Cloud</title><content type='html'>&lt;div style="text-align: justify;"&gt;If you wanted to try your OSGi based applications in the cloud you can now do so with &lt;b&gt;&lt;a href="http://eclipse.org/virgo/"&gt;Eclipse Virgo&lt;/a&gt; &lt;/b&gt;and &lt;b&gt;&lt;a href="http://www.cloudfoundry.org/"&gt;CloudFoundry&lt;/a&gt;&lt;/b&gt; using a VM image.&lt;/div&gt;&lt;br /&gt;What you will need:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.virtualbox.org/"&gt;Oracle VirtualBox 4&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Computer with at least 4GB RAM&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.hsiliev.com/virgo/CloudFoundry.7z"&gt;Virgo &amp;amp; CloudFoundry image&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.7-zip.org/download.html"&gt;7Zip (LZMA) un-archiver &lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The image comes with pre-installed Ubuntu 11.04 and has:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;User / Password:&lt;/b&gt; virgo / cloudfoundry&lt;/li&gt;&lt;li&gt;&lt;b&gt;CloudFoundry&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;installation:&lt;/b&gt; /home/virgo/cloudfoundry&lt;/li&gt;&lt;li&gt;&lt;b&gt;version/date:&lt;/b&gt; 28 July 2011&lt;/li&gt;&lt;li&gt;&lt;b&gt;Virgo 3.0.0.RC1&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Applications&lt;/b&gt; (&lt;i&gt;Splash screen &amp;amp; Admin Console&lt;/i&gt;): /home/virgo/apps&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Starting&lt;/span&gt; CloudFoundry&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;To start CloudFoundry you have to start a Terminal and issue:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;cd ~/cloudfoundry/vcap&lt;/i&gt;&lt;br /&gt;&lt;i&gt;bin/vcap start&lt;/i&gt;&lt;/blockquote&gt;To check if the start was successful:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;bin/vcap status&lt;/i&gt; &lt;/blockquote&gt;&amp;nbsp;More information and examples can be found in the CloudFoundry &lt;b&gt;&lt;a href="https://github.com/cloudfoundry/vcap/blob/master/README.md"&gt;VCAP Readme&lt;/a&gt;&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Sample applications&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;To push (deploy) the Virgo default applications you can use the &lt;b&gt;&lt;a href="https://github.com/cloudfoundry/vmc/blob/master/README.md"&gt;VMC client&lt;/a&gt;&lt;/b&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;cd ~/apps&lt;/i&gt;&lt;br /&gt;&lt;i&gt;vmc push virgo&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;where "virgo" is the name of the application we want to have running on CloudFoundry. You will have to confirm the name, URL, memory reservation and that the default applications do not use services.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As next step you can request the application at &lt;b&gt;&lt;a href="http://virgo.vcap.me/"&gt;http://virgo.vcap.me&lt;/a&gt;&lt;/b&gt;. This should bring the default splash screen of Virgo with a link to the Admin Console.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Your own applications&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Perhaps you will want to try your own application as well. To do this you will have to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;create a directory&lt;/li&gt;&lt;li&gt;copy your stuff inside&lt;/li&gt;&lt;li&gt;push the content with "vmc push"&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;There are some extras here. If you create "repository" directory inside your application's directory then the content of this repository will be copied in Virgo's repository.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gTZuasr_9rs/TjfWLJvRdOI/AAAAAAAAA8s/o2KlP1_9eLE/s1600/VirgoonCloudFoundry.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-gTZuasr_9rs/TjfWLJvRdOI/AAAAAAAAA8s/o2KlP1_9eLE/s320/VirgoonCloudFoundry.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Virgo on CloudFoundry&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;If you take a look at the provided Admin Console application you will see that it makes use of two bundles that are located inside "repository/ext". The bundles are copied in Virgo's own repository directory so the rest of the content can resolve against these bundles.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Supported artefacts&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Currently supported artefacts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;WAR file (defaults to Tomcat, so you'll have to change the framework to Virgo)&lt;/li&gt;&lt;li&gt;PAR&lt;/li&gt;&lt;li&gt;Plan&lt;/li&gt;&lt;li&gt;Bundle (JAR) &lt;/li&gt;&lt;li&gt;&lt;b&gt;Combination of the mentioned artefacts&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Multi-application solutions&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;&lt;div style="text-align: justify;"&gt;The last option provides you with the ability to have more than one artefact in your solution. All these are pushed to CloudFoundry and used in Virgo.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As an example you may have several interconnected but relatively independent applications: PAR representing some back-end, WAR that provides the end-user UI and some more artefacts (as much as you need) that can represent editors or administration logic.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Everything can run on one Virgo server for testing/development, but you may decide to create several instances of a certain component to scale out that part of your solution. All that provided that your applications are written with scalability and cloud computing in mind of course.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;u&gt;&lt;b&gt;Where's the source code?&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;At the time of this writing the changes made to CloudFoundry are not final and therefore no pull request is created, but I'm up to this.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;You can find the source in &lt;b&gt;&lt;a href="https://github.com/hsiliev"&gt;GitHub&lt;/a&gt;&lt;/b&gt; if you want to play with it or just check how/if it works in your case :)&lt;/div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-6022692413535331764?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/6022692413535331764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=6022692413535331764&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/6022692413535331764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/6022692413535331764'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/07/virgo-and-cloud.html' title='Virgo and the Cloud'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-gTZuasr_9rs/TjfWLJvRdOI/AAAAAAAAA8s/o2KlP1_9eLE/s72-c/VirgoonCloudFoundry.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-2570189470883269682</id><published>2011-06-15T13:36:00.015+03:00</published><updated>2011-06-15T14:23:50.619+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virgo'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='gogo'/><title type='text'>Apache Gogo and SSH in Eclipse Virgo</title><content type='html'>&lt;u&gt;&lt;b&gt;Step 1: Download Gogo shell&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;To run the Gogo you will need three bundles from &lt;b&gt;&lt;a href="http://felix.apache.org/site/downloads.cgi"&gt;Apache Felix downloads&lt;/a&gt;&lt;/b&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://apache.igor.onlinedirect.bg//felix/org.apache.felix.gogo.runtime-0.8.0.jar"&gt;Gogo Runtime&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://apache.igor.onlinedirect.bg//felix/org.apache.felix.gogo.shell-0.8.0.jar"&gt;Gogo Shell&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://apache.igor.onlinedirect.bg//felix/org.apache.felix.gogo.command-0.8.0.jar"&gt;&lt;b&gt;Gogo Command&lt;/b&gt; &lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Step 2: Equinox and RFC-147&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;To enable&amp;nbsp; RFC-147 integration in Equinox you will need some console supportability features that are provided by the &lt;b&gt;&lt;a href="http://eclipse.org/equinox/incubator/console/index.php"&gt;Console supportability&lt;/a&gt;&lt;/b&gt; project in Equinox Incubator.&lt;br /&gt;&lt;br /&gt;Download the &lt;b&gt;&lt;a href="http://www.eclipse.org/downloads/download.php?file=/equinox/drops/N20110608-2000/equinox-incubator-feature-N20110608-2000.zip"&gt;Incubator build&lt;/a&gt;&lt;/b&gt; that includes the bundle we'll need. Extract only the supportability JAR (&lt;b&gt;org.eclipse.equinox.console.supportability&lt;/b&gt;) from plugins folder.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Step 3: Enabling SSH Support&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;First download Apache Mina's &lt;b&gt;&lt;a href="http://www.apache.org/dyn/closer.cgi/mina/sshd/0.5.0/apache-sshd-0.5.0.zip"&gt;binary distribution&lt;/a&gt;&lt;/b&gt; for SSHD, and then from the lib directory of the archive extract these two bundles:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;sshd-core&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;mina-core&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Step 4: Setting up Virgo&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Copy the console supportability bundle (&lt;b&gt;org.eclipse.equinox.console.supportability) &lt;/b&gt;in &lt;b&gt;lib &lt;/b&gt;directory&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Place the rest of the bundles (3xGogo, SSHD and Mina) in &lt;b&gt;lib/kernel&lt;/b&gt; directory&lt;/li&gt;&lt;li&gt;Edit &lt;b&gt;config/org.eclipse.virgo.kernel.userregion.properties&lt;/b&gt; file and add the bundles to base bundles list: &lt;/li&gt;&lt;/ul&gt;&lt;div style="border-width: 1px;"&gt;&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;baseBundles = \&lt;br /&gt;&amp;nbsp;file:lib/kernel/org.eclipse.virgo.kernel.userregion-3.0.0.M05.jar@start,\&lt;br /&gt;&amp;nbsp;file:lib/kernel/org.eclipse.virgo.kernel.osgicommand-3.0.0.M05.jar@start,\&lt;br /&gt;&lt;b&gt;&amp;nbsp;file:lib/kernel/mina-core-2.0.1.jar@start,\&lt;br /&gt;&amp;nbsp;file:lib/kernel/org.apache.felix.gogo.command-0.8.0.jar@start,\&lt;br /&gt;&amp;nbsp;file:lib/kernel/org.apache.felix.gogo.runtime-0.8.0.jar@start,\&lt;br /&gt;&amp;nbsp;file:lib/kernel/org.apache.felix.gogo.shell-0.8.0.jar@start,\&lt;br /&gt;&amp;nbsp;file:lib/org.eclipse.equinox.console.supportability_1.0.0.N20110608-2000.jar@start,\&lt;br /&gt;&amp;nbsp;file:lib/kernel/sshd-core-0.5.0.jar@start&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; &lt;/blockquote&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;In &lt;b&gt;lib/org.eclipse.virgo.kernel.&lt;wbr&gt;&lt;/wbr&gt;launch.properties&lt;/b&gt; remove the old Virgo shell&amp;nbsp; by deleting the line &lt;strike&gt;&lt;span style="font-size: x-small;"&gt;org.eclipse.virgo.osgi.&lt;/span&gt;&lt;/strike&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;strike&gt;&lt;span style="font-size: x-small;"&gt;console.telnet.hook.&lt;/span&gt;&lt;/strike&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;strike&gt;&lt;span style="font-size: x-small;"&gt;TelnetHookConfigurator&lt;/span&gt;&lt;/strike&gt;. The hooks entry should look like this afterwards:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;osgi.hook.configurators.include=\&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;org.eclipse.virgo.osgi.extensions.equinox.hooks.ExtensionsHookConfigurator&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Delete (or move outside lib) the bundle &lt;b&gt;lib/org.eclipse.virgo.osgi.&lt;wbr&gt;&lt;/wbr&gt;console-3.0.0.M05.jar&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &lt;/div&gt;&lt;div&gt;&lt;u&gt;&lt;b&gt;Step 5: Configuring Virgo&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Comment or delete &lt;b&gt;osgi.console&lt;/b&gt; property in &lt;b&gt;lib/org.eclipse.virgo.kernel.&lt;wbr&gt;&lt;/wbr&gt;launch.properties&lt;/b&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;#osgi.console=2401&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Add the following property entries to &lt;b&gt;lib/org.eclipse.virgo.kernel.launch.properties&lt;/b&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;osgi.console.ssh=2422&lt;br /&gt;osgi.console.enable.builtin=false&lt;br /&gt;osgi.console.ssh.useDefaultSecureStorage=true&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Add in &lt;b&gt;config/org.eclipse.virgo.kernel.authentication.config&lt;/b&gt; file JAAS configuration for the SSH:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;div style="border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;equinox_console {&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; org.eclipse.equinox.console.jaas.SecureStorageLoginModule REQUIRED;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: x-small;"&gt;};&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Edit the &lt;b&gt;bin/dmk.bat&lt;/b&gt; or &lt;b&gt;bin/dmk.sh &lt;/b&gt;file to add&amp;nbsp;&lt;b&gt;org.eclipse.equinox.console.jaas.file&lt;/b&gt; and &lt;b&gt;ssh.server.keystore&lt;/b&gt; VM system properties. After the changes the file should look as follows:&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Dorg.eclipse.virgo.kernel.authentication.file="%CONFIG_DIR%\org.eclipse.virgo.kernel.users.properties" &lt;br /&gt;&lt;b&gt;set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Dorg.eclipse.equinox.console.jaas.file="%CONFIG_DIR%/store"&lt;br /&gt;set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Dssh.server.keystore="%CONFIG_DIR%/hostkey.ser"&lt;/b&gt;set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Djava.io.tmpdir="%TMP_DIR%" &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Step 6: Connecting to Virgo&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;Fire your favourite SSH client on the specified port (2422 for instance).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Login with the default user and password (equinox/equinox)&amp;nbsp;&lt;/li&gt;&lt;li&gt;Create a new user and password&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Step 7: Fun with Gogo&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Check the features provided by GoGo and Equinox Console Supportability&lt;u&gt;&lt;b&gt;:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tab Completion / Line editing&lt;/li&gt;&lt;li&gt; Built-in commands like lb, ls, cat to name a few&lt;/li&gt;&lt;li&gt;Create some scripts&lt;/li&gt;&lt;li&gt;Create some commands using &lt;b&gt;&lt;a href="http://felix.apache.org/site/rfc-147-overview.html"&gt;RFC-147&lt;/a&gt;&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Step 8: Disconnecting&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;b style="color: red;"&gt;Do not use "exit"&lt;/b&gt; since this will exit Virgo/OSGi framework. To end the session you'll have to close the console window. There is no command to close the session currently.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-2570189470883269682?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/2570189470883269682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=2570189470883269682&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/2570189470883269682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/2570189470883269682'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/06/apache-gogo-and-ssh-support-in-eclipse.html' title='Apache Gogo and SSH in Eclipse Virgo'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-2695024512579026179</id><published>2011-04-04T22:43:00.002+03:00</published><updated>2011-07-28T17:28:05.557+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>OSGi Bundle Dependency Analysis</title><content type='html'>To find all the bundles needed by your imports you can follow these simple steps:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1:&lt;/b&gt; Open the MANIFEST-MF of your bundle&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/-qagGN1hl7-Y/TZobrgm5j6I/AAAAAAAAA7I/FqxPnKqTqc4/s1600/MANIFEST.MF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-qagGN1hl7-Y/TZobrgm5j6I/AAAAAAAAA7I/FqxPnKqTqc4/s1600/MANIFEST.MF.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 2:&lt;/b&gt; Go to the &lt;b&gt;Dependencies &lt;/b&gt;tab&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-aEM0FVXp14c/TZob6p24P6I/AAAAAAAAA7M/jS1wF_DTq74/s1600/Dependencies+tab.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="349" src="http://4.bp.blogspot.com/-aEM0FVXp14c/TZob6p24P6I/AAAAAAAAA7M/jS1wF_DTq74/s640/Dependencies+tab.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 3:&lt;/b&gt; Add the &lt;b&gt;packages &lt;/b&gt;you need (if you do not already have them)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-uSdM9XNn7kg/TZocV0beyvI/AAAAAAAAA7Q/x7Nn8eRsPW0/s1600/dependency.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-uSdM9XNn7kg/TZocV0beyvI/AAAAAAAAA7Q/x7Nn8eRsPW0/s1600/dependency.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 4: Save the changes &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 5:&lt;/b&gt; Go to &lt;b&gt;Dependency Analysis &lt;/b&gt;and chose the hierarchy view&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-6FHPcVCTrhE/TZocvbWDFFI/AAAAAAAAA7U/iz-YtnH4zJQ/s1600/analysys.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-6FHPcVCTrhE/TZocvbWDFFI/AAAAAAAAA7U/iz-YtnH4zJQ/s1600/analysys.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 6:&lt;/b&gt; Browse the &lt;b&gt;hierarchical list&lt;/b&gt; of all dependencies&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-SGerR3_UCCk/TZoc83km4YI/AAAAAAAAA7Y/yAU9W3txdwU/s1600/plugins.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-SGerR3_UCCk/TZoc83km4YI/AAAAAAAAA7Y/yAU9W3txdwU/s1600/plugins.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 7:&lt;/b&gt; To remove the duplicates use the &lt;b&gt;Flat Layout&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-pVG2hCrmIkI/TZoeTqGixrI/AAAAAAAAA7c/Ve5Ls83LTY4/s1600/flat.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-pVG2hCrmIkI/TZoeTqGixrI/AAAAAAAAA7c/Ve5Ls83LTY4/s1600/flat.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Please have in mind that this approach will work only for bundles that are in your Eclipse distribution or in your currently active target platform.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-2695024512579026179?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/2695024512579026179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=2695024512579026179&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/2695024512579026179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/2695024512579026179'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/04/osgi-bundle-dependencies-analysis.html' title='OSGi Bundle Dependency Analysis'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-qagGN1hl7-Y/TZobrgm5j6I/AAAAAAAAA7I/FqxPnKqTqc4/s72-c/MANIFEST.MF.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-3237048469663655906</id><published>2011-03-07T00:13:00.006+02:00</published><updated>2011-07-28T17:28:28.530+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Git Notifier on Windows</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;a href="https://github.com/marcocampana/git-notifier"&gt;Git Notifier&lt;/a&gt;&lt;/b&gt; is a tool that can keep you up to date with what's going on in a Git repository. Unfortunately it seems that it's only for MacOS. Until this evening...&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;...when I decided to give Google a try and searched for Growl without removing Windows from my previous search. It turned out that &lt;b&gt;&lt;a href="http://growl.info/"&gt;Growl&lt;/a&gt;&lt;/b&gt; has &lt;a href="http://www.growlforwindows.com/gfw/"&gt;&lt;b&gt;Windows port&lt;/b&gt;&lt;/a&gt; so the task of having notifications for Git commits on my desktop moved from the dusty "nearly impossible" corner in my mind to "doable".&lt;/div&gt;&lt;br /&gt;So I installed:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cygwin.com/"&gt;Cygwin&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.openssh.com/"&gt;OpenSSH &lt;/a&gt;(server and client)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ruby-lang.org/"&gt;Ruby&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.growlforwindows.com/gfw/"&gt;Growl for Windows&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The next big step was to download Git Notifier just to find out that it utilized &lt;b&gt;&lt;a href="http://rubygems.org/"&gt;RubyGem&lt;/a&gt;&lt;/b&gt;. Cygwin does not provide Gem so I had to install it manually.&amp;nbsp; An easy task as it turned out:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://rubyforge.org/frs/?group_id=126"&gt;&lt;span id="goog_1360850716"&gt;&lt;/span&gt;Download&lt;/a&gt; &lt;span id="goog_1360850717"&gt;&lt;/span&gt;RubyGem&lt;/li&gt;&lt;li&gt; Install it using "&lt;b&gt;ruby setup.rb&lt;/b&gt;" as described in &lt;a href="http://docs.rubygems.org/read/chapter/3"&gt;RubyGems User Guide&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Now that I had RubyGem I went straight to installing the Notifier.&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;gem install git-notifier --source http://gemcutter.org&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;Starting Git Notifier however turned out unsuccessful since this tool brings several dependencies:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ruby-growl&lt;/li&gt;&lt;li&gt;growl &lt;/li&gt;&lt;li&gt;daemons&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Simply installing the dependencies did the trick:&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;gem install ruby-growl growl daemons&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;The rest is up to you. A good start would be to autostart Growl as well as git-notifier :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-3237048469663655906?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/3237048469663655906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=3237048469663655906&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/3237048469663655906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/3237048469663655906'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/03/git-notifier-on-windows.html' title='Git Notifier on Windows'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-8788031942494902726</id><published>2011-01-31T08:00:00.008+02:00</published><updated>2011-07-28T17:26:04.217+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virgo'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='console'/><title type='text'>At last usable Equinox console</title><content type='html'>&lt;div style="text-align: justify;"&gt;Eclipse Virgo recieved a brand new contribution that improves the usability of the Equinox console. The contribution is especially useful when connecting via telnet.&lt;/div&gt;&lt;br /&gt;Thanks to &lt;b&gt;Lazar Kirchev&lt;/b&gt; now Virgo has:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;line editing&lt;/li&gt;&lt;li&gt;command history&lt;/li&gt;&lt;li&gt;tab completion&lt;/li&gt;&lt;li&gt;grep for telnet&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Up to now the console port was bound to both localhost and the external IP. Therefore it was possible to just about everyone to connect to the console.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To address this issue the&amp;nbsp;syntax of the &lt;b&gt;osgi.console&lt;/b&gt; property has been extended and now you can add as well the host or address in&amp;nbsp;&lt;b&gt;org.eclipse.virgo.kernel.userregion.properties&lt;/b&gt;:&lt;/div&gt;&lt;br /&gt;osgi.console=&lt;b&gt;localhost:&lt;/b&gt;2401&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;What's more is that the telnet protocol allows negotiation between the client and the server. Taking advantage of this now there is a way for Virgo to understand which are the exact key bindings used on the client. This basically means that Virgo server running on Windows for example, can handle properly MacOS or Unix clients.&lt;/div&gt;&lt;br /&gt;The new features can be used not only in Virgo, but also in every product using Equinox 3.7:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Virgo (3.0.0 M1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download Virgo from &lt;a href="http://www.eclipse.org/virgo/download/milestones.php"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Enable the console as described in the &lt;a href="http://www.eclipse.org/virgo/documentation/virgo-documentation-3.0.0.x/docs/virgo-user-guide/html/ch06.html"&gt;User guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Start Virgo&lt;/li&gt;&lt;li&gt;Connect with telnet to port 2401&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Eclipse 3.7&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="text-align: justify;"&gt;To use the new features with Eclipse you simply need to drop &lt;a href="https://hudson.eclipse.org/hudson/view/Virgo/job/virgo.osgi-extensions.snapshot/ws/org.eclipse.virgo.osgi.console/target/artifacts/org.eclipse.virgo.osgi.console.jar"&gt;the bundle&lt;/a&gt; in &lt;b&gt;plugins&lt;/b&gt; and restart Eclipse.&amp;nbsp;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Equinox 3.7&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="text-align: justify;"&gt;If you just want to try the new features you can use the &lt;b&gt;install&lt;/b&gt; command.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="text-align: justify;"&gt;If you have P2 enabled (or you like the bundle and want to keep it) you can drop &lt;a href="https://hudson.eclipse.org/hudson/view/Virgo/job/virgo.osgi-extensions.snapshot/ws/org.eclipse.virgo.osgi.console/target/artifacts/org.eclipse.virgo.osgi.console.jar"&gt;the bundle&lt;/a&gt; in &lt;b&gt;dropins&lt;/b&gt; and restart Equinox to enable P2 to pick up the bundle.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-8788031942494902726?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/8788031942494902726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=8788031942494902726&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/8788031942494902726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/8788031942494902726'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2011/01/at-last-usable-equinox-console.html' title='At last usable Equinox console'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-1683232183505527193</id><published>2010-12-29T17:20:00.008+02:00</published><updated>2011-03-07T00:32:51.307+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virgo'/><title type='text'>Troubleshooting class loading issues with Virgo</title><content type='html'>&lt;div style="font-family: inherit;"&gt;&lt;div style="text-align: justify;"&gt;My colleague Diyan Yordanov outlined the class loading issues a web developer can face in his ESE 2010 talk&amp;nbsp;&lt;a href="http://www.eclipsecon.org/summiteurope2010/sessions/?page=sessions&amp;amp;id=1936"&gt;"Migration of existing web applications to OSGi"&lt;/a&gt;. The classification in the talk divided the class loading issues, based on the exceptions:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;ClassNotFoundException&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;i&gt;- missing class definition&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;NoClassDefFoundError&lt;/b&gt;&lt;/span&gt; &lt;i&gt;- class definition found, but instantiation failed&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;ClassCastException&lt;/b&gt;&lt;/span&gt;&lt;i&gt; - additional class copie&lt;span style="color: black;"&gt;&lt;span style="font-size: small;"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;There is not much I can add, so I will reuse this classification to present the root causes we faced during our work on SAP NetWeave and the use of OSGi. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;In the &lt;b&gt;simple/standalone Java&lt;/b&gt; applications the classpath was &lt;b&gt;the&lt;/b&gt; thing that determined the class loading and the way that we investigated what caused the exceptions above. The problems in this simple world were caused by:&lt;/div&gt;&lt;ul style="font-family: inherit;"&gt;&lt;li&gt;&lt;b&gt;ClassNotFoundException&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Missing class definition (.class files)&lt;/li&gt;&lt;li&gt;Too restrictive file system permissions&amp;nbsp;&lt;b&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;NoClassDefFoundError&lt;/b&gt; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Exceptions in static block&lt;/li&gt;&lt;li&gt;Missing imported class&lt;/li&gt;&lt;li&gt;Class version mismatch (class is compiled with incompatible JVM)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;JEE &lt;/b&gt;was the next step in the evolution of the class loading problems :) With the JEE containers we introduced &lt;a href="http://help.sap.com/saphelp_nw72/helpdata/en/1d/b11e3e3986f701e10000000a114084/content.htm"&gt;complicated class loading hierarchies&lt;/a&gt;. The root causes in this hierarchies were the same as with the simple applications, but we faced dependency (or "reference" in NetWeaver) problems as well . Fortunately (depends on the point of view) we didn't have the time to implement versioned dependencies and get ourselves into more troubles.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;The last step was made when we found out that &lt;b&gt;OSGi &lt;/b&gt;pretty much eases the development and the support of components. It featured its own class loading that had everything we could dream of (plus some things we didn't really know we wanted). One of the extra things that were missing in our JEE world were the imports and exports of packages. And this is the thing that introduces more root causes for class loading exceptions:&lt;/div&gt;&lt;ul style="font-family: inherit;"&gt;&lt;li&gt;&lt;b&gt;ClassNotFoundException&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Missing package import or export&lt;/li&gt;&lt;li&gt;Import version mismatch &lt;/li&gt;&lt;li&gt;Wrong boot class delegation property&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&amp;nbsp;Most of the problems described so far can be solved by simply finding which bundle:&lt;/div&gt;&lt;div class="itemizedlist" style="font-family: inherit;"&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span class="bold"&gt;&lt;b&gt;contain&lt;/b&gt;&lt;/span&gt;&lt;b&gt;s&lt;/b&gt; a class&lt;/li&gt;&lt;li&gt;&lt;span class="bold"&gt;&lt;b&gt;exports&lt;/b&gt;&lt;/span&gt; a class&lt;/li&gt;&lt;li&gt;can &lt;span class="bold"&gt;&lt;b&gt;load&lt;/b&gt;&lt;/span&gt; a class&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;This is not an easy task in bare OSGi environment, but fortunately &lt;b&gt;Virgo &lt;/b&gt;provides shell commands that will help you troubleshoot class loading issues by doing exactly the operations described above.The commands are:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;clhas&lt;/b&gt; - lists all bundles that contain a class&lt;/li&gt;&lt;li&gt;&lt;b&gt;clexport &lt;/b&gt;- lists all bundles that export a class or package&lt;/li&gt;&lt;li&gt;&lt;b&gt;clload &lt;/b&gt;- lists all bundles that can load a class&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;ClassNotFoundException&lt;/b&gt;&lt;/span&gt; can be solved by checking if:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;a bundle provides the class &lt;b&gt;- clhas&lt;/b&gt; command&lt;/li&gt;&lt;li&gt;the class is exported - &lt;b&gt;clexport&lt;/b&gt; command&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;NoClassDefFoundError&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;cause can be determined by:&lt;/div&gt;&lt;ol&gt;&lt;li&gt; inspecting the logs for exception&lt;/li&gt;&lt;li&gt;trying to load the class &lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;The result from the second step depends on the parameters of &lt;b&gt;clload &lt;/b&gt;command and can be:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;a list with bundles that can actually load the class&lt;/li&gt;&lt;li&gt;confirmation that a bundle can/cannot load the class &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;The fact that the bundle can load the class now but was unable to do so when an exception was produced would probably mean that a dependency was missing at the time of the problem.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If the bundle cannot load a class, although it should be able to do so, means that there is some problem with the dependencies - most probably there is something wrong with the:&lt;/div&gt;&lt;ul&gt;&lt;li&gt; imports of the bundle&lt;/li&gt;&lt;li&gt;exported packages &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;You can check if the needed packages are exported with the help of the &lt;b&gt;clexport &lt;/b&gt;command.&lt;/div&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;/div&gt;&lt;div class="itemizedlist" style="font-family: inherit;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;ClassCas&lt;/b&gt;&lt;b&gt;tException &lt;/b&gt;&lt;/span&gt;is almost always caused by duplicated class(es) in some bundle. You can check the bundles that contain the class in doubt with the &lt;b&gt;clhas &lt;/b&gt;command.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finally you can find some example usages of the commands in the latest build of &lt;a href="https://hudson.eclipse.org/hudson/view/Virgo/job/virgo.documentation.snapshot/ws/user-guide/target/virgo-user-guide/html/ch06s04.html"&gt;Virgo's User Guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;The commands should be available in the next release of Virgo (the current one being 2.1.0).&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-1683232183505527193?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/1683232183505527193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=1683232183505527193&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/1683232183505527193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/1683232183505527193'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2010/12/troubleshooting-class-loading-issues-in.html' title='Troubleshooting class loading issues with Virgo'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30250081.post-115126371289456215</id><published>2006-06-25T22:23:00.000+03:00</published><updated>2006-06-26T18:02:40.040+03:00</updated><title type='text'>Здравейте / Hi</title><content type='html'>Първият ми тестов блог&lt;br /&gt;&lt;br /&gt;This is my first test blog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30250081-115126371289456215?l=hsiliev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hsiliev.blogspot.com/feeds/115126371289456215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30250081&amp;postID=115126371289456215&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/115126371289456215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30250081/posts/default/115126371289456215'/><link rel='alternate' type='text/html' href='http://hsiliev.blogspot.com/2006/06/hi.html' title='Здравейте / Hi'/><author><name>Hristo Iliev</name><uri>https://profiles.google.com/105197868594451158014</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-56I7oy0_NBk/AAAAAAAAAAI/AAAAAAAAAAA/YC_yfWT1fGI/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry></feed>
