# 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. ## TOC 1. [START](#start) 2. [PARTITIONING](#partitioning) 3. [SETUP](#setup) 3.1. [CHROOT](#chroot) 3.2. [CHANGE NETWORK INTERFACES](#change-network-interfaces) 3.3. [EDIT FSTAB](#edit-fstab) 3.4. [SET THE ENVIRONMENT](#setup-the-environment) 4. [KERNEL](#kernel) 5. [BOOTLOADER](#bootloader) 5.1. [LILO](#lilo) 6. [THE END](#the-end) 7. [CONFIGURATION ON CRUX](#configuration-on-crux) 7.1. [ENABLE CONTRIB REPO](#enable-contrib-repo) 7.2. [ADD EXTERNAL REPOS](#add-external-repos) 7.3. [INSTALL XORG](#install-xorg) 8. [CRUX COMMANDS](#crux-commands) 8.1. [AUTOMATED INSTALLATION OF PORTS](#automated-installation-of-ports) 8.2. [MANUAL DOWNLOAD AND INSTALLATION](#manual-download-and-installation) 9. [SOURCE MAGE GNU/LINUX COMMANDS](#source-mage-gnu/linu-commands) ## START Boot in UEFI mode if on UEFI, BIOS if on BIOS, and select installation media. * Make sure your network is up (OPTIONAL) `dhcpcd ` * Temporarily change keyboard (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 Supported filesystems by bootloaders are (if on UEFI ignore this as it only supports FAT): * __LILO__: indifferent (anything?) * __SYSLINUX__: ext2, ext3, ext4, btrfs, ufs 1/2, FAT16, FAT32, iso9660, udf, NTFS * __GRUB Legacy__: FAT16, FAT32, minix, ext2, ext3, ext4, ReiserFS, JFS, XFS, VSTa fs, Btrfs * __GRUB 2__: ext2, ext3, ext4, btrfs, zfs, ufs, minix, iso9660, udf, jfs, hfs, hfs+, afs, affs, sfs, xfs, reiserfs, tar, cpio, NTFS, FAT16, FAT32 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/drive_" with "_mkfs._" format, and one boot partition, later mounted to "_/mnt/drive/boot_" and with "_mkfs._" format unless is __UEFI__ in which case "_mkfs.vfat_" is the only format available and will be mounted to "_/mnt/drive/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