Install Arch Linux
2019-11-10아치 리눅스는 가볍고 이것저것 변경하기 좋은 리눅스 배포판이다.
설치 전 준비물
- USB, CD 등 부팅할 물건
- ISO 이미지
- 인터넷, 가능하면 유선환경을 추천(WIFI가 안 되는 경우가 있음)
- 설치 중 문제해결을 위한 추가PC or 스마트폰
- 아치 리눅스 설치 한국어 가이드
설치
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를 넣고 부팅하면 그냥 쉘이 뜰 텐데, 당황하지 말자.
- 인터넷이 되는지 확인
ping archlinux.org
무선이라면 무선네트워크 설정확인
cli 에 익숙하지 않다면 wifi-menu
를 실행해서 와이파이를 연결
- 시스템 시간 설정
timedatectl set-ntp true
- 키보드 레이아웃 및 폰트 설정 보통은 미국 키보드 형태를 쓸 테니 필요는 없음
3. 파티션 설정
- 일단 UEFI가 활성화되어 있는지 확인
ls /sys/firmware/efi/efivars
여기 뭔가 파일이 있으면 UEFI로 부팅된 것
cfdisk
로 파티션 나누기fdisk
나 뭐 다른 걸 써도 관계없다.lsblk
로 대상 disk의 경로를 알아내서 실행. 자기 환경에 맞춰서 경로 변경해야 함cfdisk /dev/nvme0n1
UEFI 파티셔닝 예제 개인적으로는 /boot 에 512M, swap에 4G, / 에 나머지를 지정하고 /home을 따로 잡지는 않는다.
혹시 파티션을 지울 수 없다는 에러가 뜨면 파일 시스템을 지정해 준 다음 시도한다.
- 파티션 포맷 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
- 파티션 마운트 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
- 시스템 설정 파일 시스템과 스왑 공간을 인식시킴 -L은 라벨 -U는 uuid
genfstab -U /mnt >> /mnt/etc/fstab
- 루트 변경
arch-chroot /mnt
드디어 설치된 시스템으로 들어왔다. 실제로 부팅된 것과 동일한 상태.
5.기본 설정
- 로케일 설정 /etc/locale.conf 에서 en_US.UTF-8 을 찾아서 주석을 제거한다. 한국어 ko_KR.UTF-8을 지금 해제하면 에러메세지가 한글로 나오는데 폰트가 없어서 알아볼 수 없는 사태가 생긴다. 나중에 처리할것.
ln -sf /usr/share/zoneinfo/Asis/Seoul /etc/localtime
hwclock --systohc
locale-gen
- 무선 설정 막 설치한 시스템에는 무선랜이 설지되어 있지 않다. 지금 연결이 되어 있는 것은 usb에서 부팅한 아치 리눅스. 그러니 일단 설치를 해야 함
pacman -S wpa_supplicant networkmanager
- 루트 비밀번호
passwd
비번은 꼭 지정
- 부트 로더 (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로 실행