CRUX describes itself as a...
Quote:
|
...lightweight, i686-optimized Linux distribution targeted at experienced Linux users. The primary focus of this distribution is keep it simple, which is reflected in a straightforward tar.gz-based package system, BSD-style initscripts, and a relatively small collection of trimmed packages.
|
Having run CRUX for a few years now (beginning with 2.2), I can attest that this statement is right on the mark, and pretty much sums up why it has become my distro of choice. I've been running 2.3 for a good while. It has performed so well for me that I've resisted the urge to upgrade. However, being the inveterate Linux tinkerer I am, I just couldn't put off installing 2.4 any longer!
As has been the case since 2.2, the install of 2.4 went pretty much without a hitch. The CRUX website has
very useful documentation you should keep close to hand while installing. I usually follow along with their directions and recommendations, but do stray slightly from the officially documented way. Since the install went easily enough for me, I thought I'd share my method if you are perhaps considering this blindingly fast and simple distro.
Among other distros on my hard drive, Slackware 12 was at sda5 and sda6, and CRUX 2.3 at sda9 and sda10. Since Slackware 12 is rarely booted on this box, I elected to install CRUX 2.4 to those partitions, root directory to sda5 and /home to sda6. Your situation will of course depend on where you want to install. For this "How To" let's pretend you also want to use the same partitions.
Normally, I format with ReiserFS or XFS. This time though, I wanted to try something different and used Gparted from CRUX 2.3 to reformat the target partitions with
JFS which I've not used before. If it's to your liking, you can use fdisk from the install disk, directions being found in the 2.4 handbook.
I downloaded the
CRUX 2.4 .iso and burned it, then rebooted with the newly created live CD in the beverage tray. (The following includes install screenshots recreated by way of VirtualBox so you can get a visual of the process).
The
initial boot screen will appear. Press enter. After booting up you will get a
login screen. Type in “root” and press enter.
First thing to do at the command prompt is to create the mount points. / will be installed to sda5 and /home to /sda6. While we're at it, we'll create a few more mount points that will be used shortly.
Code:
cd /mnt
mkdir sda5 sda6 dev tmp proc sys
...and to mount where “/” and “/home” will go:
Code:
mount /dev/sda5 /mnt/sda5
mount /dev/sda6 /mnt/sda6
Now, we're ready for the install!
Type “setup” and press enter. You will be greeted with the intuitive and easy to follow CRUX install utility
welcome screen. It will ask if you want to continue with the install. Choose yes if you want to proceed.
The next screen will ask if you
want to
install or upgrade. Of course, choose number 1, “install.” You will then get a screen asking
where to install. As you can see
here, I chose /mnt/sda5.
Next in line, you are given a choice of
what to install. At minimum, you must at least choose the “core” packages. This alone will give you the extreme minimum. I also choose the “opt” and “xorg” ports packages. After making your group selections, you will be asked if you want to choose individual packages to install. I chose “no.” The
following screen inquires if you really want to do the install. Choose yes and you're off!
From booting the live CD to the end of installation takes about five to ten minutes depending on the abilities of your machine and your level of proficiency. Afterwards though, you'll still need to do some configuration to get a functional OS when rebooting.
Now it's time to “chroot” into the new installation. Remember those other mount points we created? We will now use them:
Code:
mount --bind /dev /mnt/dev
mount --bind /tmp /mnt/tmp
mount -t proc proc /mnt/proc
mount -t sysfs none /mnt/sys
Afterwards:
Code:
chroot /mnt/sda5 /bin/bash
Once "inside" your new installation, set the root password:
Now, open your /etc/fstab and edit it. You can use either vim or nano for this. CRUX provides a template /etc/fstab that is easily customized for your situation. Here's mine as a reference. (Where I edited is in red):
Code:
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
#/dev/#REISERFS_ROOT# / reiserfs defaults 0 0
#/dev/#EXT3FS_ROOT# / ext3 defaults 0 1
/dev/sda5 / jfs defaults 1 1
#/dev/#XFS_ROOT# / xfs defaults 0 0
#/dev/#SWAP# swap swap defaults 0 0
#/dev/#REISERFS_HOME# /home reiserfs defaults 0 0
#/dev/#EXT3FS_HOME# /home ext3 defaults 0 2
/dev/sda6 /home jfs defaults 1 2
#/dev/#XFS_HOME# /home xfs defaults 0 0
#/dev/cdrom /cdrom iso9660 ro,user,noauto,unhide 0 0
/dev/dvd /mnt/dvd udf ro,user,noauto,unhide 0 0
#/dev/floppy/0 /floppy vfat user,noauto,unhide 0 0
devpts /dev/pts devpts defaults 0 0
none /sys sysfs defaults 0 0
none /proc proc defaults 0 0
tmp /tmp tmpfs defaults 0 0
#shm /dev/shm tmpfs defaults 0 0
usb /proc/bus/usb usbfs defaults 0 0
# End of file
At this time, you can also set up services and network connection. Consult the
CRUX 2.4 handbook for instruction. You'll also need to compile the kernel. With CRUX, kernel compilation is a piece of cake.
Code:
cd /usr/src/linux-2.6.23.9
make menuconfig
Make sure to include whatever drivers you need for your hardware! CRUX's default .config file is very minimal. You shouldn't assume your hardware drivers are already enabled in the configuration as is the case with many mainstream distros. Save your new configuration and exit menuconfig. Next do:
Code:
make all && make modules_install
After the compile is done:
Code:
cp arch/i386/boot/bzImage /boot/vmlinuz
cp System.map /boot
I use GRUB from my Ubuntu install so I edited its grub/menu.lst:
Code:
title CRUX 2.4
root (hd0,4)
kernel (hd0,4)/boot/vmlinuz
If you need to install the GRUB boot loader, see
this page for detailed instruction. For LILO, consult the handbook.
If everything has gone according to plan, you'll now have a shiny new minimum CRUX install, a great foundation from which to custom build your OS from source packages! See the CRUX 2.4 handbook for how to set up your ports and install packages through
ports,
prt-get or
yapo. Yapo, (Yet Another Ports Overview) is a friendly ncurses front end for prt-get. Prt-get
does resolve dependencies in most cases but, as is the case with other source based distros, there will be times when "hands on" dependency solving will be necessary.
This method works for me. You will likely have to change some things to accommodate your particular needs and situation. I cannot guarantee this "How To" will also work for you. As they say in the used car business, "If it breaks in half after you buy it, you get to keep both halves.
Good luck!
