Results 1 to 10 of 25
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 ...
- 05-12-2008 #1
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.
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!...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:
I want to have my home directory on a seperate partition so to do that:Code:mount /dev/sda5 /mnt
Turn on your swap partition if you still use one:Code:mkdir /mnt/home mount /dev/sda6 /mnt/home
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.Code:swapon /dev/sda?
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:
Or you can setup chroot manually:Code:setup-chroot
Once "inside" your new installation, set the root password:Code: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
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. (My edits are un-commented):Code:passwd
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:# /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
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.Code:cd /usr/src/linux-2.6.23.9 make menuconfig
How to install CRUX continued...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.
Save your new configuration and exit menuconfig. Next do:
After the compile is done:Code:make all && make modules_install
I use GRUB from my Ubuntu install so I edited its grub/menu.lst:Code:cp arch/i386/boot/bzImage /boot/vmlinuz cp System.map /boot
If you need to install the GRUB boot loader, see this page for detailed instruction. For LILO, consult the handbook.Code: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."
Good luck!
Last edited by Dapper Dan; 05-10-2010 at 03:47 AM. Reason: corrected info
- 05-16-2008 #2
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...Jay
New users, read this first.
Registered Linux User #463940
I do not respond to Private Messages asking for Linux help. Please, keep it on the public boards.
- 05-17-2008 #3
Hi jayd512!
If you decide to install CRUX, let me know and I'll be happy to help in any way I can.
- 05-25-2008 #4
I've been using ArchLinux for 3 years but nowadays i've been thinking to migrate Crux, thanks for this tutorial.
- 12-05-2008 #5
As a "public service announcement," CRUX 2.5 is now in RC 1. Final should be forthcoming pretty soon. If there are any major changes in installation between 2.4 and 2.5, I'll do my best to post them here.
- 12-05-2008 #6
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!)
Jay
New users, read this first.
Registered Linux User #463940
I do not respond to Private Messages asking for Linux help. Please, keep it on the public boards.
- 12-05-2008 #7
Good deal Jay. I'm looking forward to hearing how it goes for you. Please post back your thoughts and suggestions and things to look out for.
- 12-06-2008 #8
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.
There is a newer version of gcc included in 2.5, so I'm willing to give it another shot in a bit to determine if this was an error on my part, or with the installer.Code: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[1]: *** [scripts/basic/fixdep] Error 1 make: *** scripts_basic] Error 2
Jay
New users, read this first.
Registered Linux User #463940
I do not respond to Private Messages asking for Linux help. Please, keep it on the public boards.
- 12-06-2008 #9
Is ncurses installed? Do you have Internet yet?
Code:prt-get install ncurses
- 12-06-2008 #10
Can you do prt-get before compiling the kernel?
*EDIT*
It seems you can... I'm about to get the internet connection set-up. Let me get back...Jay
New users, read this first.
Registered Linux User #463940
I do not respond to Private Messages asking for Linux help. Please, keep it on the public boards.



