User Tools

Site Tools


distros:arch_linux_install

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
distros:arch_linux_install [2016/10/05 11:28]
Sean Rhone
distros:arch_linux_install [2016/10/05 11:35] (current)
Sean Rhone
Line 1: Line 1:
 +====== Information ======
  
 +  * Arch Linux Installation
 +
 +====== Download ======
 +
 +  * https://www.archlinux.org/download
 +
 +====== Installation Notes ======
 +
 +  * https://wiki.archlinux.org/index.php/Installation_guide
 +
 +====== Initial ======
 +
 +===== EFI Entry Wipe =====
 +
 +  * Repeat ''-b'' for every entry that appears with ''-v''
 +
 +  efibootmgr -v
 +
 +  efibootmgr -b 0000 -B
 +
 +  efibootmgr -b 0001 -B
 +
 +  efibootmgr -O
 +
 +===== Drive Wipe =====
 +
 +  * See [[distros:arch_linux_install#hdparm_secure_erase | hdparm Secure Erase]] for thorough erase
 +  * Change ''/dev/sda'' to match environment
 +  * Run the ''dd'' command for a few seconds or so just to wipe out any surviving disk/partition information at the beginning of the drive
 +
 +  lsblk
 +
 +  sgdisk --zap-all '/dev/sda'
 +
 +  dd if='/dev/zero' of='/dev/sda'
 +
 +  reboot
 +
 +===== Test Internet =====
 +
 +****
 +
 +  ping 'archlinux.org'
 +
 +===== Wireless Connection =====
 +
 +  * ''iw dev'' is used to find the wireless interface name
 +  * If single wireless interface exists, no need to specify it
 +
 +  iw dev
 +
 +  wifi-menu -o 'wlp3s0'
 +
 +===== Enable SSH =====
 +
 +  * Allows installation over SSH
 +  * ''ifconfig'' shows the IP address
 +  * Connect with the username ''root''
 +
 +  ip addr
 +
 +  passwd
 +
 +  systemctl start 'sshd'
 +
 +===== Synchronize Time =====
 +
 +****
 +
 +  timedatectl set-ntp 'true'
 +
 +====== Disk Partitioning ======
 +
 +  * See [[information:partitioning | Partitioning]]
 +
 +====== Install ======
 +
 +===== Update Mirrorlist =====
 +
 +  * Uncomment the commented Server URLs
 +
 +  wget 'https://www.archlinux.org/mirrorlist/?country=US&protocol=https&ip_version=4' -O '/etc/pacman.d/mirrorlist'
 +
 +  nano '/etc/pacman.d/mirrorlist'
 +
 +==== Easy Update Mirrorlist ====
 +
 +  * Useful for copy/paste over SSH
 +
 +  wget 'https://www.archlinux.org/mirrorlist/?country=US&protocol=https&ip_version=4' -O '/tmp/mirrorlist' && sed -i 's/#Server/Server/g' '/tmp/mirrorlist' && mv '/tmp/mirrorlist' '/etc/pacman.d/mirrorlist'
 +
 +===== Install =====
 +
 +****
 +
 +  pacstrap -i '/mnt' 'base' 'base-devel'
 +
 +====== Configuration ======
 +
 +===== fstab =====
 +
 +****
 +
 +  genfstab -L '/mnt' >> '/mnt/etc/fstab'
 +
 +===== chroot =====
 +
 +****
 +
 +  arch-chroot '/mnt'
 +
 +===== Time Zone =====
 +
 +  ln -s '/usr/share/zoneinfo/America/New_York' '/etc/localtime'
 +
 +  hwclock --systohc --utc
 +
 +===== Locale =====
 +
 +==== Set locale.gen ====
 +
 +  * Uncomment ''en_US.UTF-8 UTF-8'' in ''locale.gen''
 +
 +  nano '/etc/locale.gen'
 +
 +==== Set locale.conf ====
 +
 +  echo LANG='en_US.UTF-8' > '/etc/locale.conf'
 +
 +==== Easy .conf and .gen Set ====
 +
 +  * Useful for copy/paste over SSH
 +  * This can be used instead of the two commands above
 +
 +  sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' '/etc/locale.gen' && echo LANG='en_US.UTF-8' > '/etc/locale.conf'
 +
 +===== Generate =====
 +
 +****
 +
 +  locale-gen
 +
 +===== Hostname =====
 +
 +  * Change ''x'' to desired hostname
 +
 +  echo 'x' > '/etc/hostname'
 +
 +===== Pacman =====
 +
 +  * Uncomment ''Color'' and ''TotalDownload''
 +  * Uncomment ''[multilib]'' and its following ''Include'' line on 64-bit installs if multilib is desired
 +  * Add ''ILoveCandy'' under Misc options
 +
 +  nano '/etc/pacman.conf'
 +
 +  pacman -Syyuu
 +
 +===== NetworkManager =====
 +
 +  pacman -S 'networkmanager'
 +
 +  systemctl enable 'NetworkManager'
 +
 +===== F2FS =====
 +
 +  * If root partition is **F2FS**, this is mandatory
 +
 +  pacman -S 'f2fs-tools'
 +
 +===== OpenSSH =====
 +
 +  * This is needed for both the service and client
 +
 +  pacman -S 'openssh'
 +
 +===== Intel Microcode =====
 +
 +****
 +
 +  pacman -S 'intel-ucode'
 +
 +===== Root Password =====
 +
 +****
 +
 +  passwd
 +
 +===== Create User =====
 +
 +  * Change ''espionage724'' to desired username
 +
 +  useradd -m -G 'wheel' -s '/bin/bash' 'espionage724'
 +
 +  passwd 'espionage724'
 +
 +  chfn 'espionage724'
 +
 +===== Enable SSH =====
 +
 +  pacman -S 'openssh'
 +
 +  nano '/etc/ssh/sshd_config'
 +
 +  PermitRootLogin no
 +
 +  systemctl enable 'sshd.socket'
 +
 +===== sudo =====
 +
 +  * Uncomment ''%wheel ALL=(ALL) ALL''
 +
 +  EDITOR='nano' visudo
 +
 +  %wheel ALL=(ALL) ALL
 +
 +===== Nano as default editor =====
 +
 +  nano '/etc/sudoers.d/nano'
 +
 +  Defaults editor = /usr/bin/nano
 +
 +==== Easy Defaults editor ====
 +
 +  * Useful for copy/paste over SSH
 +
 +  echo 'Defaults editor = /usr/bin/nano' > '/etc/sudoers.d/nano'
 +
 +===== Allow nano text wrapping =====
 +
 +  nano '/etc/nanorc'
 +
 +  set nowrap
 +
 +==== Easy set nowrap ====
 +
 +  * Useful for copy/paste over SSH
 +
 +  sed -i 's/# set nowrap/set nowrap/g' '/etc/nanorc'
 +
 +====== Initramfs ======
 +
 +  * Modules line is needed only if root partition is F2FS
 +  * Add ''lvm2'' between ''block'' and ''filesystems'' hooks if using LVM
 +  * Add ''encrypt'' between ''block'' and ''filesystems'' hooks, but before ''lvm2'' for encrypted root partition
 +  * Add ''COMPRESSION=cat'' to disable image compression
 +
 +===== Options =====
 +
 +  nano '/etc/mkinitcpio.conf'
 +
 +  MODULES="f2fs crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"
 +
 +  HOOKS="base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck"
 +
 +  COMPRESSION=cat
 +
 +===== Generate =====
 +
 +****
 +
 +  mkinitcpio -P
 +
 +====== Boot Loader ======
 +
 +===== systemd-boot =====
 +
 +  * For GPT/EFI set-ups
 +
 +==== Install ====
 +
 +****
 +
 +  bootctl install
 +
 +==== Entry ====
 +
 +  * Add ''cryptdevice=/dev/sda2:lvm'' to options if encrypted
 +  * Change ''root='' to ''/dev/mapper/arch-root'' if using LVM
 +  * Remove ''initrd /intel-ucode.img'' if not using an Intel processor
 +
 +  nano '/boot/loader/entries/linux-kernel.conf'
 +
 +  title Arch Linux (linux-kernel)
 +  linux /vmlinuz-linux
 +  initrd /initramfs-linux.img
 +  initrd /intel-ucode.img
 +  options root=/dev/sda2 rw quiet
 +
 +==== Loader ====
 +
 +  nano '/boot/loader/loader.conf'
 +
 +  timeout 2
 +  default linux-kernel
 +  editor 0
 +
 +===== GRUB =====
 +
 +  * For MBR/Legacy set-ups
 +
 +==== Install ====
 +
 +  pacman -S 'grub'
 +
 +  grub-install --target='i386-pc' '/dev/sda'
 +
 +==== Settings ====
 +
 +  nano '/etc/default/grub'
 +
 +  GRUB_TIMEOUT 2
 +
 +==== Finalize ====
 +
 +****
 +
 +  grub-mkconfig -o '/boot/grub/grub.cfg'
 +
 +===== Finalize =====
 +
 +  sync
 +
 +  exit
 +
 +  umount -R '/mnt'
 +
 +  poweroff
 +
 +====== Continue ======
 +
 +  * [[distros:arch_linux_plasma | Arch Linux (Plasma)]]
 +
 +====== Notable Folders and Commands ======
 +
 +===== Show CPU Frequency =====
 +
 +  grep 'MHz' '/proc/cpuinfo'
 +
 +  watch -n 0.1 grep \'cpu MHz\' '/proc/cpuinfo'
 +
 +===== Partition Information =====
 +
 +****
 +
 +  df -hT
 +
 +===== hdparm Secure Erase =====
 +
 +  lsblk
 +
 +  hdparm -I '/dev/sda' | grep 'not'
 +
 +  hdparm --user-master u --security-set-pass 'x' '/dev/sda'
 +
 +  hdparm --user-master u --security-erase 'x' '/dev/sda'
distros/arch_linux_install.txt ยท Last modified: 2016/10/05 11:35 by Sean Rhone