CRUX : Home

Home :: Documentation :: Download :: Development :: Community :: Wiki :: Ports :: Bugs :: Links :: About

Frequently Asked Questions (FAQ)

Table of contents

- General
- Why the name “CRUX”?
- When will the next version be released?
- Is it called CRUX Linux or CRUX GNU/Linux?
- I heard CRUX was based on Slackware, is that true?
- Why isn't there an active forum?
- I can't figure something out! Where do I get more help?
- How can I help the CRUX project?
- How can I join the CRUX project?
- Installation
- I just installed CRUX but it won't boot (e.g. "Operating system not found")
- When booting from the CRUX CD-ROM I get a kernel panic saying “VFS: Unable to mount root fs”. What's wrong?
- When booting CRUX for the first time I get the error “Unable to open initial console”. What's wrong?
- When logging in to my newly installed CRUX for the first time it asks for a password, but the installation guide says “Login as root (no password required)”. What's wrong?
- How do I make a bootable USB on Windows?
- The ports system
- How do I publish my own ports?
- How do I add someone else's repository to my ports system?
- How do I install packages using dependencies?
- How do I build either KDE or GNOME?
- How can I have more control over my packages?
- I'm behind a restrictive firewall. Is there any way for me to update ports?
- I just realized a port is out of date.
- pkgutils
- How can I store sources and packages in dedicated directories?
- I got a footprint mismatch, what's wrong?
- I got an md5sum mismatch, what's wrong?
- Configuration
- How do I get sshd running?
- Why is my newly-created regular user not allowed to run crontab?
- Miscellaneous
- I have the installation CD, but not on me. All I need is a package. Where can I get one?
- X [ xorg ] dies when I open openoffice.
- My system clock is way off.

Original author: The CRUX Team
Maintained by: Jonathan Asghar


General

Why the name “CRUX”?

Sorry, there's no interesting story behind the name. Per chose it simply because he thought it sounded cool, it was short, it was fairly easy to remember and it had the mandatory X in the end to make it UNIX/Linux-ish ;)

When will the next version be released?

Well, the standard answer to this question is “when it's done”. New versions are however usually released every 3 or 4 months. Between releases, updated packages are made available through the ports system.

Is it called CRUX Linux or CRUX GNU/Linux?

None of the above. It's called CRUX, no more no less.

I heard CRUX was based on Slackware, is that true?

No, that's incorrect. CRUX was built from scratch and has never been based on any other Linux distribution.

Why isn't there an active forum?

Most of the developers and users prefer mailing lists over forums. It's much simpler to follow discussion when using a mailing list--forums require constant polling if you are trying to stay up to date about what's happening.

I can't figure something out! Where do I get more help?

First off try searching the mailing lists. Browsing the archives (marc.theaimsgroup.com provides a nice, searchable archive) is always a good way to start. If that doesn't work, try asking in one of the IRC channels.

How can I help the CRUX project?

Create ports and maintain a repository of your own, help people on the mailing list and in the IRC channels and write documentation.

How can I join the CRUX project?

Maintain a personal port repository for a while, make sure that your ports adhere to the port guidelines and contact the CRUX team.


Installation

I just installed CRUX but it won't boot (e.g. "Operating system not found")

Did you remember to run lilo? Check your lilo.conf file. Are you sure you installed LILO to the disk's MBR (e.g. boot=/dev/sda) and not to a partition (e.g. boot=/dev/sda1)? Check the boot order in your BIOS.

When booting from the CRUX CD-ROM I get a kernel panic saying “VFS: Unable to mount root fs”. What's wrong?

This can happen if you have more than one CD-ROM drive. Make sure you boot from then "first" CD-ROM drive, i.e. /dev/cdroms/cdrom0. If you must boot from a different drive (i.e. not the first one) you can still do that but you have to type CRUX root=/dev/cdroms/cdrom1 at the boot prompt (cdrom1 indicates that it is the second drive, cdrom2 that it is the third, and so on).

When booting CRUX for the first time I get the error “Unable to open initial console”. What's wrong?

