Jump to content

CRUX

From Wikipedia, the free encyclopedia
CRUX Linux
The Crux Linux Logo
The Crux Linux Logo
KDE Desktop for Crux Linux OS
Screenshot KDE Desktop for Crux Linux OS (2007).
DeveloperPer Lidén and CRUX community
OS familyLinux (Unix-like)
Working stateActive
Source modelOpen source
Initial releaseDecember 2002; 23 years ago (2002-12)
Latest release3.8[1] / April 21, 2025; 16 months ago (2025-04-21)
Update methodports
Package managerpkgutils[2]
Supported platformsx86-64
Kernel typeLinux (Monolithic)
UserlandGNU
InfluencedArch Linux
Default
user interface
Openbox
LicenseVarious
Official websitecrux.nu

CRUX is a lightweight x86-64 Linux distribution targeted at experienced Linux users and delivered by a tar.gz-based package system with BSD-style initscripts. It is not based on any other Linux distribution.[3] It also utilizes a ports system to install and upgrade applications.[4]

CRUX emerged during a period in which a large number of Linux distributions were available, but many differed considerably in their approaches to installation, package management, system configuration, and software selection. Lidén designed CRUX around a deliberately minimal philosophy. The project's documentation describes its primary objective as "keep it simple", with this philosophy applying to the distribution's package system, initialization system, and selection of software. The original system used a simple tarball-based package format and BSD-style initialization scripts, while maintaining a relatively small collection of packages.

Although crux is the Latin word for "cross," the name "CRUX" was chosen by Lidén without an intended technical meaning. According to the project's documentation and historical material, the name was selected because Lidén considered it to sound appropriate and because it ended in the letter "X" and that it "sounded cool," matching the naming style of several Unix and Unix-like operating systems such as IRIX, Ultrix, Mac OS X and IBM AIX.[5] Although crux is also a Latin word, the word itself was not intended to describe a particular technical feature of the distribution.

Installation

[edit]

CRUX does not provide a graphical installation program. Installation is performed from a command-line environment provided by the CRUX installation image, with the user responsible for preparing the storage device, creating filesystems, installing the base system, configuring the installed system, building a Linux kernel, and installing a bootloader.[6]

The official CRUX installation image can be written to removable flash media or burned to a DVD. The CRUX 3.8 ISO is processed using isohybrid, allowing it to be used as a bootable USB image as well as optical media. The installation environment supports both traditional BIOS-based systems and systems using UEFI firmware.[7][8]

Installation process

[edit]

After booting the installation medium, the user prepares the target storage device. A clean installation requires the creation and formatting of the partitions on which CRUX will be installed. The CRUX handbook documents the use of utilities such as fdisk, mkfs and mkswap for this stage. The choice of filesystem is left to the administrator, although the filesystem used for the root filesystem must have appropriate Linux kernel support either built into the kernel or provided through an initramfs.[9]

CRUX supports filesystems including Btrfs, ext2, ext3, ext4, JFS, ReiserFS and XFS as root filesystems. The installation handbook recommends separating user data from system data, such as by using a separate /home partition, to simplify future upgrades or reinstallations.[10]

On systems using UEFI firmware, the CRUX handbook recommends a GPT partition table and an EFI System Partition formatted with FAT32. The EFI System Partition is mounted during installation and is used to store the bootloader or other EFI boot files.[11]

Once the target filesystems have been created and mounted, the setup program is used to install the CRUX packages. The program asks the user for the location of the target root filesystem and which packages should be installed. The CRUX project recommends installing the packages in the core collection for a standard base installation. Additional packages can be installed later using CRUX's package-management utilities.[12]

After the base packages have been installed, the administrator enters the new system using chroot. CRUX provides the setup-chroot utility as a shortcut for preparing the chroot environment. Within the new installation, the administrator configures filesystems in /etc/fstab, system settings in /etc/rc.conf, locales, hostname and network configuration, and other system settings.[13]

The CRUX installation process traditionally includes compiling a kernel specifically for the installed system. The CRUX 3.8 installation handbook instructs the administrator to configure and compile the kernel source tree using make menuconfig and make all, install its modules, and copy the resulting kernel image into /boot or another appropriate location depending on the boot method being used.[14]

The kernel must contain, either directly or through an initramfs, the drivers necessary to access the root filesystem. The CRUX handbook specifically notes that storage-controller, partition-type and filesystem support may need to be compiled directly into the kernel when an initramfs is not used.[15]

Bootloader

[edit]

