User talk:Engelsman

From Lunar Linux
(Difference between revisions)
Jump to: navigation, search
(Extending ALSA sound with OSS, firefox plugins, DistroWatch and LinuxFromScratch)
m (1.6.5 Installation Times)
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<p>'''A little background:'''
+
__TOC__
I started using Unix V7 on a PDP-11/70 back in 1983, even modifying some existing kernel drivers for the [http://en.wikipedia.org/wiki/Cambridge_Ring Cambridge Ring] local area network. After that I dabbled in system administration of various Sun and Apollo systems until 1991, and HP boxes up until 2000, but my main task has always been application software development, nothing on the hardware or kernel side. Since 2000 we've had dedicated system administrators at work. We had switched from NCD X-terminals over to Linux desktops (first RedHat, but then Lunar) and I realized that what little I knew had become well out of date. I installed RedHat on an old 90MHz PC at home more than five years ago, but without a LAN or modem connection it was too difficult to keep up to date, I lost interest, and that died. Since then I've had an itch to develop a spiffy [http://www.fltk.org FLTK] user interace for some old command line tools using Cygwin/Mingw on a WinXP laptop (with modem) but the machine is (a) painfully slow, and (b) painfully Windows. The time had come to get some new hardware, install an operating system that doesn't thwart you at every turn, and set up a programming environment of my own choice.
+
</p>
+
  
<p>'''Why Lunar?''' Well, my desktop at work is running Lunar - and it has been very stable - and so I could always ask the sysadmin if I got really stuck. Sofar I've been trying to work it out for myself.
+
<p>I have moved the original contents of this page elsewhere, reformatting and updating on the way.
 +
However, I have provided so many references to this page in the
 +
[http://forums.lunar-linux.org Lunar Forums] that I can't remove it completely, and so I leave a skeleton to show the way, just like Billy Bones in Treasure Island.
 
</p>
 
</p>
  
<p>'''Basic Installation for Newbies:''' well, believe it or not, the [http://wiki.lunar-linux.org/index.php/Lunar_Linux:Installation Installation] guide is actually pretty good! However, while waiting for the connection to the ISP to be set up, I downloded the Lunar ISO at work and burned it onto CD. I installed Lunar 1.5.0, 1.5.1rc1 and 1.5.1, each one a bit better than the last, and the guide made more sense to me every time. So, if you are new to Lunar, just give it a try, make the mistakes, reformat the partitions and try again! There are a couple of points that might help other people:
+
<p>Please follow the appropriate link to the updated page.
* I used the partitions mentioned in the guide, albeit bigger, which are really intended for server systems, whereas desktop systems could use a simpler system as described in the [http://wiki.lunar-linux.org/index.php/Lunar_Linux:FAQ#So_how_should_I_partition_my_disk.3F FAQ]. Make a note of the partitions and sizes so that you can enter the info quickly when you re-install.
+
* Unless you are really sure that you want to override the default values, don't. Play with the simplest system you can to start with - you can always configure something extra later.
+
* The 'Install a pre-compiled kernel' step happens so quickly, and without any real feedback, that I didn't believe that it had actually done anything. I then made the mistake of compiling the kernel(s) again myself, and it's completely unnecessary and wastes time.
+
* Install the 'normal' and 'safe' pre-compiled kernels - they are packed with more basic drivers than most people will need, so you have a good chance of getting a basic system up and running.
+
* Accept the default, and let the installation set up Lilo for you.
+
* Set up the simplest networking that you can. Luckily I had already been able to set up the ISP to ethernet router, and the ethernet to wifi router, by using the web browser on the WinXP laptop. YMMV, but the driver for the standard wired network card (3Com) was already included in the pre-compiled kernels  and worked as soon as I rebooted, but the additional wifi network card (Atheros-based) took me a lot more work, but more on that later.
+
* Set a root password! You are just about to go live on the Internet and you have no idea what is and isn't set up yet!
+
* Reboot, and good luck.
+
 
</p>
 
</p>
  
<p>'''lfirsttime for Newbies:''' if everything has gone according to plan and your system has rebooted successfully, when you login as root you will be advised to run 'man  lfirsttime' for more information. This manual page describes the next steps you will need to help turn your newly hatched system into a fully feathered juvenile. Again, 'man lfirsttime' is fairly good, but there are a couple of extra points that might help other people:
+
==A Newbie's experience installing, and upgrading, Lunar Linux 1.5.1==
* If you haven't already got your networking up and running, you can still poke around on the file system and see where the basic things live, but there won't be much else you can do. Run 'lnet' again. If still no joy, then I'm afraid I'm not knowledgable enough to help you. Try asking on the [http://forums.lunar-linux.org/ Installing Lunar] forum.
+
<p>I started using Unix V7 on a PDP-11/70 back in 1983, even modifying some existing kernel drivers for the [http://en.wikipedia.org/wiki/Cambridge_Ring Cambridge Ring] local area network. After that I dabbled in system administration of various Sun and Apollo systems until 1991, and HP boxes up until 2000, but my main task has always been application software development, nothing on the hardware or kernel side. Since 2000 we've had dedicated system administrators at work. We had switched from NCD X-terminals over to Linux desktops (first RedHat, but then Lunar) and I realized that what little I knew had become well out of date. I installed RedHat on an old 90MHz PC at home more than five years ago, but without a LAN or modem connection it was too difficult to keep up to date, I lost interest, and that died. Since then I've had an itch to develop a spiffy [http://www.fltk.org FLTK] user interace for some old command line tools using Cygwin/Mingw on a WinXP laptop (with modem) but the machine is (a) painfully slow, and (b) painfully Windows. The time had come to get some new hardware, install an operating system that doesn't thwart you at every turn, and set up a programming environment of my own choice.
* Check out the manual pages for 'lin', 'lvu', 'lrm' and 'lunar'
+
[[User Reports:Engelsman|Read more]]...
* Check out the manual pages for 'lin', 'lvu', 'lrm' and 'lunar' again. This is not a typo!
+
* If you are like me, you will still not have picked up on the '-r' or '--reconfigure' options to 'lin' and it turns out that this is a bit of a crucial option. If you are like me, you will be cautious, and will run 'lin --deps' on every module to see what else needs to be built. This will ask about installing optional modules, and even though this is just a 'dummy run' this configuration information is saved away and you won't be asked again when you come to do the real installation. Unless you use 'lin -r' that is...
+
* Again, unless you are really sure you want to override the default configuration settings, don't! Get the system working first, and then add in the bells and whistles. I was bitten by selecting the optional 'lunaric-sound' module, but for some unknown reason I was temporarily blocked from downloading it, but as I hadn't remembered about 'lin -r' I was stuck for quite a while.
+
* Once you've reached the bottom of 'man lfirsttime', you should have updated the moonbase, downloaded the basic tools, and run 'lunar update'. You will have updated quite a few files.
+
* You should have updated 'wget' as this is used to download modules. Unfortunately, it doesn't really know how to download module sources from CVS repositories, and if the module doesn't have CVS as one of its dependencies, the download will fail. (I had problems with the 'madwifi-cvs' module for this very reason). Run 'lin cvs' now, and save yourself potential grief later.
+
 
</p>
 
</p>
  
<p>'''Get into good habits now:''' as noted above, every time you install a new module you are adding new commands and dozens, if not hundreds, of files to your system. Therefore, until the point where you set up 'cron' to do it for you, you will also need to:
+
==Installing Lunar Linux 1.6.0 (coming soon, maybe)==
* Run 'updatedb' so that you can use 'locate' to find configuration files easily.
+
<p>In April 2006, the
* Run 'makewhatis' so that you can run 'apropos' or 'man -k' to find the commands that you want
+
[http://www.lunar-linux.org/index.php?option=com_content&task=view&id=39&Itemid=2 Lunar-1.6.0-i686 ISO] was released,
 +
but I don't have enough spare time to look at installing it. Not just yet anyway.
 
</p>
 
</p>
  
<p>'''Setting up X:''' I've been using window-based user interfaces since the [http://www.chilton-computing.org.uk/acd/sus/perq_pr/p006.htm ICL Perq] in 1983 and it was obvious that the next stage meant setting up a windowing system so that I could (a) make use of more than just the basic 80x25 console terminal, and (b) have access to manual pages, etc. while building or configuring additional modules. Therefore use 'lin' to install 'XOrg', 'XOrg-basic-fonts' and 'XOrg-extra-fonts'. Note that not all documentation available at http://xorg.freedesktop.org is available in these downloads.
+
==Installing Lunar Linux 1.6.4 (Lacus Autumni)==
* However, to make life easier when using the Lunar tools, you might also want to edit your .Xdefaults file or the global /etc/X11/app-defaults/XTerm to set:
+
<p>Lunar Linux 1.6.4 (Lacus Autumni) was [http://foo-projects.org/pipermail/lunar/2008-December/008144.html announced] in December 2008, and installation and update was initially pretty smooth and uneventful. But as 2009 rolled on, and new versions of certain key modules were rolled out and were out of step with each other, upgrading from the 1.6.4 ISO became difficult. Here's the [http://foo-projects.org/pipermail/lunar-dev/2009-September/006906.html Update Workaround HOWTO] that I put together in September. This is no longer required! Soon after this, other key module releases brought harmony again, and these instructions became obsolete.</p>
** XTerm*loginShell: true (to allow tab-completion of command and module names)
+
<p>In February 2010, with the 2.6.32.8 kernel, updating udev from 141 to 151 caught me out. I don't remember the exact wording, but udev-151 requires that SYSFS_DEPRECATED is disabled in the kernel configuration. Finding SYSFS_DEPRECATED_V2 in the kernel didn't take long, but it took a lot longer to track down that GFS_FS also needed to be disabled...</p>
** XTerm*reverseVideo: true (to allow the Lunar tools menus to be more readable)
+
<p>Also in February 2010, installed 1.6.4 on a new Acer-AX5810 box with NVIDIA GeForce G210 card. This obviously requires the some kernel settings, and to install the NVIDIA module. All well and good, but after every kernel update and reboot you need to '''lrm NVIDIA''', and then '''lin -rc NVIDIA''' again otherwise it won't install properly. This has bitten me several times after a '''lunar update'''...</p>
** XTerm*scrollBar: true
+
* Reboot
+
* Login and run 'startx'. This should bring up a basic window manager 'twm' that will at least allow you to do things in parallel.
+
</p>
+
  
<p>'''xfce and firefox:''' at this point I wanted something a bit more up to date. Why 'xfce'? Well, we have 'kde' on the boxes at work, mainly so that the non-computer people at least have a chance of finding a command to do what they want somewhere in the menu hierarchy. But I wanted something a bit more minimalist. After all, I have complete control of what I'm installing on this box, and part of the reason for doing it is to learn more about the tools in the process.   The other thing that was becoming more important, was access to the various READMEs, HOWTOs and project home pages so that I could learn what I needed next. I had been using the browser on the WinXP laptop, but wasn't exactly convenient, and it wasn't possible to cut and paste between machines. Hence 'firefox'. As far as I remember, a simple 'lin xfce' and 'lin firefox' installed everything without any problem at all, and I'm now using 'firefox' to edit this page. In order to read the tech specs of my wifi card I also downloaded the Adobe Acrobat reader. It installed OK, but in an out-of-the-$PATH directory. I still haven't configured 'firefox' so that it automatically uses 'acroread' when I open a PDF link, so at the moment I have to save the link to disk and then call 'acroread' manually. But not a big deal for now.
+
==Installing Lunar Linux 1.6.5 (Mare Ingenii)==
</p>
+
After corruption of the superblock on my /boot partition on an HP Pavilion t3190(?), I decided to installed the 1.6.5-beta1 ISO. The initial installation and update went without problem. XOrg7 appeared to install OK, but when I ran 'startx' the console went blank. Searching the web, and asking on #lunar revealed that I needed the i915 driver for my Intel graphics card, with an entry in /etc/modules for 'i915 modeset=1'. Close, but no cigar! That's when my troubles started, with the console going into powersave mode on reboot. After much trial and error, I discovered that the kernel requires:
  
<p>'''Newbie's guide to installing the 2.6 kernel:''' the boot sequence of the pre-compiled 2.4.31-normal kernel had already identified my wifi card as using the Atheros chipset, and this was confirmed by running 'lspci', but obviously, try as I might, I couldn't get 'lnet' to do anything with it. After searching Google and asking in the [http://forums.lunar-linux.org/ Lunar forum] it was clear that I would need to install the 'madwifi-cvs' module, but before I could do that I would need to install the 2.6 kernel. There is an [http://wiki.lunar-linux.org/index.php/Installation:Kernel_2.6._HowTo Installing 2.6 HOWTO] but this skimmed over the important part as far as I was concerned. After a bit more time on Google I came across a reasonable 2.4 kernel tutorial on the [http://www.linuxchix.org LinuxChix] web site - but of course I can't find the exact link now - and also the draft of the update of the Linux-Kernel-HOWTO which is now called the [http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html Kernel Rebuild Guide]. This guide tells you that you will need certain modules already installed in order to build a 2.6 kernel. Most of these were already installed, and more recent than the version required. However there were a few which were missing, and they have quite a few dependencies on other modules that you therefore have to install as well. I had errors when I tried to install them:
+
  CONFIG_DRM_I915=m
* module-init-tools failed to install the modprobe.conf(5) manual page that I would need later.
+
  CONFIG_DRM_I915_KMS=y
* docbook* modules wouldn't install when I used the obvious leaf-first reported dependency order, but in fact, if you install 'docbook-profile' first then everything is supposed to work properly. I don't know how someone new to 'docbook' is supposed to guess this though.
+
  CONFIG_FRAMEBUFFER_CONSOLE=m
* isdn4k-utils failed to install properly because of a missing dependency on 'linuxdoc-tools' and then a problem with a Makefile.am.
+
* pcmcia-cs may have failed to install everything, but I don't remember now.
+
</p>
+
  
<p>I spent a while trying to work out what the problems actually were, but in the end I couldn't resolve all of them. Therefore I decided to proceed with the 2.6 kernel build anyway to see how far I would get. YMMV, but the installation errors above didn't stop me from building the 2.6 kernel, although it took me some trial and error before I finally got there:
+
The first would imply having i915 in /etc/modules, but in fact it is trumped by the second, and you don't need the i915 module at all. But the KMS line also enables ACPI in the kernel, which causes the console blanking. To solve that problem, you do need to have fbcon in /etc/modules. Or to disable the powersave mode settings while you configure all of this, you need a lilo.conf entry such as the following
* a lot of the documentation talks about 'oldconfig', 'menuconfig' and 'xconfig' as though they are separate modules that you need to install before you can configure your new kernel. It took me a while to realize that they are 'make' targets and are handled within the kernel build process. Doh!
+
* 'lin linux-2.6' downloaded the sources and then called 'make oldconfig' during the build process. This is a clever script that extracts details of your current kernel configuration. Unfortunately there are one or two places where it needs user input, but the automated build process couldn't get that user input and started to loop. I had to interrupt it.
+
* luckily the 2.6 kernel sources had been unpacked in /usr/src/linux-2.6.12.4 - YMMV - so I attempted to run 'make oldconfig' manually. I obviously answered something incorrectly, because after running the full make, and then the following:
+
** cp arch/i386/boot/bzImage  /boot/2.6.12.4-mine
+
** cp .config /boot/config-2.6.12.4-mine
+
** cp System.map /boot/System.map-2.6.12.4-mine
+
** adding the 2.6.12.4-mine entry to /etc/lilo.conf
+
** /sbin/lilo -V
+
** shutdown -r now
+
</p>
+
  
<p>The new kernel failed to boot at all, never mind start and then crash. So, what to do now? Eventually, after much experimentation, I extracted the current kernel configuration from /boot/config-2.4.31-normal.gz and ran 'lin -r linux-2.6' but this time saying that I did want to reconfigure the kernel, and that I wanted to use 'menuconfig'. The build process started and up came the 'menuconfig' screen. I selected the 'Load alternative configuration' option at the bottom of the first menu, and loaded the existing 2.4 configuration. The first time I did this I got some errors about missing options, but after saving the new configuration file and repeating a couple of times it all worked. I was able to reboot with the 2.6 kernel!
+
  image = /boot/2.6.32.9-i686
</p>
+
    label = 2.6.32.9-acpi
 +
    append="acpi=off"
  
<p>'''Getting the wifi card up and running:''' finally I had reached the point where I could start to look at intalling the drivers for the wifi card. The 'hostap' module installed smoothly. Downloading the 'madwifi-cvs' module failed repeatedly until I realized that I needed to download CVS first in order extract the sources from the remote repository. Then, as far as I remember, it installed relatively smoothly, except that I was rather confused by the [http://madwifi.sourceforge.net/dokuwiki/doku.php?id=building Building Madwifi FAQ] until I realized that it was a bit out of date and related to an older experimental kernel configuration and could safely ignore it. The next phase was re-building the 2.6 kernel again, and this time working through the menus: Device Drivers, Networking Support, Wireless LAN, and then enabling it and all of the ISA/PCI 802.11 modules below it. After a rebuild and a reboot I was able to use 'modprobe' to load the 'ath_pci', 'wlan' and 'wlan_wep' modules. Almost there, I thought, but I was wrong!
+
At a certain point, there was an update to the linux-2.6 module that took it from 2.6.33.4 to 2.6.34.1, which I duly installed on my new test box, only to find that I couldn't reboot. The previous kernels had identified the disk as /dev/sda, but the new kernel decided it was /dev/sdb instead. This could be overcome by adding 'root=/dev/sdb3' on the lilo boot line, but then gave problems with /etc/fstab. To cut a long story short, I rebooted to the old kernel and changed /dev/fstab to use UUID instead. To find/create the UUIDs:
</p>
+
  
<p>After hearing the statistic that a vanilla Windows PC could have its ports scanned and be broken into within 17 minutes of being attached to the Internet, I had already set up the ethernet to wifi router to use strong encryption with a WPA passphrase, and I knew that it was working because the WinXP laptop was already using its wifi pcmcia card without problem. For the Linux box I had been intending to use [http://hostap.epitest.fi/wpa_supplicant/ hostap/wpa_supplicant] but this simply proved to be beyond me. Again there was mention of building within the kernel source tree, and this didn't appear necessary, nor did the '-Dmadwifi' switch. In the end what stopped me was the fact that all of the other tools I had dealt with so far such as 'lnet' and 'iwconfig' described the use of an 's:' prefix when specifying an ascii encryption key, and this was not mentioned anywhere for the wpa_supplicant configuration. After an evening of frustration, and a throwaway comment by a colleague about using WEP encryption, I decided to go back to first principles. I removed all encryption from the wifi router configuration. Shortly after verifying that it was working using the WinXP laptop, I had got it working under Lunar:
+
  tune2fs -l /dev/sda1
* modprobe ath_pci
+
  swapoff -a         # I'm lazy
* modprobe wlan
+
  mkswap /dev/sda2    # mkswap creates with UUID by default
* modprobe wlan_wep
+
   swapon -a
* ifconfig ath0 up
+
  tune2fs -l /dev/sda3
* iwlist ath0 scan
+
* iwconfig ath0 ap xx:xx:xx:xx:xx   [MAC address of wifi router]
+
* iwconfig ath0 otherParameters
+
<br>
+
It was interesting to see that the scan showed not only my network, but also those of my neighbours, and not all of them were protected! As far as I could see, once I had configured the access point using the MAC address of the wifi router, I could repeat the rest of the configuration parameters using 'lnet'. The first time through I gave the interface a fixed IP address on my private class C network, and I could verify the connection using the wired network connection and browsing the wifi router's web interface. I could also see that reconfiguring with 'lnet' to use a dynamic IP address and 'dhcpcd' also worked.
+
</p>
+
  
<p>
+
I even updated /etc/lilo.conf to add an 'append="root=/dev/sdb3"' for the 2.6.34.1 entry, and I could reboot, *and* mount the file systems.
OK, so back to reconfiguring the wifi router to use encryption. This time I chose WEP rather than the more secure WPA so that I could concentrate on one thing at a time and not have to configure 'wpa_supplicant' as well. Again I verified that it was all working using the WinXP laptop, and then ran 'lnet' to delete and then reconfigure the ath0 interface. The wifi router web interface showed the new connection. From there it only needed a couple of extra steps:
+
* route add bbc.co.uk gw ath0  [and watch the led on the wifi router flicker]
+
* route add default gw ath0
+
* unplug the wired interface...
+
</p>
+
  
<p>But this was not quite the end of the story. When I rebooted the system, the wifi interface was gone, and I had to run the modprobe steps and reconfigure ath0 by hand before I could continue. The installation of 'module-init-tools' had failed to install the 'modprobe.conf(5)' manual page, so I was a bit in the dark about what needed to go in there. The header comment for /etc/modules implied that all I needed to do was to add a single line containing 'ath_pci' so I took a gamble and it has paid off.
+
Soon after this the 1.6.5-rc1 ISO was released, and as this was a test box anyway, with nothing really installed on it except for gnome test system that was inconsistent and didn't work, I wiped the system and re-installed from scratch.
</p>
+
  
<p>'''Installing the sound card:''' Apart from the aborted attempt to install 'lunaric-sound', I hadn't given the sound card much thought at all. I'm not someone who appreciates the machine beeping, or playing chords and fanfares just because I succeeded in logging in or failed to type a sentence without a speeling mistake. I hit Google again, and came up with the [http://www.tldp.org/HOWTO/Sound-HOWTO/ Linux Sound HOWTO] but this was already four years old. I ran 'lvu search' looking for both 'sound' and 'audio' and hit Google again. I came across the [http://www.djcj.org/LAU/guide/index.php Linux Audio Users Guide] and this mentioned the [http://www.alsa-project.org/ Advanced Linux Sound Architecture]. The fact that it had the word 'advanced' in the title and the copyright was 2005 hinted that this was probably the way to go. I entered the results of 'lspci' into the search menu on the page, and it came up with what I needed on how to install and configure the card if I were running one of the other Linux distributions. No matter, I simple used 'lin' to download and install all of the 'alsa' related modules. Everything went fine,  but I couldn't get any sound out of card at all. I downloaded 'lunaric-sound' and 'audiofile' while looking for inspiration. Eventually it struck me that I needed to rebuild the kernel. Doh! Back in 'make menuconfig' again, and this time, once I had selected the appropriate options under the Device Drivers, Sound, Advanced Linux Sound Architecture, PCI Drivers menu we were in business.
+
===1.6.5 Installation Times===
After rebooting, the crucial thing to know is that the sound card is muted by default, so you will need to run 'alsaconf' to detect it and write an entry in the mysterious /etc/modprobe.conf file. You will also need to run 'alsactl store' to create the /etc/asound.state file.
+
</p>
+
  
<p>'''xfce4 and the 7-button mouse:''' strictly speaking, it's the other way round. I have a Logitech MX310 7-button mouse and I wasn't getting any joy out of the scroll wheel in the default configuration. It took me a while in Google to find an [http://linux.derkeiler.com/Mailing-Lists/Debian/2003-11/3660.html article] that gave me the bones of what I wanted. So I added this single InputDevice section to an otherwise empty /etc/X11/xorg.conf file, and restarted X. No joy! X needs a complete file, not just the one section. So, how to fill in all of the other parts. Apart from the mouse buttons, X was working satisfactorily with the rest of my hardware, so the default values it was choosing must be OK. The question was how to get at these defaults. Initially I tried to use 'Xorg -configure' but when I re-ran X using the new configuration file, I got an 'Out of range' message on display and then the screen went black. Ctrl-Alt-Backspace to get back to the console, and this time I dug out the hardware manuals and fed the appropriate values into 'xorgconfig'. I had to re-run to set up the desired screen resolution, because the existing xfce panel was partly off the screen. Finally I added the InputDevice section for the mouse, and the scroll wheel was recognised, but not as the correct button(s). Doing the appropriate xmodmap by hand worked, but unfortunately the configuration I'd added to /etc/X11/xinit/.Xmodmap wasn't recognised.
+
Just out of curiosity, and for information to others, I decided to time how long it took to install a "minimal" desktop system from scratch
</p>
+
on a relatively new system and a 9-year-old relic. I have two 5-year-old boxes I might add in the future.
  
<p>While looking at [http://www.xfce.org Xfce4 documentation] to find out how to change the mouse settings, it became clear that I was running an old version. So I've just downloaded and installed all of the xfce4 modules. I still haven't found where to set the mouse button mappings, but I'm still exploring...
+
It's clear that you probably don't want to install Lunar on really old hardware, unless you have a lot of patience, or can use <code>distcc</code>.
</p>
+
  
<blockquote>In fact, in the two months since I wrote the previous section, I still haven't managed to get the correct incantation to be able to get the mouse buttons mapped correctly at the system level. In the process I've updated various of the X startup files, but don't ask me which ones, and in the end I had to create a .Xmodmap file in my $HOME directory. As I'm the only user it's not such a hardship, but I feel cheated that I couldn't do it properly.
 
</blockquote>
 
  
<p>'''The first 'lunar update' and fallout:''' an article on the Lunar mailing list prompted me to consider updating all of the software on my machine. Why now? Well, the system was still relatively bare, so I had nothing to lose, and I would have to do it sometime anyway. But where to start? For want of any other strategy I went back to 'man lfirsttime' to follow the instructions there. Moonbase? Lunar? No problem. Then the core of the compiler toolset. No problem? Well, they compiled without error, but then I noticed that man/groff didn't work. Mismatched library. OK, it was after midnight, so I decided to go the whole hog and let 'lunar update' sort out the mismatch. The next morning I found that ncurses had failed to build/install, as had oprofile, and Python (twice). But what was worse was that when I rebooted, I found that I had lost my wifi connection!
+
{| border="1"
</p>
+
! System
 +
! CPUs*bogomips [1]
 +
! RAM
 +
! Disk [2]
 +
! Install
 +
! lin gcc...
 +
! lin linux-2.6
 +
! lunar update
 +
! lin XOrg7
 +
! lin xfce4
 +
! TOTAL
 +
|- align="center"
 +
| Acer AX5810
 +
| 4 * 4988
 +
| 6 Gb
 +
| 1681 / 129 MB/s
 +
| 0h11
 +
| 1h01
 +
| 0h12
 +
| 0h20
 +
| 0h23
 +
| 0h14
 +
! 2h21
 +
|- align="center"
 +
| Vaio FX401
 +
| 1 * 1600
 +
| 512Mb
 +
| 179 / 17 MB/s
 +
| 0h18
 +
| 11h26
 +
| 3h37
 +
| 2h44
 +
| 3h12
 +
| 2h15
 +
! 23h32
 +
|}
  
<p>The following evening I examined the system. Running 'dmesg' showed that various drivers hadn't loaded due to a 'version error' - the drivers had been built with gcc version a.b.c but the kernel was expecting version 'i.j.k'. Don't ask me the exact message because I didn't note it down. This suggested a kernel rebuild, and as the version of the 2.6 kernel in the moonbase was newer than the running kernel, I hit 'lin linux-2.6' and let it run. Remembered to 'lin kernel-includes-2.6' as seen on the mailing list. Reconfigured again based on the last working kernel config in /boot, but still no joy. But at least I had got rid of the 'version error' messages. Turned to the Wizards on #lunar. As soon as I told Moe that I had a wifi card based on the Atheros chipset, he told me to rebuild the madwifi module. Another reboot, and the network was back.
+
# <code>grep bogomips /proc/cpuinfo</code>
</p>
+
# <code>hdparm -t -T /dev/sdX</code>
  
<p>The next problem was that I couldn't start X in any shape or form. The famous 7-button mouse was not recognised. I rebuilt XOrg and xfce4 from scratch, removed the xorg.conf and the .Xmodmap, but still no joy. Moe on #lunar to the rescue again and we diagnosed no /dev/input/mouse0 as the cause. Why? Mismatch between the new 2.6 kernel and devfs. Discussions between Moe, Florin and Nestu on #lunar about how to proceed, but Moe won in the end. Downloaded e2fsprogs, removed devfsd and downloaded udev. A reboot and we were back in business, on the network, and a more useful environment to work in than a 80x25 console window.
 
</p>
 
  
<blockquote>Moe argued with Nestu that the average user would not be able to work this out alone. I needed help, but that help will also guide me to being an above-average user on the path to being a Wizard. And that's my goal, even if at the moment I feel like Mickey Mouse as the Sorceror's Apprentice carrying all of those buckets of water. Or rather, one of his brooms. <insert big smiley here!>
+
The basic procedure:
</blockquote>
+
* install from the ISO, and take the pre-compiled kernel, and reboot
 +
* run <code>lin moonbase</code>
 +
* run <code>lunar</code> and set number of parallel makes to 4 in ''Options / Optimize Architecture''
 +
* do the <code>lin gcc glibc gcc bash coreutils tar wget</code> dance from <code>man lfirsttime</code>
 +
* use <code>lin linux-2.6</code> to explicitly build a new kernel, and reboot
 +
* run <code>lunar update</code> to rebuild any outdated parts of the core system
 +
* run <code>lin XOrg7</code> to build X
 +
* run <code>lin xfce4</code> to build Xfce4
  
<p>On the mailing list, Sofar recommended using 'lunar nofix' and fixing any reported problems before running a full update. Rebuilt ncurses without problem (there's always a glitch in the first attempt apparently), and Python rebuilt once I'd corrected a broken URL in the moonbase. oprofile is a 2.4 application and refused to build under a 2.6 kernel, but as I had no recollection of installing it in the first place, and 'lvu eert oprofile' didn't reveal any dependencies, 'lrm oprofile' sent it to the bit-bucket.
+
After the first reboot I primed the system by copying sources from /var/spool/lunar on another up-to-date machine to avoid download delays and glitches.
</p>
+
  
<p>So, into the home straight now to correct the remaining problems shown in the 'dmesg' log. Before I knew that I had lost the mouse, Florin on #lunar had recommended to configure the ALSA driver in the kernel rather than install 'alsa-driver' permanently. Hence I had run 'lrm alsa-driver' before the kernel rebuild. After the reboot I could not get a peep out of the sound card. /etc/modules.conf still included 'snd-atiixp' from the previous working configuration. Florin to the rescue again: I'd removed the driver from the kernel, but hadn't loaded the replacement module. Modprobe snd-atiixp and we were back in business. And by adding it to /etc/modprobe.conf (confusingly similar name, don't you think?) it's now loaded at boot time. I can now play music CDs using alsaplayer, and even see the tracklisting after downloading libcddb and rebuilding. Unfortunately clicking on the music icon on the xfce4 toolbar brings up xmms, and I still haven't managed to get that to work yet.
+
When asked questions about optional depends, etc. I simply hit return to accept the default values. I did not reconfigure the kernel. I used <code>lin --deps</code> for the XOrg7 and xfce4 builds to pre-answer the questions before kicking off the real builds so I could leave them unattended without adding delays for prompts to timeout.
</p>
+
  
<p>The final challenge of the weekend has been trying to figure out how to download and enable the MacroMediaFlash and RealPlayer plugins for firefox, as described on the firefox help pages, so that they will run with the sound card. Previously I could play videos, but had no sound. Now I can't even find the plugins correctly. Something's just a little bit off somewhere, otherwise the Installation HOWTOs and FAQs would have mentioned it. My search phrases in Google haven't thrown up the answer yet, but I'll get there.
+
NOTE: this procedure is for timing purposes only, I still have to go back and install the correct drivers for X, etc.
</p>
+
  
<p>Well, another week has passed, with me tinkering and tweaking but still no joy. I removed my .mozilla and .firefox directories and reinstalled firefox-1.0.7 via 'lin firefox' followed by 'lin flash-plugin' and 'lin shared-mime-info but still no joy. I followed the initial firefox homepage to download the plugins for RealPayer, FlashMedia and JavaScript, this time installing under /opt and configuring to install links in /usr/local/{bin,lib,*}. Finally I was back to the state where I could see the video clip, even if I couldn't hear it. After poring over the plugin help and FAQs under the Mozilla and BBC web sites, I still hadn't found any obvious clues. Running 'aplay /usr/share/xfce/sounds/beep07.wav' produced audible results, but  trying to play the same file using 'realplay' popped up an error dialog about being unable to access the sound device, but not which one. Finally I asked on #lunar after I saw that XeW was playing with ALSA and OSS and he asked whether I had configured the ALSA kernel module in OSS compatibility mode. Yes, I had, but lsmod didn't show that any of the snd-*-oss modules were loaded, so then I ran modprobe to instal snd-mixer-oss, snd-pcm-oss and snd-seq-oss, but still no joy. XeW suggested that I chmod the /dev/sound devices, and sure enough once I'd changed them from root-only read/write access to allow read/write to all, I was finally able to load my radio programme via firefox. Even if this configuration is temporary, as XeW mentioned, at least I know how to proceed after the next reboot. My thanks to XeW for the help.
+
'''To be continued...'''
</p>
+
 
+
<p>'''DistroWatch and LinuxFromScratch''': while browsing on [http://distrowatch.com/ DistroWatch] -- you do register your use of Lunar by accessing the Lunar pages via the [http://distrowatch.com/table.php?distribution=lunar DistroWatch:Lunar] link, don't you? -- I came across a link to the wonderful [http://www.linuxfromscratch.org/lfs/view/6.1.1-pre1/ Linux from Scratch]. Apart from describing how to build your own Linux from the ground up, it also provides a lot of additional pointers and links to useful documentation. It draws a lot of widely-spread information into a single place, and more importantly, you know that this information is still relevant. The section entitled [http://www.linuxfromscratch.org/lfs/view/6.1.1-pre1/chapter07/udev.html Device and Module Handling on and LFS System] helped to make sense of the devfs/udev problems that I described above. I will be checking out the [http://www.linuxfromscratch.org/blfs/ Beyond Linux from Scratch] pages over the next few days too, to see what else I can learn.
+
</p>
+
 
+
<p>To be continued...
+
</p>
+

Latest revision as of 00:18, 19 September 2010

Contents


I have moved the original contents of this page elsewhere, reformatting and updating on the way. However, I have provided so many references to this page in the Lunar Forums that I can't remove it completely, and so I leave a skeleton to show the way, just like Billy Bones in Treasure Island.

Please follow the appropriate link to the updated page.

A Newbie's experience installing, and upgrading, Lunar Linux 1.5.1

I started using Unix V7 on a PDP-11/70 back in 1983, even modifying some existing kernel drivers for the Cambridge Ring local area network. After that I dabbled in system administration of various Sun and Apollo systems until 1991, and HP boxes up until 2000, but my main task has always been application software development, nothing on the hardware or kernel side. Since 2000 we've had dedicated system administrators at work. We had switched from NCD X-terminals over to Linux desktops (first RedHat, but then Lunar) and I realized that what little I knew had become well out of date. I installed RedHat on an old 90MHz PC at home more than five years ago, but without a LAN or modem connection it was too difficult to keep up to date, I lost interest, and that died. Since then I've had an itch to develop a spiffy FLTK user interace for some old command line tools using Cygwin/Mingw on a WinXP laptop (with modem) but the machine is (a) painfully slow, and (b) painfully Windows. The time had come to get some new hardware, install an operating system that doesn't thwart you at every turn, and set up a programming environment of my own choice. Read more...

Installing Lunar Linux 1.6.0 (coming soon, maybe)

In April 2006, the Lunar-1.6.0-i686 ISO was released, but I don't have enough spare time to look at installing it. Not just yet anyway.

Installing Lunar Linux 1.6.4 (Lacus Autumni)

Lunar Linux 1.6.4 (Lacus Autumni) was announced in December 2008, and installation and update was initially pretty smooth and uneventful. But as 2009 rolled on, and new versions of certain key modules were rolled out and were out of step with each other, upgrading from the 1.6.4 ISO became difficult. Here's the Update Workaround HOWTO that I put together in September. This is no longer required! Soon after this, other key module releases brought harmony again, and these instructions became obsolete.

In February 2010, with the 2.6.32.8 kernel, updating udev from 141 to 151 caught me out. I don't remember the exact wording, but udev-151 requires that SYSFS_DEPRECATED is disabled in the kernel configuration. Finding SYSFS_DEPRECATED_V2 in the kernel didn't take long, but it took a lot longer to track down that GFS_FS also needed to be disabled...

Also in February 2010, installed 1.6.4 on a new Acer-AX5810 box with NVIDIA GeForce G210 card. This obviously requires the some kernel settings, and to install the NVIDIA module. All well and good, but after every kernel update and reboot you need to lrm NVIDIA, and then lin -rc NVIDIA again otherwise it won't install properly. This has bitten me several times after a lunar update...

Installing Lunar Linux 1.6.5 (Mare Ingenii)

After corruption of the superblock on my /boot partition on an HP Pavilion t3190(?), I decided to installed the 1.6.5-beta1 ISO. The initial installation and update went without problem. XOrg7 appeared to install OK, but when I ran 'startx' the console went blank. Searching the web, and asking on #lunar revealed that I needed the i915 driver for my Intel graphics card, with an entry in /etc/modules for 'i915 modeset=1'. Close, but no cigar! That's when my troubles started, with the console going into powersave mode on reboot. After much trial and error, I discovered that the kernel requires:

 CONFIG_DRM_I915=m
 CONFIG_DRM_I915_KMS=y
 CONFIG_FRAMEBUFFER_CONSOLE=m

The first would imply having i915 in /etc/modules, but in fact it is trumped by the second, and you don't need the i915 module at all. But the KMS line also enables ACPI in the kernel, which causes the console blanking. To solve that problem, you do need to have fbcon in /etc/modules. Or to disable the powersave mode settings while you configure all of this, you need a lilo.conf entry such as the following

 image = /boot/2.6.32.9-i686
   label = 2.6.32.9-acpi
   append="acpi=off"

At a certain point, there was an update to the linux-2.6 module that took it from 2.6.33.4 to 2.6.34.1, which I duly installed on my new test box, only to find that I couldn't reboot. The previous kernels had identified the disk as /dev/sda, but the new kernel decided it was /dev/sdb instead. This could be overcome by adding 'root=/dev/sdb3' on the lilo boot line, but then gave problems with /etc/fstab. To cut a long story short, I rebooted to the old kernel and changed /dev/fstab to use UUID instead. To find/create the UUIDs:

 tune2fs -l /dev/sda1
 swapoff -a          # I'm lazy
 mkswap /dev/sda2    # mkswap creates with UUID by default
 swapon -a
 tune2fs -l /dev/sda3

I even updated /etc/lilo.conf to add an 'append="root=/dev/sdb3"' for the 2.6.34.1 entry, and I could reboot, *and* mount the file systems.

Soon after this the 1.6.5-rc1 ISO was released, and as this was a test box anyway, with nothing really installed on it except for gnome test system that was inconsistent and didn't work, I wiped the system and re-installed from scratch.

1.6.5 Installation Times

Just out of curiosity, and for information to others, I decided to time how long it took to install a "minimal" desktop system from scratch on a relatively new system and a 9-year-old relic. I have two 5-year-old boxes I might add in the future.

It's clear that you probably don't want to install Lunar on really old hardware, unless you have a lot of patience, or can use distcc.


System CPUs*bogomips [1] RAM Disk [2] Install lin gcc... lin linux-2.6 lunar update lin XOrg7 lin xfce4 TOTAL
Acer AX5810 4 * 4988 6 Gb 1681 / 129 MB/s 0h11 1h01 0h12 0h20 0h23 0h14 2h21
Vaio FX401 1 * 1600 512Mb 179 / 17 MB/s 0h18 11h26 3h37 2h44 3h12 2h15 23h32
  1. grep bogomips /proc/cpuinfo
  2. hdparm -t -T /dev/sdX


The basic procedure:

  • install from the ISO, and take the pre-compiled kernel, and reboot
  • run lin moonbase
  • run lunar and set number of parallel makes to 4 in Options / Optimize Architecture
  • do the lin gcc glibc gcc bash coreutils tar wget dance from man lfirsttime
  • use lin linux-2.6 to explicitly build a new kernel, and reboot
  • run lunar update to rebuild any outdated parts of the core system
  • run lin XOrg7 to build X
  • run lin xfce4 to build Xfce4

After the first reboot I primed the system by copying sources from /var/spool/lunar on another up-to-date machine to avoid download delays and glitches.

When asked questions about optional depends, etc. I simply hit return to accept the default values. I did not reconfigure the kernel. I used lin --deps for the XOrg7 and xfce4 builds to pre-answer the questions before kicking off the real builds so I could leave them unattended without adding delays for prompts to timeout.

NOTE: this procedure is for timing purposes only, I still have to go back and install the correct drivers for X, etc.

To be continued...

Personal tools
Namespaces
Variants
Actions
Wiki Navigation
Project Sites
Toolbox