You most likely forgot to enable devfs or didn't tell the kernel to mount devfs at boot. The installation instructions (Handbook Section 2.2, “Installing From CD-ROM”) tell you how to enable it.

When logging in to my newly installed CRUX for the first time it asks for a password, but the installation guide says “Login as root (no password required)”. What's wrong?

You most likely forgot to edit /mnt/etc/fstab before you rebooted or you entered the wrong name of your new root partition at the boot prompt.

How do I make a bootable USB on Windows?

The best way is to use dd for Windows to write the CRUX ISO image to the USB drive. First, download dd for Windows and unzip it. Then, plug your USB drive into your computer.

Note: If your USB drive is automatically mounted by Windows, you'll need to right click it in the File Explorer and select "Eject" before you can write to the drive with dd.

Next, open up a command prompt as administrator. Open the start menu and search for "Command Prompt". Right click the Command Prompt icon in the search results and select "Run as administrator". Use the "cd" command to navigate to the directory where you unzipped dd for Windows, e.g.:

C:\Users\cory> cd Downloads\dd-0.6beta3

Now run the following command:

C:\Users\cory\Downloads\dd-0.6beta3> dd --list

USB drives will be listed as \\?\Device\HarddiskX\Partition0 where X is an integer. These are the device names. dd will identify USB drives as "Removable media other than floppy." Find the device name for your USB drive, and run the following command (substitute X with your USB drive number, and ..\iso\crux-3.2.iso with the path to your CRUX ISO):

C:\Users\cory\Downloads\dd-0.6beta3> dd if=..\iso\crux-3.2.iso of=\\?\Device\HarddiskX\Partition0 bs=1M

If you get an error such as "Error writing file: 5 Access is denied", that means the drive is mounted. Unmount the drive as discussed above, and make sure you're attempting to write to the correct device.

Wait a while for dd to finish (you'll know it's done when you see something like "398+0 records in, 398+0 records out"). Your USB disk should now be ready to go!


The ports system

How do I publish my own ports?

Create a httpup repository and register it with the ports database. Basically you just make a directory which contains your ports, run httpup-repgen <directory> to generate an index file and upload the directory in your personal web space. It's as simple as that. More detailed infos here.

How do I add someone else's repository to my ports system?

Install httpup and put the corresponding .httpup file in your /etc/ports directory. Running ports -u should now make the ports available in /usr/ports/<repository>. If you are using prt-get, you might want to add the port directory to /etc/prt-get.conf e.g. prtdir /path/to/repository.

How do I install packages using dependencies?

Use prt-get (depends or deptree to check the dependencies and depinst to actually install them) from the opt tree (opt/prt-get).

How do I build either KDE or GNOME?

Follow the instructions for either GNOME? or KDE.

How can I have more control over my packages?

prt-utils is a good place to start and have a look at our ToolsAndScripts page.

I'm behind a restrictive firewall. Is there any way for me to update ports?

Have a look at our httpup page.

I just realized a port is out of date.

If the port is from the core, opt or xorg collections, this is considered a bug. Feel free to report it using the ticket system. Please make sure there isn't already a bug report for this version difference. Also note that all CRUX team members only work on CRUX in their free time, so the respective person might already know about the new version (submitting a bug report an hour after the release doesn't make any sense).

A good "new version out" bug report also contains a note whether it is enough to just update the version in the Pkgfile. Important: If the update is security related, please contact the port maintainer directly (and immediately).


pkgutils

How can I store sources and packages in dedicated directories?

Edit /etc/pkgmk.conf. Change this part:

 # PKGMK_SOURCE_DIR="$PWD" 
 # PKGMK_PACKAGE_DIR="$PWD"
 # PKGMK_WORK_DIR="$PWD/work"

To this:

 PKGMK_SOURCE_DIR="/usr/ports/distfiles"
 PKGMK_PACKAGE_DIR="/usr/ports/packages"
 PKGMK_WORK_DIR="/usr/ports/work/${PWD##*/}"

