Results 1 to 10 of 25
Thread: How to install CRUX
Enjoy an ad free experience by logging in. Not a member yet? Register.
How to install CRUX
CRUX describes itself as a...Update July 7, 2009: Though written fro CRUX 2.4, this "How-To" also works generally the same for CRUX 2.5 with a few obvious modifications. As always, refer to the CRUX handbook when there is a question.
...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.
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 mount your target root partition to /mnt:
mount /dev/sda5 /mnt
mkdir /mnt/home mount /dev/sda6 /mnt/home
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. CRUX has a neat little app to do this automatically for you:
mount --bind /dev /mnt/dev mount --bind /tmp /mnt/tmp mount -t proc proc /mnt/proc mount -t sysfs none /mnt/sys chroot /mnt /bin/bash
# /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
cd /usr/src/linux-22.214.171.124 make menuconfig
EDIT: In the months since this "How To" was written, it seems the above point is a particular stumbling block for many. This is understandable as most mainstream distros come standard with support for most all file systems and hard drive configurations already present in the kernel. This is not the case with CRUX. It is up to you to determine what kernel support is needed for your hardware and build it into the kernel when compiling.
To elaborate: You must compile file system and hardware support in the kernel. This means making sure your chosen file system has a (*) beside it when doing "make menuconfig" and not as a module or (M). I make it a point to compile in kernel support for all the major file systems. You must also make sure your hard drive's configuration is also supported in the kernel and not as a module. Whether your drive is ATA, SATA, SCSI or what have you, make certain support is built into the kernel (*) and not as a module (M). If you do not ensure this, your fresh CRUX install simply will not boot unless you plan on initiating initramfs.
How to install CRUX continued...
Save your new configuration and exit menuconfig. Next do:
make all && make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz cp System.map /boot
title CRUX 2.4 root (hd0,4) kernel (hd0,4)/boot/vmlinuz
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."
This is a great looking walk-through, Dan! I been thinking about trying either Crux or Arch for a little while now, and after seeing this, I may be trying Crux after all!
Now to get the new box that it'll go in...
I'll be doing the same, as I plan on trying out a Release Candidate for the First time ever! (Which should speak volumes about how I feel about CRUX!)
Tried to go ahead and install CRUX 2.5 RC1, ran into my first issue.
During the installation and kernel compile, I ran make menuconfig.
scripts/basic/fixdep.c: In function 'is_defined_config': scripts/basic/fixdep.c:399: internal compiler error: Illegal instruction Please submit a full bug report, with preprocessed source if available See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [scripts/basic/fixdep] Error 1 make: *** scripts_basic] Error 2
Can you do prt-get before compiling the kernel?
It seems you can... I'm about to get the internet connection set-up. Let me get back...