# Initiation Rite This guide is for those wanting one of the two most beautiful source based distros, either __CRUX__ or __Source Mage GNU/Linux__. It was written so it can be used by both, only diverging on particular details. * __CRUX__: A ports based, BSD style init scripts, distro following true KISS principles (Keep It Simple). * __Source Mage GNU/Linux__: Without 3rd party patches, sensible defaults or masked packages, free from obfuscated and pre-configured code, use clean dependencies as they came from upstream developers and can also use flags. __NOTE__: * This guide attempts to describe __UEFI__ in detail side by side with __BIOS__. Also describes dualbooting (and triple booting) with the bootloader. If you feel overwhelmed for the amount of information don't be afraid, most of it is __OPTIONAL__, like password protection of the bootloader and the different filesystems the bootloaders can use. * For __CRUX__ you should be using their "_iso_". * For __Source Mage GNU/Linux__ you will be using their "_chroot image_" but __NOT__ the "_iso_", you can use any live CD or USB provided it has the commands here mentioned. ## TOC 1. [START](#start) 2. [PARTITIONING](#partitioning) 3. [FILESYSTEM](#filesystem) 4. [CREATING (AND MOUNTING) MAIN DIRECTORIES](#creating-and-mounting-main-directories) 5. [SETUP](#setup) 5.1. [CHROOT](#chroot) 5.2. [CHANGE NETWORK INTERFACES](#change-network-interfaces) 5.3. [EDIT FSTAB](#edit-fstab) 5.4. [SET THE ENVIRONMENT](#setup-the-environment) 6. [KERNEL](#kernel) 7. [BOOTLOADER](#bootloader) 7.1. [LILO](#lilo) 8. [THE END](#the-end) ## START Boot in UEFI mode if on UEFI, BIOS if on BIOS, and select installation media. Then once you have a terminal: * Check which NIC you are using. `ip addr` * Make sure your network is up. `ip link set up` `dhcpcd ` In the case you need Wi-Fi please refer to https://github.com/mayfrost/guides/blob/master/NETWORKING.md * Temporarily change keyboard to your mapping (available configurations can be found in the directories "_/usr/share/kbd/keymaps/_" for __CRUX__ and "_/usr/share/keymaps/i386/qwerty_" for __Source Mage GNU/Linux__). `loadkeys ` ## PARTITIONING In these examples we make only two partitions but you can extend this if you know how. The partitions are one root partition, later mounted to "_/mnt_" with "_mkfs._" format, and one boot partition, later mounted to "_/mnt/boot_" and with "_mkfs._" format unless is __UEFI__ in which case "_mkfs.vfat_" is the only format available and will be mounted to "_/mnt/boot/efi_" instead. * Use parted. `parted /dev/sda` * Inside parted, if on UEFI label the disk "_gpt_", but if on BIOS label it "_msdos_". `mklabel