The final stage of a conventional installation is configuring a bootloader or boot manager. CRUX 3.8 does not include a bootloader in its core collection by default. Bootloaders are instead provided through the opt collection, and the setup program provides a menu through which the administrator can select one during installation.[16]

The CRUX 3.8 handbook documents several boot configurations, including GRUB 2 and SYSLINUX on both UEFI and legacy BIOS systems. On UEFI systems, GRUB can be installed to the EFI System Partition, while on legacy systems it can be installed to the Master Boot Record. SYSLINUX can likewise be configured for either UEFI or legacy booting.[17]

LILO, which had historically been used with CRUX, is no longer maintained in the official ports collections. The CRUX 3.8 handbook recommends that users upgrading from CRUX 3.6 or earlier replace LILO with GRUB or SYSLINUX.[18]

Once the kernel, system configuration and bootloader have been prepared, the installation medium can be removed and the computer rebooted into the newly installed CRUX system.[19]

Alternative installation methods

[edit]

CRUX can also be installed without booting its official installation image. The project's documentation describes custom chroot-based installation methods, which can be useful when the standard installation environment is unsuitable or when the user wants greater control over the initial system. The CRUX documentation notes that a custom chroot installation can require considerably less memory than installation from the official ISO.[20]

The command-line nature of the installation process is consistent with CRUX's overall design philosophy. Rather than providing an automated graphical installation environment, the installation process requires the administrator to configure important aspects of the system, including storage, filesystems, networking, the kernel and bootloader.[21]

Package management

[edit]

CRUX implements an infrastructure similar to that of BSD-based operating systems for package management. Packages consist of a Pkgfile (which is a shell script), any patches required to adjust the program to work, md5sum hashes used to verify the integrity of the downloaded files and a footprint file listing the files to be included in the packages. These files are downloaded from a CRUX software repository, compiled, and installed using the prt-get frontend to pkgutils.[2] The software sources are downloaded from the websites of their respective upstream at the address specified in the Pkgfile.

Releases

[edit]
x86 Release History
Version Date
1.0 2002 December
1.1 2003 March
1.2 2003 August
1.3 2003 December
1.3.1 2004 February
2.0 2004 March
2.1 2005 April
2.2 2006 April
2.3 2007 March
2.4 2007 December
2.5 2008 December
2.6 2009 September
2.7 2010 October
2.7.1 2011 November
2.8 2012 October
3.0 2013 January
3.1 2014 July
3.2 2015 November
3.3 2017 February
3.4 2018 May
3.5[22] 2019 June
3.6[23] 2020 December
3.6.1 2020 December
3.7 2022 September
3.8 2025 April

Reviews

[edit]

Simone Rota reviewed CRUX for OSNews:[24]

Since to use CRUX you must compile your own kernel and modules, the hardware compatibility list is basically the same as the Linux kernel.(2.4.21 on the tested release). No third-party modules are available on the CD, in case of unsupported hardware the only option is to fetch the drivers from another machine. The bootable CD-Rom kernel is compiled with a relatively small set of options, that should be enough to boot the machine and proceed with installation.

References

[edit]
  1. "Release Notes for CRUX 3.8". 21 April 2025. Retrieved 2025-05-11.
  2. 1 2 "The Package System", Handbook, Crux.nu, archived from the original on January 22, 2013, retrieved January 19, 2013
  3. Loli, Eugenia. "Interview With the Creators of CRUX and Root Linux". OS News. Archived from the original on 27 May 2018. Retrieved 29 March 2016.
  4. HomePage, Crux.nu, archived from the original on August 13, 2001, retrieved January 19, 2013
  5. "6. Miscellaneous", FAQ, Crux.nu, July 22, 2008, archived from the original on February 20, 2008, retrieved March 26, 2012
  6. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  7. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  8. "Release Notes for CRUX 3.8". CRUX. Retrieved 2026-09-03.
  9. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  10. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  11. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  12. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  13. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  14. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  15. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  16. "Release Notes for CRUX 3.8". CRUX. Retrieved 2026-09-03.
  17. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  18. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  19. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  20. "Installing CRUX". CRUX. Retrieved 2026-09-03.
  21. "CRUX Handbook 3.8". CRUX. Retrieved 2026-09-03.
  22. "CRUX | Main / ReleaseNotes3-5". crux.nu. Archived from the original on 2021-05-12. Retrieved 2020-12-11.
  23. "CRUX | Main / ReleaseNotes3-6". crux.nu. Archived from the original on 2020-11-27. Retrieved 2020-12-11.
  24. Review: CRUX Linux Archived 2018-06-12 at the Wayback Machine, OSNews
[edit]