Arch BaseInstall
WARNING:
Careful, this is very out of date. (2012-ish)
Creating a Bootable USB stick
Do not use Unetbootin to create a bootable USB stick. Instead use: http://sourceforge.net/projects/win32diskimager/ (it does not use .iso by default, but if you type it in manually, it works). On unix derivatives, use dd.
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync
BIOS/UEFI Settings
The computer must be set to UEFI only for the arch-install media to be started with UEFI support. Once you have started the install media, confirm the following location exists (which means EFI has loaded).
See systemd-boot.
ls /sys/firmware/efi
Partition + Format
For More Information See the EFI under bootloaders.
sudo pacman -S gptfdisk parted sgdisk --zap-all /dev/mmcblk0 # wipe all partitions, (but leaves protective MBR) gdisk /dev/mmcblk0 'o' # wipe all partitions, and create GUID partitionEFI
sudo cfdisk /dev/mmcblk0 # create partitions/partition types sudo fdisk -l # fdisk shows gpt partitions! sudo gdisk -l /dev/mmcblk0 # show partitions on mmcblk0 /dev/sda1 EFI 200M (been okay with 126M) /dev/sda2 Linux -- mkfs.msdos -F 32 /dev/sda1 mkfs.ext4 /dev/sda2MBR
# Create the Partition Table in cfdisk. Do not worry about # the format, just define your partition. cfdisk /dev/sda # create partition table (MBR) mkfs /dev/sda2 -t ext4 # create filesystem
Internet (install media)
Ethernet
* Plug in internet, and test connection ** ping -c 3 www.google.comManual Wireless
pacman -S wireless_tools wpa_supplicant wpa_actiond dialogFinding an available Network
# Find the name of your wireless interface (ex: wlan0) ls /sys/class/net # Activate wireless ip link set wlan0 up # scan for networks iwlist wlan0 scanning | less # Note these settings if you are having trouble connecting: ## ESSID ## Group Cipher ## Pairwise Cipher ## Authentication Suites# connect to wireless w/o encryption: iwconfig wlan0 essid "Holocron" # connect to WEP: iwconfig wlan0 essid "Holocron" key 12345678 # connect to WPA/WPA2: ip link wlan0 up # You will want to ensure that only root can access this file, since it contains your password. # This will create a profile for Molly Net in '/etc/wpa_supplicant.conf' (only needs to be done once) wpa_passphrase "Molly Net" "12345" >> /etc/wpa_supplicant.conf # This will search and connect to any ESSID specified in the searched file. wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf # Wait approx 10s, then Request an ip address: dhcpcd wlan0
Install
ZFS Install
To install archlinux with zfs on root, consult the ZFS page (highly recommended): ZFS archlinux install
Ext4 Install
mount /dev/sda2 /mnt pacstrap -i /mnt base arch-chroot /mnt pacman -S efivar efibootmgr dosfstools vim
Settings
Choose Mirror
# /etc/pacmand.d/mirrorlist # Uncomment Mirrors that are close to youfstab
/etc/fstab
mounts performed at boot /etc/sysctl.conf
Set all kinds of system controls such as swappiness and laptop-mode # generate your fstab genfstab -p /mnt >> /mnt/etc/fstab # If there is an SSD, add discard to the mount flags ex: defaults,noatime,discard # Create Swap Mountpoint If you plan to use swap you should add your swap partition to the fstab as well. # Test Swap swapon -s #test if swap was correctly entered in fstab
Define Locale
/etc/locale.conf /etc/locale.gen# /etc/locale.conf # # echo locale > /etc/locale.conf LANG=en_US.UTF-8# enable locale locale -a# Uncomment your locale of choice in /etc/locale.gen (it contains all # locales that can be used on your system. You can display the locale # currently in use with the command "locale" # I use: en_CA_.UTF-8, fr_CA.UTF-8, ja_JP.UTF-8locale-gen # You will also want to change locale.conf to mirror the settings chosen # in locale.gen. Enter 'LANG=' followed by the first part of your selected # language (omit the second UTF-8 separated by a space) echo LANG=en_CA.UTF-8 > /etc/locale.conf
Define Computer Name (hostname)
echo agnes > /etc/hostname
Define Computer TimeZone
ln -s "/usr/share/zoneinfo/Canada/Eastern" "/etc/localtime"
Set up temporary RamDisk (pre boot)
you can use /etc/mkinitcpio.conf to setup a ramdisk that is loaded before init to send special instructions before boot
I left it as is. Systemd is riggoddamn fast.
Console Keymap + Font
/etc/vconsole.conf
config file /usr/share/kbd/keymaps/i386/qwerty
keymaps /usr/share/kbd/consolefonts/
console fonts vconsole.conf is a two line file where you set your keyboard map (if you are using non-us english keys) and also where you set up your console font. These fonts are listed in /usr/share/kbd/consolefonts/. You may test them in an active console by using the command:
setfont Lat2-Terminus16
.You may test the keymap in a console with
loadkeys us.map
# example /etc/vconsole.conf KEYMAP=us.map FONT=Lat2-Terminus16source:
https://wiki.archlinux.org/index.php/Fonts#Font_packages
UTC vs GMT
It is recommended that you use UTC in both linux and windows, or else you will have to log into windows periodically to have it fix the hardware clock. Setting the hardware clock can be a bit of a pain.
hwclock --hctosys --utc
Journal
Systemd uses journald instead of the traditional syslog. I still need to get using it properly.
# /etc/systemd/journald.conf SystemMaxUse=50M ## By default, journald uses 10% of partition size
Configure pacman
# /etc/pacman.conf CleanMethod = KeepCurrent Color [multilib] Include = /etc/pacman.d/mirrorlist
Install ABS
ABS is the arch build system (inspired by BSD ports)
# Install ports pacman -S abs #install ports sudo abs #sync ports # create a build directory mkdir /home/abs # create build directory for the package you want to build cp -R /var/abs/extra/vim /home/ABS # Edit the CFLAGS in the PKGBUILD file if you like # (in this case change --disable-python to --enable-python) makepkg # Install the newly generated package file pacman -U *.pkg.tar.gz
Set the root password
passwd passwd will
Bootloader/BootManager
There are two components to booting your linux distrobution. The bootmanager which interacts with your bios/efi to choose a hard drive to load, and the bootloader which loads a kernel from a partition.
EFI
systemd-boot grub2-efi BIOS
grub grub2
reboot
reboot into your freshly configured system, then continue in: Arch_PostInstall
exit
umount /mnt
reboot