../arch-linux-installation

Arch Linux Installation Guide

Table of contents

Disclamer:
This guide is for personal use, written in Korean, and not guaranteed for complete and successful installation.
Please refer to arch linux wiki for actual guide.

## 설치 전 할 일

  1. UEFI로 부팅되었는지 체크

    ls /sys/firmware/efi/efivars
    
    • 폴더가 존재한다면 UEFI로 부팅 성공
  2. Wifi가 필요하다면 연결

    wifi-menu
    
    • ping google.com 으로 연결 확인
  3. 시계 업데이트

    timedatectl set-ntp true
    
  4. 디스크 파티셔닝 및 포맷

    1. 파티셔닝

      cgdisk /dev/sda
      
      • /dev/sda1: boot 파티션, 1GB, EFI System (EF00)
      • /dev/sda2: swap 파티션, RAM 크기보다 조금 크게, Linux swap (8200)
      • /dev/sda3: root 파티션, Linux filesystem (8300)
    2. 포맷

      mkfs.fat -F32 /dev/sda1
      mkswap /dev/sda2
      mkfs.ext4 /dev/sda3
      
    3. 스왑 활성화

      swapon /dev/sda2
      
  5. 디스크 마운트

    mount /dev/sda3 /mnt
    mkdir /mnt/boot
    mount /dev/sda1 /mnt/boot
    

## 설치

  1. /etc/pacman.d/mirrorlist에서 pacman 한국 미러 추가

    Server = https://ftp.lanet.kr/pub/archlinux/$repo/os/$arch
    Server = http://ftp.lanet.kr/pub/archlinux/$repo/os/$arch
    Server = http://mirror.premi.st/archlinux/$repo/os/$arch
    
  2. 기본 패키지 설치

    pacstrap /mnt base base-devel
    

## 시스템 기본 설정

  1. fstab 파일 생성

    genfstab -U /mnt >> /mnt/etc/fstab
    
  2. 설치한 리눅스로 chroot

    arch-chroot /mnt
    
  3. 타임존 설정

    ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
    hwclock --systohc --utc
    
  4. 로케일 생성

    1. /etc/locale.gen에서 로케일을 uncomment

      • en_US.UTF-8 UTF-8
      • ko_KR.UTF-8 UTF-8
    2. locale-gen으로 로케일 생성

    3. 사용할 로케일을 /etc/locale.conf에 추가

      echo LANG=en_US.UTF-8 > /etc/locale.conf
      
  5. 네트워크 설정

    1. /etc/hostname에서 호스트네임 설정

    2. /etc/hosts에서 설정한 호스트네임 추가

      127.0.0.1	localhost
      ::1		localhost
      127.0.1.1	HOSTNAME.localdomain	HOSTNAME
      
    3. 네트워크 설정 참고

  6. 유저 생성

    1. 새 유저 생성

      useradd -m -G sudo -s /bin/bash USERNAME
      passwd USERNAME
      
    2. EDITOR=nano visudo%sudo ALL=(ALL) ALL를 uncomment

    3. root 잠그기

      passwd root -dl
      
  7. 부트로더 설치

  8. GUI 설치

## 재부팅

exit
umount -R /mnt/boot
umount -R /mnt
reboot

## 네트워크 설정

Arch Wiki/Network Configuration

DHCP를 세팅하거나, NetworkManager를 설치하면 된다.

GUI 환경을 세팅할거면 얌전히 NetworkManager를 설치하자.

### NetworkManager

pacman -S networkmanager
systemctl enable NetworkManager.service

시스템 트레이가 필요하면 network-manager-applet 설치

### 무선 네트워크

Arch Wiki/Wireless Network Configuration 참조

iw, wpa_supplicant, gnome-keyring을 설치하면 대충 된다

## 부트로더 설치

Arch Wiki/Category:Boot Loaders

intel 또는 AMD CPU 사용자라면 microcode를 설치해야한다.

### GRUB

  1. grubefibootmgr 설치

  2. 부트로더 설치

    grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
    
  3. /etc/default/grub에서 설정

    • GRUB_TIMEOUT : 1
  4. 설정파일 생성

    grub-mkconfig -o /boot/grub/grub.cfg
    

### systemd-boot

  1. 부트로더 설치

    bootctl --path=/boot install
    
  2. root 파티션의 PARTUUID를 확인

    blkid -s PARTUUID -o value /dev/sda3
    
    • 위 줄을 실행하면 root 파티션의 PARTUUID가 출력된다
  3. /boot/loader/entries/arch.conf 파일을 생성

    title Arch Linux
    linux /vmlinuz-linux
    initrd /initramfs-linux.img
    options root=PARTUUID=(아까 읽은 PARTUUID) rw
    
    blkid -s PARTUUID -o value /dev/sda3 > /boot/loader/entries/arch.conf
    

    위 처럼 실행한 후 수정하면 편하다

  4. /boot/loader/loader.conf를 수정

    default arch
    timeout 1
    editor 0
    

## GUI 설치

아치 위키를 참조해서 그래픽카드 드라이버 설치. 인텔이면 mesa, xf86-video-intel을 설치하면 대충 된다.

터치패드가 있다면 xf86-input-synaptics 설치

### GNOME

아주 쉽다.

pacman -S gnome
systemctl enable gdm.service

### KDE

  1. X Server 설치

    pacman -S xorg-server xorg-server-utils
    
  2. plasma 설치

  3. plasma에 기본 프로그램이 하나도 없기 때문에 konsole 등의 기본 프로그램을 꼭 설치

  4. 언어팩 설치

    pacman -S kde-l10n-ko
    
  5. 디스플레이 매니저 활성화

    systemctl enable sddm.service
    

### xfce4

  1. X Server 설치

    pacman -S xorg-server xorg-server-utils
    
  2. xfce4 설치

  3. 디스플레이 매니저를 설치해야한다. 만만한 GDM을 써보자

    pacman -S gdm
    systemctl enable gdm.service
    

## 기타

### linux-lts 설치

linux 커널이 가끔 불안정할 때가 있어서 linux-lts를 선호

  1. linux-lts 패키지 설치
  2. 부트로더가 linux-lts로 부팅하도록 설정
    • GRUB

      1. /etc/default/grub 수정

        • GRUB_DISABLE_SUBMENU : y
        • linux와 lts 중 선택하여 부팅하고, 이전 선택을 기억하고 싶다면
          • GRUB_TIMEOUT : 충분히 늘리기 (예: 4)
          • GRUB_DEFAULT : saved
          • GRUB_SAVEDEFAULT : true
        • lts로만 부팅하고 싶다면
          • lts로 부팅하고 linux를 삭제
          • 또는 GRUB_DEFAULT를 lts로 바꾸기
      2. 설정파일 생성

        grub-mkconfig -o /boot/grub/grub.cfg
        
    • systemd-boot

      1. /boot/loader/entries/arch-lts.conf 파일 생성

        title Arch Linux LTS
        linux /vmlinuz-linux-lts
        initrd /initramfs-linux-lts.img
        options root=PARTUUID=(root 파티션의 PARTUUID) rw
        
      2. 기본으로 부팅하고 싶다면 /boot/loader/loader.conf 수정

        default arch-lts
        
        ...
        

## 설치 중 문제가 발생했을 때

### PGP 키 에러가 날때

archlinux-keyring, gnome-keyring을 재설치하고 다시 해보자