{"id":1147,"date":"2003-12-29T11:07:15","date_gmt":"2003-12-29T21:07:15","guid":{"rendered":"https:\/\/risacher.org\/jfdi\/?p=1147"},"modified":"2013-11-11T20:56:15","modified_gmt":"2013-11-12T01:56:15","slug":"20031229-1-3","status":"publish","type":"post","link":"https:\/\/risacher.org\/jfdi\/2003\/12\/20031229-1-3\/","title":{"rendered":"migrating to Linux 2.6"},"content":{"rendered":"<p>Yesterday I migrated to the Linux kernel 2.6.0.  I wanted to relate some of the hiccups that I faced in doing so.<\/p>\n<p>I was motivated initially by the fact that my audio drivers skip regularly.  I have a cheap C-Media soundcard, and the OSS drivers for it apparently suck.  Moreover, I suddenly found that I had a use for the fact that the card has a rear-output jack. I built a <a href=\"http:\/\/www.hobbytron.net\/R-FM-10-A.html\"> small FM radio transmitter<\/a> recently, and I&#8217;d like to be able to adjust the output (and output volume) for the transmitter separately from the regular speakers.  Fortunately, the <a href=\"http:\/\/opensrc.org\/alsa\/index.php?page=cmipci\"> ALSA driver for this card <\/a> doesn&#8217;t skip, and can handle the rear output somewhat. Unfortunately, at this time, it doesn&#8217;t do everything I want; I can play seperate audio on the rear output, with no volume control, or I can play the same audio on both front and rear with the volume the same, but I can&#8217;t play the same signal on both channels with independent volume.<\/p>\n<p>So, I could have switched to ALSA without swtiching to 2.6.0, but the fact that ALSA is a stock feature of 2.6 was a motivating factor to switch, and get all the scheduler and IO improvements also.<\/p>\n<p>Here were the issues I faced with the migration to Linux 2.6.0:<\/p>\n<p><UL><\/p>\n<p><LI><a href=\"http:\/\/www.tux.org\/~ricdude\/EsounD.html\">ESD<\/a> and <a href=\"http:\/\/www.alsa-project.org\/\">ALSA<\/a><\/p>\n<p>I&#8217;d used ALSA before, but I always found it to be a pain in the butt, partly because it&#8217;s more complicated than OSS, but largely because it&#8217;s a pain to have to update external drivers everytime I update the kernel, and ALSA drivers have historically tracked the kernel closely; requiring new downloads for each kernel.  Now that ALSA is included in the kernel, this is a non-issue.<\/p>\n<p>But I still wanted <a href=\"http:\/\/www.xmms.org\/\">XMMS<\/a> to work, including the volume control.  It was easy enough with Debian to install the ALSA version of ESD, but the volume control still didn&#8217;t work.  After some gnashing of teeth, I determined that loading the <tt>snd_mixer_oss<\/tt> kernel module did the trick.<\/p>\n<p>As noted above, I&#8217;ve done some wrestling with ALSA mixers and the CMIPCI driver already.  It does some of what I want, but not eveything.  Sigh.  I can accept it, or fix it.  <\/p>\n<p><LI><a href=\"http:\/\/hostap.epitest.fi\/\">HostAP<\/a> drivers<\/p>\n<p>I needed to get fresh HostAP drivers which is one of the few things that I needed that isn&#8217;t included in the kernel by default.  This turned out to be almost painless.  Historically HostAP hasn&#8217;t needed to be updated; when I went through the 2.4 series kernel, I just needed to recompile HostAP, but the code was the same.  Well, the 2.4 HostAP code doesn&#8217;t work with kernel 2.6, but it was still pretty painless to go get it.<\/p>\n<p><LI>Devfs is now deprecated?!<\/p>\n<p>I just got done switching to devfs within the last month.  Now I find that it&#8217;s <a href=\"http:\/\/kerneltrap.org\/node\/view\/1893\"> deprecated in favor of udev<\/a>.  I spent the greater part of Saturday wringing my hands, reading about udev, and muttering under my breath. Apparently there aren&#8217;t released Debian packages for udev at this time.  Eventually, I just sighed and enabled devfs, which is working for me.<\/p>\n<p>I might have considered udev harder if I wasn&#8217;t using LVM for everything but my boot partition, and I switched to devfs and LVM at the same time, so I don&#8217;t know how to set up the device files for LVM.<\/p>\n<p>Someday I&#8217;ll switch to udev.  Not today.<\/p>\n<p><LI>LVM version<\/p>\n<p>I needed to have LVM2 installed (as opposed to LVM1).  I didn&#8217;t discover this until too late.  Wasn&#8217;t too hard to fix; just rebooted back to 2.4.23, and installed via apt-get.  I wasn&#8217;t too sure about LVM2 and LVM1 coexisting, but it&#8217;s no problem.<\/p>\n<p><LI>Trouble with framebuffer devices<\/p>\n<p>This wasn&#8217;t a linux 2.6 problem probably.  I hadn&#8217;t ever used framebuffer devices in 2.4 (or 2.3 or 2.2) on this machine either.  I have used framebuffer devices on other machines (my wife&#8217;s laptop, of late), and liked it.  So I thought I&#8217;d use framebuffer for the console.  However I configured it, this didn&#8217;t work &#8211; nothing was displayed when lilo finished loading the kernel.  Maybe it was loading and I couldn&#8217;t see anything, or maybe it locked up.  I don&#8217;t know.  Don&#8217;t care that much, either.  I don&#8217;t really need Framebuffer devices, since I mainly use X. <\/p>\n<p><\/UL><\/p>\n<p>Bottom line, it wasn&#8217;t very painful to switch.  It does seem snappier.   I read this comment in many other people&#8217;s migration stories, and I thought it was silly; are you really going to tell the difference on a dual 1.1 GHz system?  <\/p>\n<p>Well, as it turns out, yes.  It&#8217;s noticable.  (Or maybe that&#8217;s just placebo effect.  I dunno; maybe I like my placebo.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday I migrated to the Linux kernel 2.6.0. I wanted to relate some of the hiccups that I faced in doing so. I was motivated initially by the fact that my audio drivers skip regularly. I have a cheap C-Media soundcard, and the OSS drivers for it apparently suck. Moreover, I suddenly found that I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-1147","post","type-post","status-publish","format-standard","hentry","category-ancient"],"_links":{"self":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts\/1147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/comments?post=1147"}],"version-history":[{"count":1,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts\/1147\/revisions"}],"predecessor-version":[{"id":1152,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts\/1147\/revisions\/1152"}],"wp:attachment":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/media?parent=1147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/categories?post=1147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/tags?post=1147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}