Install Arch Linux

2019-11-10

아치 리눅스는 가볍고 이것저것 변경하기 좋은 리눅스 배포판이다.

설치 전 준비물

설치

1. 이미지 usb에 굽기

일단 lsblk 로 usb의 경로를 알아낸다.

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    1  14.9G  0 disk 
├─sda1        8:1    1   609M  0 part /run/media/ezaurum/ARCH_201905
└─sda2        8:2    1    64M  0 part 
nvme0n1     259:0    0 953.9G  0 disk 
├─nvme0n1p1 259:1    0   500M  0 part 
├─nvme0n1p2 259:2    0 452.2G  0 part 
├─nvme0n1p3 259:3    0   512M  0 part /boot
├─nvme0n1p4 259:4    0     1K  0 part 
├─nvme0n1p5 259:5    0 492.7G  0 part /
└─nvme0n1p6 259:6    0     8G  0 part [SWAP]

그러면 dd를 이용해서 usb에 설치한다. sda대신 자기 환경에 맞춰서 경로를 변경해야 함

dd bs=4M if=/path/to/archlinux.iso of=/dev/sda status=progress && sync

dd 는 진행사항이 제대로 보이지 않으니 인내심을 가지고 좀 기다리면 된다. usb 3.0이라면 1분 내외로 끝난다.

윈도우라면 Rufus를 사용

2. 부팅 및 기본 상태 설정

USB를 넣고 부팅하면 그냥 쉘이 뜰 텐데, 당황하지 말자.

  1. 인터넷이 되는지 확인
ping archlinux.org

무선이라면 무선네트워크 설정확인

cli 에 익숙하지 않다면 wifi-menu를 실행해서 와이파이를 연결

  1. 시스템 시간 설정
timedatectl set-ntp true
  1. 키보드 레이아웃 및 폰트 설정 보통은 미국 키보드 형태를 쓸 테니 필요는 없음

3. 파티션 설정

  1. 일단 UEFI가 활성화되어 있는지 확인
ls /sys/firmware/efi/efivars

여기 뭔가 파일이 있으면 UEFI로 부팅된 것

  1. cfdisk로 파티션 나누기 fdisk나 뭐 다른 걸 써도 관계없다. lsblk로 대상 disk의 경로를 알아내서 실행. 자기 환경에 맞춰서 경로 변경해야 함 cfdisk /dev/nvme0n1 UEFI 파티셔닝 예제 개인적으로는 /boot 에 512M, swap에 4G, / 에 나머지를 지정하고 /home을 따로 잡지는 않는다.

혹시 파티션을 지울 수 없다는 에러가 뜨면 파일 시스템을 지정해 준 다음 시도한다.

  1. 파티션 포맷 UEFI는 FAT12, FAT16, FAT32를 지원한다. 부트 파티션은 다른 OS와 같이 쓸 일도 있고 해서 fat32를 권장한다. EFI 파티션 참조
mkfs.fat -F32 /dev/nvme0n1p2

루트는 그냥 ext4 로 설정

mkfs.ext4 /dev/nvme0n1p3

스왑은 다음과 같이 활성화

 mkswap /dev/sdxy
 swapon /dev/sdxy

잘 되었는지 확인하고 싶으면

swapon --show
  1. 파티션 마운트 nvme0n1p3 에 루트 파티션, nvme0n1p1에 boot 파티션을 만들었으므로 거기에 맞춰 마운트를 해 준다. 경로는 자기 환경에 맞추어 변경해 줄 것
mount /dev/nvme0n1p3 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot

4. 기본 패키지 설치

일단 /etc/pacman.d/mirrorlist 파일을 수정해서 한국 미러를 제일 위로 올려두자. 해외 미래는 속도를 보장할 수 없음.

최소 기본 패키지는 라이브USB 상태에서 설치하고, 나머지는 chroot로 실제 시스템으로 들어간 다음 설치함

pacstrap /mnt linux linux-firmware base base-devel vim dhcpcd
  1. 시스템 설정 파일 시스템과 스왑 공간을 인식시킴 -L은 라벨 -U는 uuid
genfstab -U /mnt >> /mnt/etc/fstab
  1. 루트 변경
arch-chroot /mnt

드디어 설치된 시스템으로 들어왔다. 실제로 부팅된 것과 동일한 상태.

5.기본 설정

  1. 로케일 설정 /etc/locale.conf 에서 en_US.UTF-8 을 찾아서 주석을 제거한다. 한국어 ko_KR.UTF-8을 지금 해제하면 에러메세지가 한글로 나오는데 폰트가 없어서 알아볼 수 없는 사태가 생긴다. 나중에 처리할것.
ln -sf /usr/share/zoneinfo/Asis/Seoul /etc/localtime
hwclock --systohc
locale-gen
  1. 무선 설정 막 설치한 시스템에는 무선랜이 설지되어 있지 않다. 지금 연결이 되어 있는 것은 usb에서 부팅한 아치 리눅스. 그러니 일단 설치를 해야 함
pacman -S wpa_supplicant networkmanager
  1. 루트 비밀번호
passwd

비번은 꼭 지정

  1. 부트 로더 (Systemd-boot)[https://wiki.archlinux.org/index.php/Systemd-boot#Installation]를 부팅에 쓸 예정이다. Grub는 너무 복잡해서. 아까 /boot 에 부트 파티션을 마운트 했으니 거기에 맞춰 설치
bootctl --path=/boot install

이 다음에는 마이크로 코드를 시스템에 맞추어 설치한다.

#인텔
pacman -S intel-ucode

#AMD
pacman -S amd-ucode

부팅하기 위해 /boot/loader/loader.conf 를 수정해 줘야 한다

default  arch
timeout  4
console-mode max
editor   no

저기에 맞추어 arch 엔트리를 추가 위치는 /boot/loader/entries/arch.conf 엔트리 설정은 아래와 같다. options 의 root 값은 /etc/fstab을 참조하여 설정

title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=UUID=3952e295-b7v6-4ee9-be68-8f2b037fsbe0 rw

6. 리부트

exit 나 Ctl+D 로 빠져나온다음

umount /mnt/boot
umount /mnt

해당 명령으로 하나씩 마운트를 해제한다. 파티션을 추가로 나눈 게 있다면 더 해 줘야 하고, 루트는 제일 나중에 하면 된다. 바로 리붓해도 되지만, 혹시나 작업이 덜 끝나서 락이 걸린게 있다면 그걸 확인하기 위한 과정. reboot 으로 재시작.

7. 리부트 이후 WIFI가 안 될 때

systemctl enable dhcpcd
systemctl enable NetworkManager

이후 리부트. 또는 start로 실행

2019년 전체 회고 저스티스 리그에서 좋았던 부분