tag:blogger.com,1999:blog-34411455610291713202024-02-07T06:01:50.917-08:00My Linux HTPC project and other things digitalThis blog started off as a sort-of-diary marking down my steps to Linux HTPC nirvana. Since the HTPC has been working pretty much flawlessly there has not been nothing to write about. I'm widening the scope of the blog to include also other things digital.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-3441145561029171320.post-62731612115584744142010-11-10T00:13:00.000-08:002011-03-14T06:01:09.316-07:00More on software RAID 10: Benchmarking the heck out of it<span style="font-weight:bold;">Background</span><br /><div>I already touched the RAID issue in <a href="http://mylinuxhtpcproject.blogspot.com/2010/09/using-raid-and-smart-to-save-yourself.html">previous blog post of mine</a>. I have been doing lot of (software) RAID 10 installs lately, mainly in openSUSE that I use for workstations <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGSSrMyBDoU4qec_sr58tWS3tsgpiTlI_vqigSpmmFIUCroKpCJBMzal_FoalcDfsXYPX9jovQzmna_2R95_-UzkWV7vY-WgshNtv20vDfwhFnvC8-Os7o6ksWbyq5Ro8Mc7sXNvHa6xw/s320/raid_1%252B0_image.gif" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 203px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5537868723691450418" />and servers. OpenSUSE seemingly has some bugs when installing on RAID 10, at leasts on Dell Precision T3500 machines, but they are resolvable with some command line magic. Anyway RAID 10 is at least four hard drive setup where your data is both striped and mirrored, which in my mind is a nice balance between data preservation and performance. RAID 10 enables you to utilize half of the available disk space, while the other half is used for mirroring. RAID 10 also has 66% chance of surviving 2-drive failure.<br /><br />Before creating my first RAID 10 array for my desktop at work I read up on RAID 10 performance and settings that affect that. From reading several blog and forum posts on the issue I came up with the impression that F2 RAID layout and chunk size around 256kb to 512kb would be the best performing setup. I now realize that it is not that simple, but varies greatly by the usage scenario. After that realization I decided to test different ways of creating 4-disk RAID 10 and wrote a script that loops through (almost) all ways of creating SW RAID 10 and runs some tests on the RAID to help me decice optimal settings for my usage scenario.<br /><br /><span style="font-weight:bold;">Testing</span><br />As I mentioned in previous paragraph, I wrote a small and primitive shell script that handles creating the software RAID 10 array automatically, tests it to extent I wanted and writes down the results for analysis. Some idea of the scale of this testing gives that IOzone tests alone took almost a week to execute on my test bench and I ended up with 1500 datapoints (1500 different variations of the RAID 10 setup). Some of the variables used in the testing were: filesystem (ext3, ext4 etc), RAID layout (n2/f2), chunk size (64kb ... 2mb), stride and stripe.<br /><br />The results are not exactly scientific grade data, but they are sufficient enough for me to draw some conclusions on the matter. You should not use them as absolute proof of anything, I am first to admit that my scripting skill and knowledge in filesystems and RAID settings is limited.<br /><br />The script runs several different kinds of tests that happen to interest me personally, it would be quite trivial to add more tests there, but these are the ones that interested me the most. IOzone is the one test that I already mentioned, the script also runs hdparm read timings test, Combilebench and something called Custom. Custom test for me is just basically measuring a real life usage scenario here at work, in which I simulate what my continuous integration servers do day in, day out. My Custom basically times how long it takes to make a local clone from Mercurial SCM repository to the RAID, then builds our Qt-project according to our build steps (configuration, cleaning, compilation and so on). The Custom step obviously needs to be disabled or modified to meet ones needs.<br /><br /><span style="font-weight:bold;">The Script</span><br />The script is available here: <a href="http://lakeend.pp.fi/raid_benchmark.sh">raid_benchmark.sh</a>.<br />Keep in mind that you is it on your own risk and will need to modify it to some extent to suit your own needs. Most important point is that it has only implementation for SUSE and Debian based distributions, of which openSUSE is tested.<br /><br />Benchmark results will come on later date.<br /><br /><br /><br /></div>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-71938513014889746972010-09-16T04:19:00.000-07:002010-09-17T02:34:13.924-07:00Using RAID and S.M.A.R.T to save yourself from data loss and lot's of griefI have been configuring SMART monitoring to lot of my servers and workstations, both work and home, lately. Especially when combined with RAID, SMART can help you to avoid disasters that would occur when you lose your data in an event you hard drives break.<br /><br /><span style="font-weight:bold;">Short primer</span><br />RAID means "Redundant Array of Independent/Inexpensive Disks" and is mostly thought something you would do on hardware level via a separate RAID-controller or motherboard that supports RAID. RAID is used to get performance improvement for your disk operations, which is the biggest bottleneck in modern systems most of the time, or to provide redundancy when you lose your drive to hardware failure.<br /><br />With Linux you can use something called 'software RAID' which does not require expensive RAID-controller nor support from motherboard. All you basically need is more than one hard drive. With two hard drives you can already setup a RAID0 or RAID1.<br />RAID0 means that you distribute your data on two (or more) drives and get a huge performance benefit, but the downside is that if you lose either disk to HW failure, you lose all the data on both disks.<br />RAID1 is quite the opposite of RAID0, RAID1 mirrors the data on first drive to second drive, which means that write operations are somewhat slower but the data is now duplicated and thus safe from HW failure.<br />There are several other RAID levels too, like RAID5 which requires 3 drives minimum and provides some redundancy in case of disk breakage and some performance improvements. My personal favorite currently is RAID10, which is a combination of RAID0 and RAID1, meaning that you get quite good redundancy in case of failures and quite nice performance boost also. The downside of RAID10 is that you need 4 drives to get started and 'lose' two of them for the mirroring.<div><br /></div><div>For more information about RAID levels check <a href="http://en.wikipedia.org/wiki/RAID#Standard_levels">this wikipage</a> and for information how to create RAID the hard way (remember it is easiest to create during installation by the distros installer) check out <a href="http://www.linuxjournal.com/article/5898">Linux Journal's article</a>.<br /><br />SMART (or actually S.M.A.R.T) on the other hand means "Self-Monitoring, Analysis, and Reporting Technology", which is a technology most, if not all, modern hard drives support. With SMART enabled drives you can gather information straight from the independent drive(s) and use that information to predict when your disk fails of old age or otherwise. Hard drives have gotten lot better since infamous times of IBM 'Deathstar' hard drives, but still the fact remains: hard drives will die of old age sooner or later. If you can get a advance warning of this impending doom for your drive, you have time to make the necessary preparations, like making backups or even replacing it before you run into risk of losing your data.<div><br /></div><div>For more information check out the excellent <a href="http://www.linuxjournal.com/magazine/monitoring-hard-disks-smart">article by Linux Journal</a><br /><div><br /></div><div><b>Getting started</b></div><div>I am not going to show you how to create a RAID system, it is quite easy to do when you install your operating system, openSUSE installer for example provides nice tool for creating RAID on which to install the system. </div><div><br /></div><div><b>Note!</b> You will need super user (root) privileges for (almost) all the steps below.</div><div><br /></div><div><b>Step 0</b></div><div>Anyone can start using SMART right away, as it requires neither special hardware or special setup. Some systems might require that you enable the SMART support from your computers BIOS, so check that first. Next step is to make sure you have package called "smartmontools" installed, when you do, you can try running a command like this:</div><div><br /></div><div><span class="Apple-style-span"><i>smartctl -a /dev/sda</i></span></div><div><br /></div><div>This should output lot of information about your hard drive, but if you have not enabled SMART testing this information will be of little use. Next you will need to enable SMART testing and data collection to be automatic and done in timely manner.</div><div><br /></div><div><b>Step1</b></div><div>First step for this is to edit config file for SMART. Usually it is /etc/smartd.conf. Open it in your favourite text editor and first comment out <i>anything</i> that already exist there, usually this line:</div><div><br /></div><div><i><span class="Apple-style-span" >DEVICESCAN -d removable</span></i></div><div><br /></div><div>Now you can add configuration for your drives in the end of the file. Here is example from my workstation which has 4 drives in RAID10:</div><div><br /></div><div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">#Run every Sunday offline, Saturday Long and every evening conveyance and morning short test</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">/dev/sda \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-H \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-l error -l selftest \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-s (O/../../7/02|L/../../6/02|C/../.././20|S/../.././01) \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-m NotUsedNow -M exec /usr/local/bin/smartd.sh -M once</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;"><br /></span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">#Run every Sunday offline, Saturday Long and every evening conveyance and morning short test</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">/dev/sdb \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-H \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-l error -l selftest \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-s (O/../../7/05|L/../../6/04|C/../.././21|S/../.././02) \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-m NotUsedNow -M exec /usr/local/bin/smartd.sh -M once</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;"><br /></span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">#Run every Sunday offline, Saturday Long and every evening conveyance and morning short test</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">/dev/sdc \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-H \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-l error -l selftest \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-s (O/../../7/08|L/../../6/06|C/../.././22|S/../.././03) \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-m NotUsedNow -M exec /usr/local/bin/smartd.sh -M once</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;"><br /></span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">#Run every Sunday offline, Saturday Long and every evening conveyance and morning short test</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">/dev/sdd \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-H \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-l error -l selftest \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-s (O/../../7/11|L/../../6/08|C/../.././23|S/../.././04) \</span></i></span></div><div><span class="Apple-style-span" ><i><span class="Apple-style-span" style="font-size: small;">-m NotUsedNow -M exec /usr/local/bin/smartd.sh -M once</span></i></span></div></div><div><br /></div><div>In above configuration tests that take long time to complete are run during weekends and shorter test are run daily. You can modify the starting time by modifying the last number in the expression.</div><div><br /></div><div>For example this part <i>"O/../../7/11"</i> translates to <i>"T/MM/DD/d/HH"</i>, first letter being the test type (Offline, Long, Conveyance or Short), rest of the fields are for scheduling the test, in this particular case we run Offline test every 7th weekday (Sunday) at 11:00 (AM for those with 12hour time disability).</div><div><br /></div><div>The second interesting part from the above configuration is the "-M /usr/local/bin/smartd.sh" which basically tells what to do in case of problems, here it is setup to run the script /usr/local/bin/smard.sh which you will have to create in Step2.</div><div><br /></div><div>Lastly you will need to create the above configuration only for those hard drives you actually have in your system. As mentioned I have four disks (sda, sdb, sdc and sdd) and you might have less. To see your drives you can use the following command:</div><div><br /></div><div><i><span class="Apple-style-span" >ls /dev/sd?</span></i></div><div><br /></div><div><b>Step2</b></div><div><br /></div><div>Again with your text editor create a file /usr/local/bin/smartd.sh and paste the following and replace your email to the appropriate place:</div><div><div><i><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" >LOGFILE="/var/log/smartd.log"</span></span></i></div><div><i><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" >echo -e "$(date)\n$SMARTD_MESSAGE\n" >> "$LOGFILE"</span></span></i></div><div><i><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" >mail myemail.address@somehost.com < $LOGFILE</span></span></i></div></div><div><br /></div><div>After you have created the file above, you need to make it executable by running following command:</div><div><br /></div><div><i><span class="Apple-style-span" >chmod +x /usr/local/bin/smartd.sh</span></i></div></div></div><div><br /></div><div><b>Extra Step for Ubuntu users</b></div><div>Edit the following file /etc/default/smartmontools and uncomment the following line:</div><div><br /></div><div><i><span class="Apple-style-span" >start_smartd=yes</span></i></div><div><br /></div><div>This will make the SMART daemon start automatically during boot.</div><div><br /></div><div><b>Step3</b></div><div>Either restart the SMART service or reboot your computer. Restarting the service works like this in openSUSE:</div><div><br /></div><div><i><span class="Apple-style-span" >/etc/init.d/smartd restart</span></i></div><div><br /></div><div>Or in Ubuntu:</div><div><br /></div><div><i><span class="Apple-style-span" >/etc/init.d/smartmontools restart</span></i></div><div><br /></div><div><br /></div><div><b>That' s it, almost</b></div><div>Now in theory you will get an email if SMART detects problems with you hard drives, but that requires your mail daemon to be in working order. You can test this simply by executing the script we created:</div><div><br /></div><div><i><span class="Apple-style-span" >./usr/local/bin/smartd.sh</span></i></div><div><br /></div><div>You should receive email containing the empty smartd.log.</div><div><br /></div><div>If your email notification is not working, you probably need to enable the mail daemon, but that is quite distro specific and you will need to figure it out by yourself. </div><div><br /></div><div>Other option is to use somekind of monitor software instead. Ubuntu and Debian users can use <a href="http://linuxappfinder.com/package/smart-notifier">Smart-notifier application</a> and KDE users can use <a href="http://kde-look.org/content/show.php/Plasmart?content=115526">Plasmoid called Plasmart</a>.</div><div><br /></div><div>Now hopefully that will some day save you from disaster of losing your precious files. But in the meantime remember that neither RAID nor SMART replaces making backups, they only safeguard you against hardware failures, you will need traditional backups to safeguard against user, application and operatins system errors!</div>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-68262500893251257242010-05-04T09:53:00.000-07:002010-09-17T02:42:19.814-07:00The Dreaded Command-line<span class="Apple-style-span" style="font-size:large;"><b><i>or How I learned to Stop Worrying and love the Zypper.</i></b></span><br /><br /><br /><div>There seems to be certain amount of FUD (Fear, Uncertainty and Doubt) floating around about command-line interfaces (CLI), or simply just about the dreaded "command-line". What most people don't realize is that it is included in every major operating system out there today (yes even your shiny Mac OS X and Windows 7 has it). And it is not just "in there" but it is very important tool for any aspiring power user, for you see, command line enables scripting (more or less) and scripting enables you to do <i>anything</i>!</div><div><br /></div><div>I do agree that scripting has some learning curve to it and most of the time GUI applications are more intuitive than their command-line brothers, but that's not really the point. You can go about clicking your mouse around the GUI until your forefinger bleeds in any modern operating system, Windows, OS X and most Linux distributions (openSUSE being great example), without ever needing to access CLI if you dont like. But proper CLI enables you to accomplish so much more. This holds especially true in any Unix-related OS like OS X and Linux, the Windows CLI, while getting better slowly, can not hold a candle to them. Many times you can accomplish much more complex tasks with CLI than you would with GUI app and when you introduce some simple bash-scripting you can easily automate them and run them generally faster and more easily next time you need them.</div><div><br /></div><div><b><span class="Apple-style-span" style="font-size:medium;">And why all the ranting for the command-line interface? </span></b></div><div>That's simply because next I am going to show how to update your openSUSE 11.1 installation to openSUSE 11.2 by using command-line tool called <i>zypper.</i> While the process may seem intimidating it is actually quite straightforward and requires only little skill to accomplish. You will only require an active connection to internet, you do not need to burn any images to CD`s or anything of the sort. The same can be achieved also via GUI programs, but in my experience the CLI way works better, at least for me.</div><div><div><br /></div><div>The screencast is in two parts because of the maximum length of the Youtube videos is 10 minutes. The process itself does take quite a lot of time, you will first need to update the existing openSUSE 11.1 installation with latest patches and then download over 1 gigabyte worth of updated packages for openSUSE 11.2.</div><div><br /></div><br /><b>Part 1:</b><br /><br /><center><object width="660" height="405"><param name="movie" value="http://www.youtube.com/v/WFuVqA8EEqM?fs=1&hl=en_US&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/WFuVqA8EEqM?fs=1&hl=en_US&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="405"></embed></object><br /><span style="font-style: italic;font-size:85%;">Notice, for maximum readability please watch this video in 720p HD mode in fullscreen.</span></center><br /><br /><br /><b>Part2:</b><br /><br /><center><object width="660" height="405"><param name="movie" value="http://www.youtube.com/v/_b0QgTE-6zw?fs=1&hl=en_US&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_b0QgTE-6zw?fs=1&hl=en_US&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="405"></embed></object><br /><span style="font-style: italic;font-size:85%;">Notice, for maximum readability please watch this video in 720p HD mode in fullscreen.</span></center><br /></div>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-53814896050998547322009-07-21T20:53:00.000-07:002009-07-28T23:44:15.860-07:00Beginner's guide to Linux: openSuSE 11.1 exploring the desktop and system configurationIn <a href="http://mylinuxhtpcproject.blogspot.com/2009/06/beginners-guide-to-linux-opensuse-111.html">previous screencast</a> we demonstrated how easy it is to install modern Linux distribution (openSUSE 11.1 to be exact). In this screencast we explore a bit the newly installed system and the new KDE4 desktop. We also learn how to access YaST, a superb system administration tool and how to change display resolution with it.<br /><br />KDE is one of the major desktops available for Linux, the desktop means in this case the graphical interface that user sees in front of him when he is using his openSUSE system. KDE went through <span style="font-weight: bold;">major</span> changes from the "old" KDE 3.5 series to the new KDE4 series, to a point that the new KDE is a complete re-design of the desktop metaphor. KDE has always been my choice on desktop and because openSUSE does great job 'releasing' KDE it has only deepened my admiration for the openSUSE project. KDE.org has a nice visual guide to KDE4, <a href="http://kde.org/announcements/4.2/guide.php">check it out</a>!<br /><br />YaST is no doubt one of the single most greatest aspect of openSUSE Linux distribution. People that have not used it seem to think that it is yet another package manager (if that was the case it would be called YaPM). Truth is that YaST is so much more than simple software installation tool, it is everything that is missing from most other Linux distributions and that is a centralized system administration tool that makes configuring your system easy. Want to partition your drives? Simple, use YaST. Want to setup your monitor to correct resolution? Again thats simple just launch YaST. Want configure file serving or other server functionality? YES, use YaST!<br /><br />In video below I'll shortly present the two aspects I like most about openSUSE, as described above they are: great KDE desktop implementation and YaST. By KDE implementation I am not saying that openSUSE devs did all the work, but they compile a great release with fixes and polish to the KDE code.<br /><br /><center><object height="505" width="853"><param name="movie" value="http://www.youtube.com/v/F3KZjwy2Xsg&hl=en&fs=1&hd=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/F3KZjwy2Xsg&hl=en&fs=1&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="505" width="853"></embed></object><br /><span style="font-style: italic;font-size:85%;" >Notice, the above video should load, by default, in HD mode. So just ignore the recommendation on the video to "turn on the HD resolution".</span></center>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-9975115560143585532009-06-25T15:04:00.000-07:002009-07-28T23:43:57.863-07:00HTPC reincarnationThree weeks ago I placed an order for couple of HTPC suitable terabyte hard drives. It seems that hard drive selection has grown quite bit since last time I was shopping for drives. Seagate has long been my favorite, because of their long warranties and my personal experiences with their drives. So this time my choice was Seagate's LP (for Low Power) drives with spinning speed of "only" 5900 RPM. In exchange Seagate is promising lower wattage, less noise, less heat and better reliability for these drives compared to other desktop-grade hard drives. To me they seem ideal to my HTPC usage, they are only Seagate terabyte drives that have five years warranty and quite cheap (84€ each).<br /><br />So finally getting those drives means that I can start messing around with my HTPC once again. As I mentioned in some older post, it has been working too well lately and I been kinda wanting to get something to fiddle with. I've learned from my last HTPC upgrade though and I am keeping my old installation parallel to my new installation, so we can watch TV and do the rest of HTPC stuff during the next few weeks.<br /><br /><span style="font-weight: bold;">Enter Debian</span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.youritronics.com/wp-content/uploads/2007/10/debian_splash.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 331px; height: 350px;" src="http://www.youritronics.com/wp-content/uploads/2007/10/debian_splash.png" alt="" border="0" /></a><br />I've decided to try Debian this time, instead of the old trusted Gentoo. With Gentoo I seem to always to break the Portage in the end to such state that I don't want to install or update anything in fear of breaking something critical. Last episode was unsuccessful Python update and the result a only half working Portage.<br /><br />As always, it has been a pain in the ass to get my machine to boot from any installation media. This time around it does not seem to care for my boot CD's and I resulted to installing Debian Lenny from USB memorystick. I wanted to install Debian Testing from the start, but I had trouble with the USB installer, which was complaining about disparency between Linux Headers on the installation image and the running kernel from the Debian Installer. I could not find a easy solution, so installed the stable Lenny and upgraded to Testing first thing after installation.<br /><br />I also managed the most complicated partition setup to date (personally). I wanted to have several RAID1 devices and a LVM volume, which made the partition count reach 12!<br />So here is what I did:<br />-/boot 100MB on RAID1 with EXT3<br />-/ 20GB on RAID1 with XFS<br />-Swap 4GB on RAID1<br />-/htpc 20GB on RAID1 with XFS (this partition houses eg. cache data for MMS multimedia libraries)<br />-/safe 200GB in RAID1 with XFS (this partition is for backups, mainly our photos)<br />-/video 2x750GB in LVM with XFS (this partition will contain solely PVR DVB-recordings)<br />The reason for using LVM with /video is that I can add more capacity easily later on once I manage to fill the the 1.5TB. 1500GB sounds quite a lot, but I can fill that up quite easily by running automatic timers for our household. I also do not consider the recordings critical enough to warrant RAID mirroring.<br /><br />Next up, compiling a custom kernel, hopefully it will be quite easy to have the latest 2.6.30 version.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-83176860027778954062009-06-20T04:09:00.000-07:002009-07-29T02:20:54.356-07:00Beginner's guide to Linux: openSuSE 11.1 installation guideIt is evident from the earlier blog entries, that I've been into making screencasts lately. I've started a series of screencasts called "Beginners's guide to Linux", in which I use openSUSE 11.1 to demonstrate how to install and use a modern Linux operating system. Of course the choice of Linux distribution and the desktop environment can be argued to infinity, I've decided to use what I use currently myself and following videos will feature openSUSE 11.1 with KDE4 desktop.<br /><br />There are several ways (the case always when dealing with Linux) you can choose to install openSUSE 11.1. First you could download the LiveCD's, so called because you can boot your computer from them without installing anything, although you can actually install a basic system from the LiveCD also. Nice thing about LiveCD's is that you get to see a preview how you desktop looks and behaves, how openSUSE detects your hardware and so on, without actually installing anything. Keep in mind though that booting to a LiveCD environment will present you with slower system and with less functionality than you would get with doing a real hard drive installation. If you want to try out a LiveCD, you need to choose between the two (main) Linux desktops, <a href="http://www.kde.org/announcements/4.2/guide.php" target="new">KDE</a> and <a href="http://library.gnome.org/misc/release-notes/2.26/" target="new">Gnome</a>. Second way to install, which I like the best, is to download the DVD and install using that. The DVD offers a better installation program, more choice in software and you can choose between several different Desktop during the installation. Head to <a href="http://software.opensuse.org/" target="new">http://software.opensuse.org/ </a>to download the CD or DVD image.<br /><br />First screencast starts where any Linux beginner would, installing the system. While it is nowadays very easy to install any modern Linux distribution, there might be some points like partitioning where beginner can feel out of their depth. The video is fast forwarded during the tedious bits of installation, so expect to spend something like 20-60 minutes when installing it, depending quite a lot about horsepower on your computer. On this screencast we are using 32bit DVD.<br /><br /><br /><center><object width="853" height="505"><param name="movie" value="http://www.youtube.com/v/RFGIcAq2Aeo&hl=en&fs=1&hd=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/RFGIcAq2Aeo&hl=en&fs=1&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="853" height="505"></embed></object><br /><span style="font-style: italic;font-size:85%;" >Notice, the above video should load, by default, in HD mode. So just ignore the recommendation on the video to "turn on the HD resolution".</span></center>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-7061435059814076462009-06-11T11:27:00.000-07:002009-07-28T23:44:46.221-07:00My Digital Self<span style="font-weight: bold;">In the beginning</span><br />I started of my computing career with a second hand Commodore VIC-20, I was around 7 or 8 years old at the time (that's 1987-1988, I was born in 1980). Shortly after the VIC I got a brand new Commodore 64 as a present from my parents, from my C64 days I recall quite vividly playing a lot of Giana Sisters, F-15 Strike Eagle and a game about M1 Abrams Main Battle Tank. I also got my first introduction to programming with C64's Basic.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib-JqkzIGVSzczVyntqp2fp_i5Y_oUNVzz0x9EC1hlAaBVf4PwxPHn8omaR8DRwQ0LhKe3llTOvqsEKcAXhjcX8irl-9OcZ3nIBOmbStTM5SoFHT0q_82ACV7Y_s6EiIPX8gVjpfzmZ_g/s1600-h/1051777685-00.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 281px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib-JqkzIGVSzczVyntqp2fp_i5Y_oUNVzz0x9EC1hlAaBVf4PwxPHn8omaR8DRwQ0LhKe3llTOvqsEKcAXhjcX8irl-9OcZ3nIBOmbStTM5SoFHT0q_82ACV7Y_s6EiIPX8gVjpfzmZ_g/s400/1051777685-00.jpg" alt="" id="BLOGGER_PHOTO_ID_5346166690771895890" border="0" /></a>After the Commodores I had a quite long pause until I got my first PC, although I was a very reqular quest at my friends who already had their own PC's. I think I was around 14 years old when my family bought a 90mhz Pentium desktop and it was so cool I was almost torn in half in excitement. The operating system then was of course DOS and Windows 3 and a bit later Windows 95. Funny to think that in this point Linus Torvalds had already released 1.0 version of Linux Kernel, but I was not aware of it, not at all.<br /><br />Since then I've had several desktops and a occasional laptop. From 1994-2004 I was using first Windows 3, then Win95, Win98, Win2000 and then Windows XP. I was always very curious about the operating systems and how to tweak them to their maximum performance, that was mainly because I never could afford to buy the absolute latest and greatest hardware available. So I have a good decade of experience in different Windows systems.<br /><br /><br /><span style="font-weight: bold;">First touch with Linux</span><br />My first serious experience with Linux was at my summer job during 2004. The job was at one the biggest IT corporations in Finland and I was tasked testing software that ran on UNIX platform. I don't remember anymore what gave me the push to install Linux to one extra computer that I had at work, but I soon noticed that my work (connecting to various UNIX servers, debugging them and so on) got much easier with Linux. The distribution I installed (at that point I didn't know there were others) was Red Hat, but I<span> soon found out about the new Fedora Core project and decided to install Fedora Core 1 at home desktop to dual boot with Windows XP.<br /><br />Fedora Core 1 did not actually impress me that much at the time, I found it to be quite unstable, requiring quite a lot of manual configuration to get basic things working and, being a newbie with Linux, quite easy to break. So I continued us</span><span>ing Windows XP as my main OS, playing computer games was a big hobby of mine then anyway, but I recognized the potential that Linux held.<br /><br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIs_TLH8PtvHfcESeHJyDySvq1zSeZJGIuM-LYsZ4oeAZ7mMwWcg0x0EQq2wJ636J4n8ongm8wXn_4FNnj9_VZF3EQpRCijgIaqv_PN6vq_lVMFKiHH54nk6dA5FGNFFl0g-AXP67dMSc/s1600-h/Sony+TC-K45.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 189px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIs_TLH8PtvHfcESeHJyDySvq1zSeZJGIuM-LYsZ4oeAZ7mMwWcg0x0EQq2wJ636J4n8ongm8wXn_4FNnj9_VZF3EQpRCijgIaqv_PN6vq_lVMFKiHH54nk6dA5FGNFFl0g-AXP67dMSc/s400/Sony+TC-K45.jpg" alt="" id="BLOGGER_PHOTO_ID_5346151379312968850" border="0" /></a><span style="font-weight: bold;">Age of nerdism</span><br /><span>I think it was around fall 2004 that I dreamed up a nice PC</span><span> customization project. I decided to try and fit a small Pentium motherboard inside a old Sony cassette tape player to make a retro looking MP3 player. I managed to fit the motherboard with 200mhz Pentium CPU and 96MB RAM, heavily stripped power supply unit, 3.5" hard drive, a sound card, a network card and a video card inside the little cassette player (quite like the one above). I even managed to install Debian on it, but partly because I faced some problems configuring Debian to work with my hardware and partly because I was worried about burning down my flat, the project got abandoned.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg29YTj4xT99WeezL46thNwD40Mx3-Z6_vbSNOE3RW46TA3Fr4IATuW1lv5qtei_iL-eax32llDIr666REZVjxIFDg_ANP44ybgZVetlDzw_LKT2Prq7F2nsA5eJduzI4WiHBIKcnPmZLc/s1600-h/IMGP0239.JPG"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 201px; height: 303px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg29YTj4xT99WeezL46thNwD40Mx3-Z6_vbSNOE3RW46TA3Fr4IATuW1lv5qtei_iL-eax32llDIr666REZVjxIFDg_ANP44ybgZVetlDzw_LKT2Prq7F2nsA5eJduzI4WiHBIKcnPmZLc/s400/IMGP0239.JPG" alt="" id="BLOGGER_PHOTO_ID_5346171060824872114" border="0" /></a>After the MP3 project I quickly tested Fedora Core2 and Mandrake on my desktop, I still was not convinced enough to stop using Windows XP but then along came SUSE. I was sold from the start. It recognized all my hardware and the configuration with YaST was so easy that I actually was very impressed and from that point on (end of 2004) SUSE or later openSuSE has been the main OS on my desktop. Although I still sometimes boot to XP to play a occasional game, it is Linux 99% of time. I even had couple of years there when I was completely Windows-free.<br /><br />During past years besides running openSuSE on my personal desktops and laptops, I've created three HTPC/DVR's using Gentoo (one for myself, one for my parents and one for my little brother), I've run Ubuntu on my work laptop for a year, since then installed both my work machines to run openSuSE and been recognized as RHCE. Nowadays I work as a Qt software developer and besides the day-to-day development work I also administer four Linux continuous integration servers for our software project.<br /><br />So in summary, it could be said that The Penguin has been good for me. I think it is time to give something back to the community and that starts in my next post.<a href="http://ccmixter.org/files/hisboyelroy/9184" target="_blank" title="http://ccmixter.org/files/hisboyelroy/9184" rel="nofollow" dir="ltr"><br /></a></span>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-76705111675151541932009-06-09T11:31:00.000-07:002009-07-28T23:45:00.681-07:00Secrets of screencasting in Linux<span style="font-style: italic;font-size:85%;" >"A screencast is a digital video recording that captures actions taking place on a computer desktop. Screencasts, which often contain voice-over narration, are useful for demonstrating how to use specific operating systems, software applications or website features."<br />Definition by: WhatIs.com</span><br /><br />To be honest, there is nothing mysterious about screencasting on Linux operating system. Plenty of applications exist from recording your desktop to audio and video editing. But the small advice I can give is in form of applications that I've tried and found out to work best for my needs.<br /><br />For me the workflow is only three phased, phases being: recording the video, editing the video and adding audio, and finally uploading the video Youtube and creating captions. Because I am not doing any voice-over narration (my english is not that good) I can skip any advanced audio editing that might be otherwise required.<br /><br /><span style="font-weight: bold;">Step one</span> of the workflow is to record the video from your desktop. I've experimented with few applications and found out that application called <a href="http://recordmydesktop.sourceforge.net/about.php">recordMyDesktop</a> suits my needs best. recordMyDesktop gives me stability, simplicity and performance that I require and most importantly it gets the job done. Changes are that you can find this application straight from your distributions software repository. recordMyDesktop saves the video to Ogg Vorbis Video format (.ogv) but on <span style="font-weight: bold;">step two</span> you can convert it to pretty much anything, besides at least Youtube accepts ogv-files just fine.<br /><br /><span style="font-weight: bold;">Step two</span> is to edit the recorded video and add some audio to go with it. The application I use for this is called <a href="http://cinelerra.org/docs.php">Cinelerra, </a>it is a long standing video editing software for Linux and might actually be a bit "overkill" for screencasting needs. Previously I've edited a 7 minute making-of documentary of indie film called "Korpinkieli ja Vaeltaja" (<a href="http://korpinkieli.insanebastards.com/">website</a> in finnish only) using Cinelerra.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWZbdf28lTq0Kxt05MzRhsAwbx0pPSqHyvOmvU_9ihFjr-Ev6LcvRyYoVGcAgXUaLgqWrhmpV3ZB_wG0vUOqJ0nZJout6QSX1uF6fZaSWBB3cpHaAsmEo3rtQWDaZ5EWtZa0WzD29IzcA/s1600-h/cinelerra.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWZbdf28lTq0Kxt05MzRhsAwbx0pPSqHyvOmvU_9ihFjr-Ev6LcvRyYoVGcAgXUaLgqWrhmpV3ZB_wG0vUOqJ0nZJout6QSX1uF6fZaSWBB3cpHaAsmEo3rtQWDaZ5EWtZa0WzD29IzcA/s400/cinelerra.png" alt="" id="BLOGGER_PHOTO_ID_5345414250239283826" border="0" /></a>Although it has been over three years since then, Cinelerra still feels very familiar and is now considerably more stable. Check out the tutorials on Cinelerra's website to get going, I assure you that once you get going it is very nice tool. After the video is edited it is time to add audio track. Because I'm no good as narrator, I've only added some <a href="http://creativecommons.org/">Creative Commons</a> music to the video.<br /><br /><span style="font-weight: bold;">Step three</span> starts with uploading the video to the chosen video host. I am using Youtube, but of course there are also alternatives like <a href="http://www.vimeo.com/">Vimeo</a>. After the video is uploaded I usually create the captions using the Youtube's caption editor. After that the video is ready for publishing.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-43898685590381271972009-06-09T11:00:00.000-07:002009-07-28T23:45:11.760-07:00Widening the scopeThis blog started off as my personal diary, sort of, marking down my steps to Linux HTPC nirvana. Since the HTPC has been working pretty much flawlessly and I've been reluctant to fiddle with it, there has not been nothing to write about lately. So as of now I'm widening the scope of this blog to include also other things digital, besides just Linux and it's uses in HTPC.<br /><br />The original intent of the blog will be tested soon. I've ordered couple new terabyte hard drives for my HTPC and they will house the new installation, actually the fourth incarnation of my personal HTPC. New drives are necessary because I don't want to lose my current setup so I've something to fall back onto in case something goes "horribly wrong". The old blog entries should come handy when I start anew, albeit this time around it will be Debian Linux not Gentoo. But more about that later on.<br /><br />What those "other things digital", that I mentioned in the beginning of the entry, will be, I do not know yet. One idea is to blog about digital photography, a dear hobby of mine. Second thing is that I've been testing my mettle in screencasting lately and I would like to dedicate few blog entries to them next.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-69909728918820835552009-01-09T03:37:00.000-08:002009-07-28T23:45:26.621-07:00Plans for the futureEverything has been working very nicely in my current HTPC installation since it's <a href="http://mylinuxhtpcproject.blogspot.com/2008/01/basic-gentoo-installation.html">installation early 2008</a>. Because of that, I think it is time to upgrade, the proverb "Don't fix it if it ain't broken" does not seem to ring any bells for me. I guess there has been too little tinkering lately.<br /><br /><span style="font-weight: bold;">New hardware?</span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD6O9PDXwslziTUx0Nk8otTq2BaZoGvcLXm9SugmFOI1grTz8Oj43mpAluhdNIwu1zXZ4B3MYYqLGM3lCbbQhmeB8Tce5hV0_S7axbAJewoaEXp1CGvAjKGpQU1uL24YYbUnG8_soJ9Og/s1600-h/59287_02.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 247px; height: 202px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD6O9PDXwslziTUx0Nk8otTq2BaZoGvcLXm9SugmFOI1grTz8Oj43mpAluhdNIwu1zXZ4B3MYYqLGM3lCbbQhmeB8Tce5hV0_S7axbAJewoaEXp1CGvAjKGpQU1uL24YYbUnG8_soJ9Og/s320/59287_02.jpg" alt="" id="BLOGGER_PHOTO_ID_5289259198132706834" border="0" /></a><br />Anyway, I am not planning any major hardware upgrades, I've been thinking of getting myself one of those small<a href="http://www.logitech.com/index.cfm/keyboards/keyboard/devices/3848&cl=US,EN"> Logitech DiNovo Mini</a>s. But besides that I am mainly thinking about software upgrades, and plenty of them. I am still thinking of the best way to do the complete re-installation. I will be keeping the old installation as a backup, because from the past experience I know there will be some problems and delays before I get to same state of HTPC-nirvana I am with my current installation.<br /><br />It remains to be seen if I figure out a way to do this without buying new harddrives, but it might be the safest bet to get two new (and bigger) drives from shop. It would also enable me to change my old Seagate disks to Seagate special <a href="http://www.seagate.com/www/en-us/products/consumer_electronics/db35_series/">DB35</a> or <a href="http://www.seagate.com/www/en-us/products/servers/sv35_series/">SV35</a> class of harddrives, which are designed to be run on HTPC, NAS or other 'embedded' systems. I have those already in my NAS and they seem to do what they promise, ie. low noise, low wattage and low temp, also because aforementioned things they should be more reliable.<br /><br /><span style="font-weight: bold;">New software!</span><br />On software side I have some grand plans.<br />First of all I want to install the latest Gentoo 2008 and the latest Linux Kernel. I want to also create RAID1 that I previously had, but also create separate LVM setup that houses recordings, this LVM shows itself as a single filesystem for VDR which can be quite difficult at times when using multiple filesystems for saving the recordings. Also LVM enables me to easily extend the space by adding new drives to LVM and thus expanding the space available for my recordings.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRdR27EXOCTdZaiBpQeRjsuAmFNRlJqBQdRkPq8_G1GomaX4j9uu1Xclk8qpFtXomeQVGZzJZj_R3soAWEsPQLIP0LShEWmmiz3ZB8UIg0GiMDJl-JTKUql7WXaRUbQ9XGu6lTV29DNWU/s1600-h/scan0017.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 294px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRdR27EXOCTdZaiBpQeRjsuAmFNRlJqBQdRkPq8_G1GomaX4j9uu1Xclk8qpFtXomeQVGZzJZj_R3soAWEsPQLIP0LShEWmmiz3ZB8UIg0GiMDJl-JTKUql7WXaRUbQ9XGu6lTV29DNWU/s320/scan0017.jpg" alt="" id="BLOGGER_PHOTO_ID_5289283907075634034" border="0" /></a><span style="font-style: italic;font-size:78%;" >"Witness the power of this fully armed and ...<br />eh I mean "full upgraded" and operational HTPC.</span><span style="font-style: italic;">"</span><br /></div><br />With the new Gentoo and kernel I want to test out new ways of making the boot process even faster. Somethings called <a href="http://jolexa.wordpress.com/2008/09/22/gentoo-improve-boot-time/"> baselayout-2 and openrc</a> should speed up it quite significantly. Who knows maybe the new kernel has better support for my motherboads ACPI and I can also enter Suspend2RAM and actually resume from it.<br /><br />New kernel means that I have to once again change my kernel config, which gives my a good opportunity to take some features into use that I have previously disabled. I want to have AutoFS available to allow me easily mount Samba and NFS shares from my network, even if the shares are not available at boot time. I also will need to enable NFS support, NTFS support and FAT support in my kernel, to enable mounting of network shares and USB connected drives.<br /><br />I also will probably update to latest Nvidia driver which enables hardware based video decoding, this is done with NVIDIA VDPAU support that was added in the latest stable driver 180.22. This also leads me to upgrading my Mplayer and Xine to enable support for the VDPAU. When compiling new Mplayer I need to keep in mind that I should enable mencoder make flag, that way I can use mencoder to automatically encode my DVB recordings via scripts.<br /><br />Two of my main HTPC softwares are also in for a major upgrade, this is if I can wait until the 1.1.0 final of the <a href="http://mylinuxhtpcproject.blogspot.com/2008/07/mms-110-nearing-completition.html">MMS</a> will finally by released. VDR has also received a major upgrade from my old 1.4.7 version as the 1.6 branch has gone stable. Especially the new VDR I fully expect to give me lots of headache, I run quite many plugins in 1.4.7 and I am not completely sure of their compatibility. 1.6 version of the VDR also enables me to use UTF8 finally, which should help me with filenaming problems. With these two upgrades I will also need to change my lirc setup and enhance the functionality even further.<br /><br />Finally I plan to improve the fault tolerance of the system by duplicating the system partitions in that way, that if the first system fails for some reason, it will use the backup system automatically. I have done this with good results with my parents VDR setup, where the main disk is showing signs of ageing.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-91916558011743511542008-07-23T10:35:00.000-07:002009-07-28T23:45:50.355-07:00MMS 1.1.0 nearing completition<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9qIu0ISn3x86qQQpyKOHADRnOlUE8KoLskl5ZIoN_2LHck5Mk7EbuehjIQ4aDyyhV0QBrbOXHtoJHhMAqupcDl0Ra6Ii_nkOle1rsmK73SGqs65r8jjQY-FKVbFyppfxGwhxTcqULBJQ/s1600-h/picture_browser.png.jpeg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9qIu0ISn3x86qQQpyKOHADRnOlUE8KoLskl5ZIoN_2LHck5Mk7EbuehjIQ4aDyyhV0QBrbOXHtoJHhMAqupcDl0Ra6Ii_nkOle1rsmK73SGqs65r8jjQY-FKVbFyppfxGwhxTcqULBJQ/s320/picture_browser.png.jpeg" alt="" id="BLOGGER_PHOTO_ID_5226268971563741394" border="0" /></a><span style="font-style: italic;font-size:85%;" ><center>MMS picture browser in action.</center></span><br />Release candidate 7 (RC7 for short) of the MyMediaSystem 1.10 was released yesterday. This might actually also be the last RC before the final 1.10. Before final release the build needs to be tested and the bugs need to be squashed, but I have to say I so far have not found any. I have skipped last three of the RC's because my system has been working very well and I've been consciously trying to avoid fixing anything that is not <span style="font-style: italic;">broken</span>. Also there has not been so important features (for me) to be worth the hassle. RC7 is completely different matter though and it actually has two "must have" new features that I could not just pass by.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgPBedIgyqZ-ny6QR4dRO6eBgdfAq1dPBAppmQp-hZoXdZCLN7B9HVQ6icsHCA-yO4rRFSWborAylYKvn3Ilc3TrdzWTQP-gDB8C9y4Dz7WfJSicYvmh4GjleiAe9NW5awgkRqMbNxM6w/s1600-h/main_menu.png.jpeg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgPBedIgyqZ-ny6QR4dRO6eBgdfAq1dPBAppmQp-hZoXdZCLN7B9HVQ6icsHCA-yO4rRFSWborAylYKvn3Ilc3TrdzWTQP-gDB8C9y4Dz7WfJSicYvmh4GjleiAe9NW5awgkRqMbNxM6w/s320/main_menu.png.jpeg" alt="" id="BLOGGER_PHOTO_ID_5226267402120371506" border="0" /></a>The user interface in RC7 has had a major upgrade, it finally scales nicely to high definition TV resolutions. I use mine in 1080p (1920x1080 pixels) and previously the interface components, like text and icons were very small. But now the interface scales nicely to higher resolutions, my main menu is still a bit crowded but that is mainly because as experiment I enabled almost every feature in MMS, now I will just cut down to what I use.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQkutW8nTyVlRKQXhTbrH6TTm18mf7ruA75Jrm7gJoSJf7uUhOPoN9emCDptZKtZ8p0nPx0iic13AWba-YNb7Krda38esBi9kQGNiKAPnSp4wQN2Eo0UElCycu9JCYcMCTFKTvt0yW7NI/s1600-h/music_browser.png.jpeg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQkutW8nTyVlRKQXhTbrH6TTm18mf7ruA75Jrm7gJoSJf7uUhOPoN9emCDptZKtZ8p0nPx0iic13AWba-YNb7Krda38esBi9kQGNiKAPnSp4wQN2Eo0UElCycu9JCYcMCTFKTvt0yW7NI/s320/music_browser.png.jpeg" alt="" id="BLOGGER_PHOTO_ID_5226268133147301906" border="0" /></a>Also the selection indicator in the browsers (video-, audio- and picture-collections) is now much clearer, it zooms the selected icon to be larger and it now makes it a lot easier to browse a big collection. The interface also seems to be more responsive or it might just have to do with the improved lirc-configuration, but anyway I am very pleased with the new interface.<br /><br /><br />Go <a href="http://forum.mymediasystem.org/viewtopic.php?p=11266#11266">here</a> to see the complete changelog and list of new features. At the moment the download host seems to be down, but there is a working link to the source code few postings down.<br /><br /><span><span style="font-style: italic;font-size:85%;" ><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtQuxkt92WM5WDoF1aHV4AhTkXmFTBJr0IXYb6aGRUgyJzYNVle1bPbYA_dId9P3qS9DjxqJx6uE63jQkY_4L0SPpjEa-QX9GPilZC7wFh3CcRhpWLDQ7MtJNviRBpX05l9sNASfgZuVo/s1600-h/weather_plugin.jpeg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtQuxkt92WM5WDoF1aHV4AhTkXmFTBJr0IXYb6aGRUgyJzYNVle1bPbYA_dId9P3qS9DjxqJx6uE63jQkY_4L0SPpjEa-QX9GPilZC7wFh3CcRhpWLDQ7MtJNviRBpX05l9sNASfgZuVo/s320/weather_plugin.jpeg" alt="" id="BLOGGER_PHOTO_ID_5226269513514302690" border="0" /></a></span></span><span style="font-style: italic;font-size:78%;" ><center><span style="text-decoration: underline;">W</span>eather-plugin is old news, it was already included in previous versions,<br />but it now integrates to right hand corner notification area<br />(as demonstrated in the audio browser screenshot) with clock.</center></span>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-20244284141923411782008-02-14T23:25:00.000-08:002009-07-28T23:46:11.630-07:00Quickie: Setting NTPIf you are doing DVB recordings via timers like I am, then you probably want to set up ntp-client to update the systemtime in startup.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVc_JsN4t2LdvOSIwv6kueCQmfihxo7EhqXxwz9UlUbAd4zo_UN-FPM2ZTPv4keCuz-MW9fEVwn5oe5mbyadmdrn6xTQRy-Q1izhxjY8hRrp26reZxY-PmV_6Dsv4p_M1vBY4E8WhCF6M/s1600-h/Orloj03.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVc_JsN4t2LdvOSIwv6kueCQmfihxo7EhqXxwz9UlUbAd4zo_UN-FPM2ZTPv4keCuz-MW9fEVwn5oe5mbyadmdrn6xTQRy-Q1izhxjY8hRrp26reZxY-PmV_6Dsv4p_M1vBY4E8WhCF6M/s200/Orloj03.jpg" alt="" id="BLOGGER_PHOTO_ID_5167111502741254674" border="0" /></a>During this past month that I have been slowly building my HTPC, systemtime is already ahead by five minutes. That means basically that every timer now starts recording 5 minutes too early and ends early also. I have, of course, setup extra time before and after every timer, in fact VDR does this by default. But if the time gets ahead by more than 10 minutes, my recordings start to end prematurely, which of course is not very nice.<br /><br /><br />So ntp-client to the rescue! Here is short how to, in which we are using NTP-server in Finland, please find one <a href="http://support.ntp.org/bin/view/Servers/NTPPoolServers">closer to your location</a>.<br /><span style=";font-family:courier new;font-size:85%;" ><br />echo "net-misc/ntp caps" >> /etc/portage/package.use<br />emerge -a ntp</span><br /><br />Edit /etc/ntp.conf and change the server to one close to your location. For us Finns it is "server fi.pool.ntp.org".<br /><br />Edit /etc/conf.d/ntp-client and change the NTPCLIENT_OPTS to following (again this server is in Finland)<br /><br /><span style=";font-family:courier new;font-size:85%;" > NTPCLIENT_OPTS="-s -b -u fi.pool.ntp.org"</span><br /><br />Test the ntp-client by issuing date commands before and after starting the ntp-client. System time should be updated. If it works, set it to run every boot by adding it to default runlevel.<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">date</span> <span style="font-family:courier new;">/etc/init.d/ntp-client start</span> <span style="font-family:courier new;">date</span> <span style="font-family:courier new;">rc-update add ntp-client default</span></span><br /><br />If running time sync every boot is not enough for you, then you can <a href="http://gentoo-wiki.com/HOWTO_NTP#Use_ntpd_to_keep_your_clock_in_sync">set up the ntpd</a>. But do not setup the ntpdate to be run by cron, <a href="http://lists.debian.org/debian-user/2002/12/msg04091.html">here is why</a>.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com2tag:blogger.com,1999:blog-3441145561029171320.post-17807226317626111032008-02-12T03:12:00.000-08:002009-07-28T23:46:27.087-07:00Installing HTPC software (part 3)In this entry we will have a look at how to install <a style="font-weight: bold;" href="http://www.linuxtv.org/vdrwiki/index.php/Main_Page">VDR</a><span style="font-weight: bold;"> (Video Disk Recorder)</span> on Gentoo.<br /><br />This time we are not going to utilise Gentoos excellent emerge-tool, but we are going to do it manually. Main reason for compiling VDR by ourselves, is that this way we get the version we want, with patches we want. For the first time it may be easier to install VDR via emerge, but later on, if you want to play more with VDRs plugins, I suggest that you compile it by hand.<br /><br />Patching VDR can be little bit tricky, so I am going to use my <a href="http://lakeend.pp.fi/vdr/vdr3.0/vdr-1.4.7-petlin-patsaama.tar.gz">old pre-patched version</a> of 1.4.7 VDR source code. As with MMS there is also unstable release of <a href="ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.5.14.tar.bz2">VDR 1.5</a>, this time however I am going to install the old and proven-to-be-stable version. You should probably download <a href="ftp://ftp.cadsoft.de/vdr/vdr-1.4.7.tar.bz2">vanilla source code</a>, that way you can patch it yourself if you need to and if not, you can keep the changes to minimum.<br /><br />First thing is to take care of the dependencies, emerge libcap and jpeg. Those two are required for VDR to compile. Now download the source code (I am using root to run VDR, bad policy, I know) in to /root, then extract it. Now I have following directory /root/vdr-1.4.7 and I will create following symlinks, these are also needed for compilation. After that you can just issue "make && make install" in VDR directory.<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">ln -s /usr/src/linux /root/DVB</span><br /><span style="font-family:courier new;">ln -s /root/vdr-1.4.7 /root/VDR</span></span><br /><br />Compiling the plugins is a bit more involved. You must extract your plugins into /root/VDR/PLUGINS/src directory. That is not enough though, you also need to create a symlink for every plugin, removing the version numbering. For example this is what you would do for subtitles-plugin<br /><br /><span style=";font-family:courier new;font-size:85%;" >cd /path/to/vdr/PLUGINS/src<br />wget http://virtanen.org/vdr/subtitles/files/vdr-subtitles-0.5.0.tgz<br />tar xvfmz vdr-subtitles-0.5.0.tgz<br />ln -s subtitles-0.5.0 subtitles</span><br /><br />Do the same for all your plugins and modify the process accordingly, then just run "make plugins" in /root/VDR . If everything compiles correctly you need to copy the resulting files in /root/VDR/PLUGINS/lib to /vdr/lib, create the latter if it is not there already. (Notice that if you are compiling xineliboutput-plugin then you need to run "make install" in xineliboutputs own directory.)<br /><br />Now you are set to go, meaning you can start the hard part, configuring VDR and plugins.<br /><br />In next entry, configuring VDR and adding the needed scripts.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-63232367853727727692008-02-05T00:58:00.000-08:002009-07-28T23:46:38.999-07:00Installing HTPC software (part 2)OK kids, today we are learning how to install the <span style="font-weight: bold;">MMS</span> (that is short for My Media System kids) the ´Hard way´.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilNDZacE5UB8ECus1y0_7RBHmuQv80VLBNNeDenIhyjzsYVw6_Ct3IgR3Yxc_yC38gvw4ldkPL16BtADaI8_AzXGpkSmP1wZ5OfV19pkHDxAvXLlMtuvEn93jKxGHTOX6zqhpFjxmFFc0/s1600-h/800px-Movie-thumbnails.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilNDZacE5UB8ECus1y0_7RBHmuQv80VLBNNeDenIhyjzsYVw6_Ct3IgR3Yxc_yC38gvw4ldkPL16BtADaI8_AzXGpkSmP1wZ5OfV19pkHDxAvXLlMtuvEn93jKxGHTOX6zqhpFjxmFFc0/s320/800px-Movie-thumbnails.png" alt="" id="BLOGGER_PHOTO_ID_5163442304149674914" border="0" /></a><span style="font-size:85%;"><span style="font-style: italic;">Nice screenshot showcasing new feature, movie thumbnailing.</span></span><br /></div><br />Kidding aside, installing the latest, unstable release 1.1.0, is not that hard either. Thanks to nice people in Gentoo (and MMS) community we already have mms-1.1.0-rc1.ebuild available. <a href="http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds">Using the ebuild</a> the installation is pretty easy, although it has few more steps to it, than the basic stable installation I talked about in <a href="http://mylinuxhtpcproject.blogspot.com/2008/01/installing-htpc-software-part-1.html">part 1</a> of "Installing HTPC software".<br /><br />First thing we need to do is create a local portage. Make sure you have /usr/local/portage directory available and create it if not. After that add the following line in to your /etc/make.conf, if it is not already there.<br /><br /><span style=";font-family:courier new;font-size:85%;" >PORTDIR_OVERLAY="/usr/local/portage"</span><br /><br />Then create the following directory structure<br /><br /><span style=";font-family:courier new;font-size:85%;" >/usr/local/portage/media-video/</span><span style=";font-family:courier new;font-size:85%;" >mms</span><br /><br />In the directory mentioned above, run following command to download the ebuild. (Sorry about the small print, but the blogger.com loses few letters from it if it is any bigger.)<br /><br /><span style=";font-family:courier new;font-size:78%;" >wget ftp://83.142.84.214/gentoo-ebuild/mms/mms-1.1.0_rc1.ebuild</span><br /><br />Then you need to make few changes to package.keywords and package.use files. The first one adds CPU-type detection for MMS package installation and another one tells emerge to use latest available version of MMS.<br /><span style="font-size:78%;"><br /></span><span style=";font-family:courier new;font-size:78%;" >echo "media-video/mms cpudetection" >> /etc/portage/package.use<br />echo "media-video/mms ~*" >> /etc/portage/package.keywords</span><br /><br />Next we "digest" the ebuild to create correct Manifest, then we are going to emerge the MMS.<br /><br /><span style=";font-family:courier new;font-size:85%;" >ebuild mms-1.1.0_rc1.ebuild digest<br />emerge -av =media-video/mms-1.1.0_rc1</span><br /><br />Now emerge should run its course and you should have functioning MMS as a result. Configuration files reside in /etc/mms directory, so start from there, some configuration is needed in several files. You should be able to figure out the needed changes, which of course, depend on your setup.<br /><br />Before we can <span style="font-style: italic;">actually</span> run the MMS we need to install X server, all we need is the most basic of graphical mode. I for example have no need for a desktop environment like KDE or Gnome. Installing basic GUI is as easy as typing "emerge xorg-server" after that you need to configure the graphics settings in /etc/X11/xorg.conf, but I will leave that to you, since every hardware configuration has it´s own settings. However <a href="http://lakeend.pp.fi/vdr/vdr3.0/xorg.conf">here is a sample xorg.conf</a> for <a href="http://www.mirai.eu/Europe/ProductDetails&product_id=53&cat_id=56">Mirai DTL-642E500 television</a> with Nvidia graphics adapter.<br /><br />Once the xorg.conf is ready, easiest way to start MMS with X is to edit /etc/xinitrc file this file gets executed when X is started. So add a line like one below to start MMS automatically on X startup.<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">/usr/local/bin/mms</span></span><br /><br />More on <span style="font-style: italic;">my</span> MMS configuration in next entry (or one after that), you should be able to go on by yourself, configuring your /etc/mms settings to way you like.<br /><br /><span style="font-size:85%;"><br /><span style="font-style: italic;">Disclaimer: Thanks for the ebuild and advices on how to get it to work goes to Vitalogy in </span><a style="font-style: italic;" href="http://forum.mymediasystem.org/viewtopic.php?t=1040&start=0&postdays=0&postorder=asc&highlight=">MMS forums</a><span style="font-style: italic;">.</span></span>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-19279342571043600682008-01-30T10:32:00.000-08:002009-07-28T23:46:55.891-07:00Trying to evolveWe Finns have proverb about learning by "kantapään kautta", basically that means that we learn from our mistakes. This must be the one of most painful methods of education, but it sure is effective. If you are wondering what I am babbling about, then please read <a href="http://mylinuxhtpcproject.blogspot.com/2008/01/starting-new-blog.html">my first blog entry</a>, because this entry is about BACKUPS.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQ3mrG33kBalY1uIBT-6nqv-7N_RkDntUI5KqN67xdZop5KBX1nfz1enAG9_1A02XtZZsVacPIYJF71zjMmPyQ49JkEohyYg_xbyzAPn-mwNt7ixGbuwm8l9Yrl3wIYOyOB4YHLIUfxs/s1600-h/backup.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQ3mrG33kBalY1uIBT-6nqv-7N_RkDntUI5KqN67xdZop5KBX1nfz1enAG9_1A02XtZZsVacPIYJF71zjMmPyQ49JkEohyYg_xbyzAPn-mwNt7ixGbuwm8l9Yrl3wIYOyOB4YHLIUfxs/s320/backup.jpg" alt="" id="BLOGGER_PHOTO_ID_5161348511887842162" border="0" /></a><br />An easy and pretty fast way to make a backup of Gentoo installation is by using script called <a href="http://http//blinkeye.ch/mediawiki/index.php/GNU/Linux_System_Backup_Script_%28stage4%29">Stage4</a>. This archives your root partition either into single or multiple gzip's or bz2's. The script is easy to use and does not need much configuration. I am currently running it with default settings. During my first backup my root partition used 2.7GB and was compressed to 552MB. I am storing the backup-archive on my workstation, because even I cant wipe out two computers at once.<br /><br />You can download the stage4-script from <a href="ftp://blinkeye.ch/gentoo/mkstage4.sh">here</a>. I advice you to read through it, the configuration is in the beginning, it is very well documented and is not that long. But basically you just drop the file to /usr/local/bin, chmod it to have execute rights and then execute the script. Script reports problems if there are some and the output is pretty self explanatory. Hopefully you don't have to learn the restoration process, but if you do, it is documented in the <a href="http://blinkeye.ch/mediawiki/index.php/GNU/Linux_System_Backup_Script_%28stage4%29#Restore">wiki</a>.<br /><br />Once my installation is ready, or at least "more complete", I will be writing a script that makes stage4 archive every week or so, and then transfers it to ftp-server. I also am planning on cloning the whole partition with a tool like dd or <a href="http://www.partimage.org/Main_Page">partimage,</a> latter being a better (and more complicated) solution, because it does not backup the empty space on a partition. Current situation with my mirrored root drive gives some protection against a hardware malfunction, but offers only little against user mistakes.<br /><br />So for the time being I am making stage4 archives from my root partition as backups and if you are using Gentoo, I advice you to do at least the same.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com2tag:blogger.com,1999:blog-3441145561029171320.post-65802489966635034612008-01-30T01:25:00.000-08:002009-07-28T23:47:10.762-07:00Installing HTPC software (part 1)I'll start this one of w<span style="font-family:georgia;">ith a quick and eas</span>y way to get samba file sharing working. If there are no interest in having such service, then you can skip over the Samba part. After the Samba installation I will install software that is needed for the HTPC functionality.<br /><br />But first, <a href="http://lakeend.pp.fi/vdr/vdr3.0/make.conf">here is a make.conf</a> file that I am using. You may want to edit it to better suit your needs. It has basicly USE-flags enabled that "sound" like they might be useful in HTPC installation.<br /><br /><br /><span style="font-weight: bold;">Samba</span><br />Before emerging <a href="http://en.wikipedia.org/wiki/Samba_%28software%29">samba</a>, there is again a file in need of an extra line. This time easiest way to add it, is by running following command<br /><br /><span style="font-family:courier new;">echo "net-fs/samba acl -cups -doc -kerberos -ldap -oav pam -python -quotas readline -selinux winbind" >> /etc/portage/package.use<br /><br /><span style="font-family:georgia;">This will ensure samba will be emerged for just basic file sharing, with nothing too fancy like cups or ldap. Modify as needed. After the above line is added, just emerge samba. After all that is done, it is time to edit /etc/samba/smb.conf to suit your file sharing needs.</span><br /><br /><span style="font-family:georgia;">Here is a little example of how my smb.conf looks like</span><br /><br /><span style="font-size:78%;">[netlogon]<br />comment = Network Logon Service<br />path = /var/lib/samba/netlogon<br />write list = root<br /><br />[global]<br />add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$<br />domain logons = Yes<br />domain master = Yes<br />local master = Yes<br />os level = 65<br />preferred master = Yes<br />security = user<br />workgroup = Workgroup Name<br />map to guest = Bad User<br />include = /etc/samba/dhcp.conf<br />logon path = \\%L\profiles\.msprofile<br />logon home = \\%L\%U\.9xprofile<br />logon drive = P:<br />netbios name = Server name<br />load printers = no<br />printing = bsd<br />printcap name = /dev/null<br />disable spoolss = yes<br /><br />[profiles]<br />comment = Network Profiles Service<br />path = %H<br />read only = No<br />store dos attributes = Yes<br />create mask = 0600<br />directory mask = 0700<br /><br />[yoursharehere]<br />comment = </span></span><span style="font-size:78%;"><span style="font-family:courier new;">Yoursharehere is a shared directory</span><br /><span style="font-family:courier new;"> inherit acls = No<br />path = /</span><span style="font-family:courier new;">path2yoursharehere</span><br /></span><span style="font-family:courier new;"><span style="font-size:78%;"> read only = No<br />browseable = Yes<br />writable = Yes<br />force user = yourusername<br /></span><br /><span style="font-size:100%;"><span style="font-family:georgia;"><span style="font-weight: bold;"><br /></span>After the smb.conf is set up correctly, only thing left is to add samba users and their passwords. I use the following command to create first the user, then adding samba password to that user. Note that the username password should be preferable the same ones you use in your clients. That way a windows user can mount the share as a network drive by just using his own username and password. After adding the users, you are ready to start the samba service and add it to some runlevel, so it will start automatically on boot.<br /><br /><span style="font-family:courier new;">useradd </span></span></span></span><span style=";font-family:courier new;font-size:100%;" >yourusername && smbpasswd -a </span><span style="font-family:courier new;"></span><span style=";font-family:courier new;font-size:100%;" >yourusername<br /><br /><br /><span style="font-weight: bold;font-family:georgia;" >Enabling the Gentoo Portage Multimedia Overlay<br /><span style="font-family:georgia;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span></span></span></span><span style="font-family:georgia;"><span style="font-family:georgia;"><a style="font-family: georgia;" href="https://kpex.no-ip.org/kpex-media.html">Multimedia overlay</a><span style="font-family:georgia;"> is used to get the latest (and greatest) svn/cvs -versions of the multimedia programs like mplayer, which is used as the default video player in MMS. The reason we need the latest version is that it has multi-thread support enabled. This helps a lot when playing content that is encoded with H.264 with high definition resolutions. Playing 1080p material with h.264 encoding used to be pretty impossible with modest 3ghz dual core like mine. Nowadays with multithreading, it handles it pretty nicely.</span><br /><br /><span style="font-family:georgia;">This is how the overlay is enabled<br /><br /></span><span style="font-family:courier new;">mkdir /usr/local/portage</span><br /><span style="font-family:courier new;">cd /usr/local/portage</span><br /><span style="font-family:courier new;">rsync -rptvW rsync://kpex.no-ip.org/kpex-media<br />echo "PORTDIR_OVERLAY=\"/usr/local/portage\"" >> /etc/make.conf<br /></span><br /></span></span><br /></span><span style="font-weight: bold;font-family:georgia;" >HTPC software</span><span style="font-family:georgia;"><br /><a href="http://www.vdr-wiki.de/wiki/index.php/Xineliboutput-plugin">Xineliboutput</a> is a plugin to VDR, it is used to output the DVB-material via graphics card, either in X (vdr-sxfe) or in frame buffer (vdr-fbfe). Normal use case with VDR is that user has full feature DVB-tuner which has some kind of TV-out, but with high resolution flat panels this is hardly optimal. Instead we are going to use the DVI output on the graphics card to transfer the picture in HD resolution to TV´s HDMI input. Xineliboutput enables us to do just that. The plugin itself is loaded when VDR starts and the client (vdr-sxfe) is started whenever we select "Watch TV" from MMS main menu. And finally to the point: Xineliboutput requires xine-lib to be installed.<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaaEeJ3kB-twcwSWoQd-BZLcDdsXTQNIqx3jun4GiOUv7x5JC5geLFJjHsvdsamqEQrob0Jrn_p_C1lZ7F9Y5-ytIqRbisQPjOuDY9npqy9FHu21nREyckQ_x7wYvw_tWwogg9uKeVo6g/s1600-h/716px-Xineliboutput-plugin-00.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaaEeJ3kB-twcwSWoQd-BZLcDdsXTQNIqx3jun4GiOUv7x5JC5geLFJjHsvdsamqEQrob0Jrn_p_C1lZ7F9Y5-ytIqRbisQPjOuDY9npqy9FHu21nREyckQ_x7wYvw_tWwogg9uKeVo6g/s200/716px-Xineliboutput-plugin-00.jpg" alt="" id="BLOGGER_PHOTO_ID_5161273916895845218" border="0" /></a><span style="font-family:georgia;"><br />Besides xine library and mplayer we also need some codecs. W32codecs contains Microsofts decoders for codecs used in wmv-container (for example). We also should install x264-svn package. And lastly you can install MMS right here, without any extra steps, IF you are content (and smart) to use the stable version. I however, am going to go the extra mile and try out the new release candidate 1.1.0 version.<br /><br />All of the above are installed by simply (mmsv2 installs at the time of this writing the stable 1.0.8.5 version of the MMS) emerging the following<br /><br /><span style="font-family:courier new;">emerge xine-lib mplayer win32codecs x264-svn mmsv2</span><br /><br /><br /><span style="font-size:78%;">Disclaimer: While the Xineliboutput enables showing the DVB material in high resolution X environment, it does not actually do anything to make the picture better. You are still faced with the limitations of the source material, which is often low resolution and encoded with low bitrate. The upside is though that the DVB viewing with VDR can now be integrated as part of the X (the graphical interface) and more importantly part of the MMS.</span><br /></span>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-7325161716932527462008-01-29T01:16:00.000-08:002009-07-28T23:47:22.758-07:00The Masterplan™Now that all my hardware seems to be working correctly, it is time to move to installing needed software. But before that I guess I should let you in on my plan for the <span style="font-style: italic;">final </span>HTPC.<br /><br />I am going to use the <a href="http://mymediasystem.org/">My Media System</a> (MMS in short) as a Media Center software. I had the stable version 1.0.8.5 installed on my previous installation. I liked it very much, it seems to be stable, <a href="http://wiki.mymediasystem.org/wiki/index.php/MMS_Features">feature rich</a> and simple at the same time. Also the new version 1.1.0, which is currently in release candidate -state, seems to have many nice <a href="http://wiki.mymediasystem.org/wiki/index.php/What_is_new_in_110">new features</a>. I think I am at least going to try the new bleeding edge version first and if it is still too unstable, change back to the 1.0.8.5 version.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mymediasystem.net/mms/mms110/darkmix/med/small-startmenu.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://mymediasystem.net/mms/mms110/darkmix/med/small-startmenu.png" alt="" border="0" /></a><br />While MMS takes care of the things like picture viewing, music and video playing and providing nice user interface for these, I am going to use <a href="http://www.cadsoft.de/vdr/features.htm">VDR</a> for the DVB side. I've been using VDR to watch DVB-television for some time now (over a year at least) and I am very happy with it.<br />Other option would have been MythTv which bundles all of this together and provides even more functionality. But MythTv has been more viable on the analog TV side, not so good in DVB. So basically VDR with X frontend does the watching and recording of television and MMS does the rest.<br /><br /><a href="http://www.youtube.com/watch?v=tOm4ePSh9tw">Here is a little demonstration</a> of how both VDR and MMS work together. Keep in mind that the video is old and for example exiting the VDR frontend (the AVP movie) is more seamless nowadays.<br /><br />Beyond of being "just" a Media Center for my living room, I am also going to utilize it as a file server. My home network includes two workstations and one laptop and because of the WLAN is available, I also have some visitors when friends come over with their WLAN enabled devices, like laptops or mobiles.<br /><br />I will be using Samba for file sharing between the OpenSuse workstations, laptop and mostly Windows-based visitors. Samba-server is pretty easy to setup and making connections by clients is also very easy. Mirrored hard drives (RAID1) on my HTPC slash file server will take care of the content I don't want to lose due to hard drive crash. I will also probably make a little script that makes backups from HTPC/File server to the net.<br /><br /><br />OK, so maybe in my next entry I will be actually getting to the software installation phase, which I already promised few entries back.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-44593557961372355362008-01-28T05:40:00.000-08:002009-07-28T23:47:40.571-07:00Getting the hardware to workFortunately one thing I was able to rescue from earlier, corrupted, installation is the kernel config. So I don't need to spend much time with kernel configuration. I however decided to go bleeding edge with the just released <a href="http://kernelnewbies.org/LinuxChanges">2.6.24 kernel</a>. Preserving the old configuration is pretty easy, just copy the old .config-file to the new kernel sources (/usr/src/linux) and run "make oldconfig" the command asks user to answer few questions and voilá, kernel configured.<br /><br /><span style="font-style: italic;">Installing DVB</span> drivers is also pretty easy and there are few different ways to do it. I used to install them just by using emerge, ie. "emerge mercurial && emerge v4l-dvb-hg" but currently there seems to be compilation problem. Because of the problem with emerge I had to install the drivers by hand. <a href="http://gentoo-wiki.com/HARDWARE_Hauppauge_HVR_1300">Here</a> is a short overview of the process, the guide is for different tuner card than mine, but one can see the outline of the process easily enough. After dropping the firmware file to correct location (/lib/firmware) and rebooting, udev should load the modules for the card automatically. One can verify that the tuner is working by making sure there is device called /dev/dvb/adapter0 .<br /><br /><span style="font-style: italic;">Lirc</span><span style="font-style: italic;"> </span><a style="font-style: italic;" href="http://http//gentoo-wiki.com/HOWTO_LIRC">installation</a> is also pretty straightforward, although it can also be problematic for the first timers. For emerge to work correctly a line needs to be added to /etc/make.conf, with my Silverstone (iMon) IR-receiver the line looks like this<br /><span style="font-family:courier new;">LIRC_DEVICES="lirc_imon imon_pad2keys imon imon_pad imon_rsc"</span><br /><br />After that "emerge lirc" and reboot the /dev/lirc device should be available. With serial port IR-receiver some tweaking with "setserial" command might be required. Correct lircd.conf is of course needed in /etc directory. For most remotes you don't need to look any further than <a href="http://lirc.sourceforge.net/remotes/">here</a>. I however made my own for the Harmony remote by using "irrecord" command. Testing that lirc is working command "irw" can be run, while running it should detect key presses from the remote.<br /><br />If you want to use the remote that came with the case (the one with a "mouse pad" on it) you should have look at <a href="http://brakemeier.de/electronics/vdr/lirc-imon.html">this page</a>.<br /><br />Once the lirc is working, emergin lcdprog makes the VFD available for using. Testing that it is working is easy, just "echo whatever > /dev/lcd0".<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtJVBUbOgTUvQbZsecNkcWMbk2ua4Zj_-8J8euSZ35vdg2w81nYRrRS7E5W5aqEleNFW8ocpbsjcVn9oXJtYIdyS6EqZZ1E9Oub-2Ek1BnEjgpIJrzrrwIbmY-Kui97WL-dVyu2zh4cwg/s1600-h/installed_vfd2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtJVBUbOgTUvQbZsecNkcWMbk2ua4Zj_-8J8euSZ35vdg2w81nYRrRS7E5W5aqEleNFW8ocpbsjcVn9oXJtYIdyS6EqZZ1E9Oub-2Ek1BnEjgpIJrzrrwIbmY-Kui97WL-dVyu2zh4cwg/s200/installed_vfd2.jpg" alt="" id="BLOGGER_PHOTO_ID_5160892287576759122" border="0" /></a><br />So what else is there?<br /><ul><li>Proprietary<span style="font-style: italic;"> Nvidia graphics drivers</span> can be installed by issuing "emerge x11-drivers/nvidia-drivers" command and then using "modprobe nvidia" to load the module, although I think udev also loads automatically after reboot. Remember to include the nvidia as a driver to your /etc/X11/xorg.conf if you are using X.</li><li>My integrated<span style="font-style: italic;"> sound card</span> is recognized automatically and my sound is working after "emerge alsa-utils" and setting the volume with "alsamixer", using "alsactl" one can store the volume settings as defaults.</li><li><span style="font-style: italic;">Integrated network</span> was correctly detected during install and if it is not and you can not get it to work by hand, installing Gentoo becomes pretty hard. Luckily ethernet works correctly at full gigabit speed.</li><li>Flat panel TV can sometimes be a real pain to get working correctly due to the TV itself giving wrong information about its capabilities. Example xorg.conf file for Mirai DTL-642E500 can be found <a href="http://http//lakeend.pp.fi/vdr/xorg.conf.toimiva.1080p">here</a>. I personally had some problems with finding correct settings and hopefully the linked file is useful to others.</li></ul><br /><span style="font-size:85%;"><br /><span style="font-style: italic;">Disclaimer: To get the devices to work, the kernel needs to be configured correctly. But that information is (mainly) available at </span><a style="font-style: italic;" href="http://gentoo-wiki.com/Index:HOWTO">Gentoo wiki</a><span style="font-style: italic;">, so there is no need for me to rewrite it all here. Check the Howto Index, Tips & Tricks and Hardware part of the wiki.</span></span>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-25339297287097167802008-01-28T03:19:00.000-08:002009-07-28T23:48:01.852-07:00Basic Gentoo InstallationAs I mentioned before, even the basic Gentoo installation can be a chore. But after installing Gentoo several times, I am starting to see the beauty behind it. Everything is done on command line but in a sense, I have full control of how my system is going to be. Nothing unnecessary gets installed or setup, which is great help when you´re trying to minimize the amount of software.<br />For example boot process slows considerably by adding more services,<br />so one should be aware what is actually needed and what can be left out. Also less software means less disk usage, less security issues and most importantly more performance.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://superfastcomputer.com/images/sleep.gif"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 214px; height: 214px;" src="http://superfastcomputer.com/images/sleep.gif" alt="" border="0" /></a>Installation process is pretty easy if one follows the <a href="http://www.gentoo.org/doc/en/handbook/index.xml">Gentoo Handbook</a> and does not deviate much. I decided <a href="http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID">install to RAID1 array</a> right away to steer clear of the <a href="http://mylinuxhtpcproject.blogspot.com/2008/01/starting-new-blog.html">pitfalls of doing it later</a>.<br />Installation itself was pretty uneventful, but I would not recommend it to any one without proper Linux experience.<br /><br />There are easier distros to install, or rather, almost all other distros are easier to install. One could go with Ubuntus minimal server installation and make a pretty decent HTPC. Not many however offer you so much control over your OS as Gentoo.<br /><br /><br />I decided to keep the partiotioning of the disks as simple as possible.<br /><ul><li>/dev/md0 10GB for / (root) partition</li><li>/dev/md1 290GB for /safe partition, this is used to store important data</li><li>/dev/md2 4GB for swap partition, yes I know that is pretty much, but I want to be able to Suspend my RAM to disk if need arises.</li></ul>So far I've emerged (installed) the following additional software.<br /><ul><li>syslog-ng and logrotate</li><li>vixie-cron</li><li>grub</li><li>mdadm</li><li>xfsprogs (this is needed for my 500GB DVB Recording XFS partition)</li><li>alsautils<br /></li></ul><br />And I have enabled following additional services.<br /><ul><li>sshd</li><li>syslog</li><li>eth0</li><li>mdadm</li><li>syslog-ng</li><li>vixie-cron</li><li>alsasound<br /></li></ul><br />I am planning to start the not-critical services in their own runlevel or at least after the HTPC services that are needed to make the Media Center start as fast as possible. Currently the mentioned services still reside on default-runlevel.<br /><br />Next time, installing Lirc remote control software, Mplayer video player, X the graphical server and Samba for network file sharing and maybe few others.Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-70065195887534230972008-01-27T22:08:00.000-08:002009-07-28T23:48:11.417-07:00Hardware SpecificationsLet´s start this one of with hardware specifications (everyone loves those, right?) of the HTPC. This should give some idea of what I am trying to accomplish and maybe some pointers of what I have considered to be good hardware for such project. Let´s face it, it is also the easiest place for me to start.<br /><br /><strong>Hardware specifications:<br /></strong><br /><ul><li>Processor: 2.0ghz Intel Pentium Dual-Core E2180<br /></li><li>Motherboard: Gigabyte GA-P35-DS3R (rev. 1.o)<br /></li><li>Memory: 2x 1GB Transcend 800mhz aXeRam<br /></li><li>Hard disks: 2x 320GB and 500GB Seagate Barracuda SATA drives<br /></li><li>Graphics: Nvidia Geforce 6800 GS<br /></li><li>DVB tuners: 2x Technotrend Premium C-2300 Hybrid (aka Hauppauge Nexus-CA ?)<br /></li><li>PSU: Seasonic S12II-430W<br /></li><li>Enclosure: Silverstone LC20M with IR and VFD display<br /></li><li>Cooling: Scythe Mini Ninja CPU cooler, 2x 92mm and 2x80mm silent fans<br /></li><li>Accessories: Logitech Harmony 555 remote and Ione Scorpius P20 Media Center Keyboard<br /></li></ul><br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8wHqo3VnfJMv3Di9y-i6MhQ8VvwZ36hgA1pt9zL0uGFZI48I-BjFiBpNN9P4Wb50oUlzWJXmUlss8kV67A2zRcu1moG3P07qlT7zyEhS6XY1_p_u-joqXuCIZtf_SJXIsqWPnbvO_kko/s320/silverstonelc20m_550.jpg" alt="" id="BLOGGER_PHOTO_ID_5160412638514043714" border="0" /><br /><br />Here is a little rationale about why I have chosen the hardware above.<br /><br />First of all I decided to build my HTPC setup around <i>Intel E2180 processor</i>, not just because it is dirt cheap (72€ here) but also because every E21x0 processors overclocks like nothing else! I am talking 100% overclock with stock cooler and with a little bump to core voltage. I am currently running the 2.0ghz version at 3.0 ghz and it has been rock solid for few months now. It also handles H.264 encoded FullHD video easily (albeit the software, mainly mplayer, needs to be CVS version that includes multithreading support).<br /><br />The<i> Gigabyte motherboard</i> seems to be good choice, it is very stable even with overclocked system like mine. It also has 3 older PCI slots which are useful because I have 2 PCI slot DVB tuners and I might consider adding third one. The 1.0 revision of the board also has 4 additional USB headers which are very useful because the enclosure alone needs one for the VFD and one for the USB/Audio front panel, I have also thought of adding memory card reader in the front panel, which would require one more USB header. Being Gigabyte the motherboard also features their "Ultra Durable 2" design, which <a href="http://www.gigabyte.com.tw/FileList/WebPage/mb_070427_ud2/tech_070427_ud2.htm">seems kinda cool</a>.<br /><br /><i>Transcend memory</i> was chosen because of it's overclocking potential and also because it was quite cheap at the time. I managed to get hold of a batch of memory that still included the Micron memory chips which are know for their uncanny overclocking potential. Although I really do not have so much use for the "potential" since I am running the memory near the stock settings. Overclocking the CPU was done by increasing the FSB and at the same time lowering the memory multiplier.<br /><br />With three <i>hard drives</i> and three cards in slots the case is getting a bit crowded, but I thing I will manage to add one more drive. The two 320GB drives are going to be used in RAID1 (mirroring) setup and will store the Gentoo system (root and swap) partitions and also serve as "safe" place to stores data I don't want to lose, like my pictures and music. The 500GB drive currently houses DVB recordings and will be fully dedicated for this purpose. The fourth drive that I am going to add at some point is going to be dedicated to house all<br />the multimedia content, mainly high definition video.<br /><br /><i>Nvidia Geforce 6800GS</i> is likely a bit overkill for the use in HTPC, but that is what I had available. Nvidia does not provide much of support for hardware based video decoding in Linux, which causes the need for such computing power as E2180@3ghz. For example <a href="http://en.expreview.com/?p=77">Nvidia 8400GS</a> would be ideal for HTPC because it supports hardware decoding of H.264 video and also has HDMI output.<br />Unfortunately Nvidia has decided to leave Linux users hanging.<br /><br /><i>Technotrend DVB tuners</i> are so called full feature cards, which are leftovers from my original VDR-box (Video Disk Recorder). Each card can display and record one full DVB-mux at time, so currently I am able to view and record from two different program muxes at the same time. There are some times that I would like to have capability to record from two different muxes and at the same time watch third. Fortunately there is still room for expansion.<br /><br /><i>Seasonic PSU</i> was chosen because of it's very good efficiency, low noise and good quality. First I was going to buy the 380 wattage version, but availability was a problem, so I went with the bigger one.<br /><br />Tastes differ, but the looks is always a big priority when choosing casing for a HTPC. I've always liked the looks of the Silverstone cases, in particular I liked the<i> LC20M</i> which hides optical drives and front IO ports behind doors. The case does not stand out at all amongst other entertainment electronics I have under the TV-set. Also I liked that the case comes with a built in IR-receiver and VFD.<br /><br /><i>Cooling</i> can be a problem in HTPC cases, which are built for looks and compactness, not for optimal cooling results. LC20M has mounts for 2 92mm fans in front of the HD-cage and for 3 80mm fans near the CPU cooler. Adequate cooling can be provided by using slow turning fans making minimal noise. Currently I still have the stock Intel cooler but I am going to replace it within days with a Scythe Mini Ninja cooler. Cooling fans are currently Nexus made, but once I get rid of the stock sink I'll have to review if they are silent enough.<br /><br />I'll get back onto Logitech Remote and Iolo keyboard later.<a href="http://www.gigabyte.com.tw/FileList/WebPage/mb_070427_ud2/tech_070427_ud2.htm"><br /><br /><br /></a>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0tag:blogger.com,1999:blog-3441145561029171320.post-82928184155595382902008-01-27T21:53:00.000-08:002009-07-28T23:48:25.852-07:00Starting a new blogFew nights ago I managed to corrupt my root-partition on my Linux-based HTPC machine. I was a little tired when migrating the system to RAID1 configuration, didn't make complete backups, and of course managed to hose things pretty badly. Ironically my objec<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7EofNBD3NvvjyxnDJwr_HOzQqj-H2A7pY5twJTt0mU4AA-yKkYIEfYdIF5iqsr8h1I54pymV9I6IW0znNg16LpKyL-0Aw6eeGbJDQ2kCqMiX4ZzzpA4e4hgLXuFOWDpubCPf9P94CzUk/s1600-h/gentoo.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7EofNBD3NvvjyxnDJwr_HOzQqj-H2A7pY5twJTt0mU4AA-yKkYIEfYdIF5iqsr8h1I54pymV9I6IW0znNg16LpKyL-0Aw6eeGbJDQ2kCqMiX4ZzzpA4e4hgLXuFOWDpubCPf9P94CzUk/s200/gentoo.png" alt="" id="BLOGGER_PHOTO_ID_5161357896391383954" border="0" /></a>tive was to make my system more durable by mirroring the system disk to second hard drive. Long story short, reiser filesystem in my / (root) partition is corrupted and no amount of reiserfsck-magic can make it whole again. So now I need to re-install the whole Gentoo based operating system.<br /><br />At least that serves as a good learning experience, I am going to be more diligent about making backups from now on. This blog serves as a method to "back up" information about my installation process, so I have someplace to refer to when I am installing new HTPC system and can not exactly remember what needs to be done. Gentoo installation itself can be quite complicated process (at least when compared to easy-to-use modern distros like OpenSuse and Ubuntu) and making it fully HTPC cabable is not easy either.<br /><br />And who knows, maybe this blog can help someone facing same problems.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://crysol.inf-cr.uclm.es/files/arte/lda/gentoo.png"><br /></a>Petri Järvenpäähttp://www.blogger.com/profile/08352627768306524186noreply@blogger.com0