A little background: 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.
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.
Basic Installation for Newbies: well, believe it or not, the Installation guide is actually fairly 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:
- 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 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.
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 faily good, but there are a couple of extra points that might help other people:
- 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 Installing Lunar forum.
- Check out the manual pages for 'lin', 'lvu', 'lrm' and 'lunar'
- 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.
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:
- Run 'updatedb' so that you can use 'locate' to find configuration files easily.
- Run 'makewhatis' so that you can run 'apropos' or 'man -k' to find the commands that you want
Setting up X: I've been using window-based user interfaces since the 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.
- 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:
- XTerm*loginShell: true (to allow tab-completion of command and module names)
- XTerm*reverseVideo: true (to allow the Lunar tools menus to be more readable)
- Login and run 'startx'. This should bring up a basic window manager 'twm' but it's good enough at this stage.
To be continued...