Specifies which console font to load at system startup. The contents of this variable will be passed as argument to '''setfont(1)'''. The available fonts are located in %fn%/usr/share/kbd/consolefonts/%%.
Specifies which console keyboard map to load at system startup. The contents of this variable will be passed as argument to '''loadkeys(1)'''. The available keyboard maps are located in %fn%/usr/share/kbd/keymaps/%%.
Specifies which services to start at system startup. The services specified in this array must have a matching start/stop script in %fn%/etc/rc.d/%%. When entering multi-user mode the specified scripts will be called in the specified order with the argument '''start'''. At system shutdown or when entering single-user mode these scripts will be called in the reverse order with the argument '''stop'''.
Starting with CRUX 2.5, glibc does not contain all possible locales anymore, thus you'll have to generate the locales you need/use. To ensure proper operation of '''pkgmk''', the locale C.UTF-8 is generated as part of the CRUX installation. Any other desired locales must be created by the administrator. A typical setup for swedish users would use the following commands, so replace @@sv_SE*@@ with the locale you want:
The network configuration is found in the service script %fn%/etc/rc.d/net%%. To enable this service you need to add net to the SERVICES array in %fn%/etc/rc.conf%%. By default this service script configures a dynamic IP address. \\
If you want to configure your system to use a static IP address, specify TYPE=static and the correct interface. You will also need to configure DNS settings in /etc/resolv.conf. \\
To associate with a WPA2-protected wireless network, you should first create a configuration file for %fn%wpa_supplicant%% to use, then launch wpa_supplicant on that interface.
-> Replace %fn%MYNETWORK%% with the ssid of your network, %fn%MYPASS%% with its passphrase, and %fn%wlan0%% with the name of your actual network interface. Run @@ip link@@ to see the list of all available interfaces.
If the %fn%wpa_supplicant%% output indicates a successful authentication, you can background the process and run @@dhcpcd wlan0@@ to request an address from the DHCP server.
The '''wpa_supplicant''' package provides two startup scripts in %fn%/etc/rc.d%%. You might choose to put %fn%wlan%% in the SERVICES array of %fn%/etc/rc.conf%% (replacing %fn%net%%), which will let '''wpa_supplicant''' manage all your network interfaces. Another option is to let the %fn%net%% startup script call '''wpa_supplicant''' as needed, by copying into %fn%/lib/dhcpcd/dhcpcd-hooks/%% the example file %fn%/usr/share/dhcpcd/hooks/10-wpa_supplicant%%.
CRUX uses SHA512 passwords by default. To change the password encryption method set the ENCRYPT_METHOD variable in %fn%/etc/login.defs%% to DES, MD5 or SHA256.
Furthermore, when compiling programs that use the @@crypt(3)@@ function to authenticate users you should make sure that these programs are linked against the %fn%libcrypt%% library (i.e. use '''-lcrypt''' when linking) which contains the SHA512 version of the crypt function (this version is backwards compatible and understands DES passwords as well).
Also configurable in %fn%/etc/login.defs%% are the settings that govern how @@useradd(8)@@ behaves when you create a new non-root user, such as CREATE_HOME and USERGROUPS_ENAB. First-time CRUX administrators might be surprised to learn that creating a new user via @@useradd -m@@ will not automatically populate the home directory with a basic shell startup file, as happens on other Linux distributions whose %fn%/etc/skel/%% contains their idea of an initial home directory.
A new default in CRUX 3.7 is that the value of PATH, for shells that rely on %fn%/etc/profile%% to set this variable, will be the same regardless of UID. This change allows non-root users easy access to any administrative command without having to type its full path (provided they use '''bash''' as their shell and are given the appropriate '''doas/sudo''' permissions). Users are always free to choose a different shell and manage PATH themselves, but the default behaviour is now less likely to cause confusion.
The core packages '''linux-pam''' and '''dumb_runtime_dir''', and the contrib package '''pam_xdg''', provide a variety of modules that can be loaded upon logging in. The files in %fn%/etc/pam.d%% govern the association between the type of login (eg., tty, SSH, su, X Display Manager) and the modules that get loaded (eg., pam_env, pam_exec, pam_limits). Some typical situations that
-> The existence of a writable XDG_RUNTIME_DIR is required for proper operation of many desktop applications. A ''clean'' CRUX 3.7 installation will place a line in %fn%/etc/pam.d/common-session%% that loads the module %fn%pam_dumb_runtime_dir.so%% to satisfy this requirement. An ''upgrade'' to CRUX 3.7 might not do so, depending on your UPGRADE directives in %fn%/etc/pkgadd.conf%%. But any configuration that allows desktop applications to run smoothly on CRUX 3.6 will probably continue working after an upgrade to 3.7.
-> While '''pam_dumb_runtime_dir''' has a simple design and restricts itself to the creation of the runtime dir, the 'contrib' collection offers an alternative, '''pam_xdg''', which exports all the environment variables defined in the freedesktop.org specification. You should choose ONE of these two options and edit %fn%/etc/pam.d/common-session%% accordingly.
If you find yourself in one of the other situations in the table above, read the man page for the corresponding PAM module to learn how to accomplish the desired configuration.
The kernel source, which is found in %fn%/usr/src/linux-5.15.x/%% is not installed using '''pkgadd'''. If you decide to upgrade your kernel you can safely do so by manually replacing the kernel source with a newer version (or unpack the newer source tree somewhere else). This will not make the package database inconsistent (since it's not installed with '''pkgadd''') nor will it affect the kernel headers found in %fn%/usr/include/linux%% and %fn%/usr/include/asm%% since these are not symlinks to the kernel source, but instead contain copies of the headers.