Finally create the directories:

 # mkdir /usr/ports/{distfiles,packages,work}

I got a footprint mismatch, what's wrong?

Have a close look at the mismatch. If there are lots of new files, it's probably just because you have some software installed the packager didn't, which is no problem at all. In this case, just ignore or update the footprint (see the manpages of pkgmk and pkgmk.conf, most noteworthy the PKGMK_IGNORE_NEW option) and install it. If you're missing a lot of files, make sure you have all dependencies installed. Also make sure you built the package as root.

I got an md5sum mismatch, what's wrong?

The md5sum is a security feature, so you shouldn't just ignore this one. The package you downloaded could be manipulated. But there are other reasons why this can happen, without a malicious action: the download might have failed (try to decompress the tarball to see whether is is corrupt), or the requested file might have been changed on the server without its name being changed; this usually happens for things like theme-packs which change constantly without getting another name.


Configuration

How do I get sshd running?

First ensure that there are no firewall rules rejecting inbound traffic to the port designated in /etc/ssh/sshd_config (Port 22 by default). The default nftables configuration already allows traffic on port 22, so unless you edited the file /etc/nftables.nft, activated a different firewall, or instructed sshd to listen on a non-standard port, a running ssh daemon should be reachable from hosts in your network. You can then start sshd manually by entering the command /etc/rc.d/sshd start. For automatic loading of sshd when CRUX starts up, simply add sshd to the SERVICES array of /etc/rc.conf, i.e. SERVICES=(... sshd ...).

Why is my newly-created regular user not allowed to run crontab?

The core port dcron installs /usr/bin/crontab with permissions rwsr-x---, owner=root, and group=users, but CRUX 3.7 now ships with a useradd configuration that does not automatically put new accounts into the 'users' group.

The old behaviour of useradd (prior to December 2020) resulted from a historical accident: the fallback gid chosen by useradd happened to be the same as the gid (100) that traditionally appears on the users line of /etc/group. The administrator of a machine running CRUX 3.6 or earlier can be forgiven for inferring a deliberate design decision, but changes to the upstream useradd source shattered the illusion of such intentionality. Now in the absence of any overriding directives (in /etc/defaults/useradd or /etc/login.defs or on the command-line), useradd will assign gid 1000 to any new account.

One such overriding directive is the line USERGROUPS_ENAB yes, which now appears in the file /etc/login.defs installed by the shadow port. This directive prevents useradd from falling back on its hard-coded default gid, 1000, and instead allows it to select an unused gid to be associated with a new group of the same name as the newly-added user. A cosmetically appealing side-effect is that useradd never assigns a gid that has no corresponding entry in /etc/group. Separate primary groups for each user also makes it harder to accidentally allow your files to be clobbered by someone else in the 'users' group, unless your login profile sets a dangerously permissive umask.

The old behaviour — assigning 'users' as the primary group — is out of sync with the recommended practices these days, but if you want it, the three easiest options are: a wrapper script, an alias, or remembering to type -g users with every invocation of useradd.

If you upgraded from an installation of CRUX 3.6 or earlier, then your existing users and groups will still have their 3-digit UIDs and GIDs, with nearly every non-system account in the 'users' group. To avoid a confusing mix of old GIDs and new GIDs, you can use the upgrade as an opportunity to start afresh: create new CRUX 3.7 users that have separate primary GIDs, and transfer the home directories of the old users to the ${HOME}s of their CRUX 3.7 counterparts.


Miscellaneous

I have the installation CD, but not on me. All I need is a package. Where can I get one?

If you need something off of the CD, you can grab the base install packages from core and opt (provided by Matt Housh) or core and opt (provided by Tilman Sauerbeck). Either should work

X [ xorg ] dies when I open openoffice.

If you are using the binary NVidia driver (opt/nvidia) for xorg, keep in mind to run the gl-select tool after installation to set up your OpenGL environment, as pointed out in the README file. X dying like this happens not only with openoffice but most of the glx stuff such as childsplay, showfont etc.

My system clock is way off.