2015-09-27

Arch linux(아치 리눅스) 라즈베리파이2에 설치하기

Arch linux(아치 리눅스) 라즈베리파이2에 설치하기

Arch Linux는 리눅스 배포본 중에서 가장 업데이트가 빠른 배포본이고,
미니멀한 환경을 제공하므로 자원을 적게 먹기 때문에

라즈베리파이 같은 저사양에서 특히 쓸모가 있다.

라즈베리파이는 공식적으로는 Debian을 최적화한 라즈비안 리눅스를 지원하고 있다.

설치 방법도 무척 간단해서 Micro SD 카드만 있으면 윈도우에서 image를 쉽게
설치할 수 있지만 아직 패키지들이 버전이 낮아 안정감은 있지만,
업데이트 속도가 느려 최신 패키지를 사용하지 못하는 단점도 있다.

그런 반면

Arch Linux의 개발 방향은 최소 지향주의, 빠른 업데이트다.

라즈베리파이를 더욱 가볍게 사용하고 싶다면 Arch Linux를 추천하고
싶다. 설치방법은 이미지 파일을 윈도우에서 구워서 사용할 수 있다면
좋겠지만 가장 최근에 완성된 스냅샷 이미지를 리눅스 환경에서
sd카드에 복사해줘야 한다.

Arch Linux는 현재 공식적으로 i686, x86_64 버전만 제공하지만,

Arch Linux ARM 프로젝트를 통해 아치 리눅스 패키지를 ARM 으로 포팅하여 제공하고 있다.

공식적인 웹페이지는

http://archlinuxarm.org 로 방문하면 정보를 얻을 수 있는데

설치방법은 홈페이지에도 자세하게 나와있지만

PC에 아치리눅스를 설치하는 방법보다는 쉽다.

크게 생각하면 두가지 작업이 필요하다..

1. 리눅스가 설치될 파티션 작업 (기본 파티션, 스왑파티션 필요)

2. 기본 패키지가 탑재된 스냅샷 압축풀기 & 부팅파일 복사.

우선 리눅스 환경에서 micro sd 카드 리더기 등을 통해 sd를 넣고

fdisk /dev/sdX (sda,b 등)

파티션 작업 화면에서

o를 눌러 모든 파티션을 삭제해준다.

먼저 부팅용 파티션을 먼저 만들어줘야한다. n 을 눌러 새로운 파티션을
생성해주고 p를 눌러 프라이머리 파티션을 선택해주고 용량을
선택하는데 부팅 파티션용으로 +100M 으로 입력해주면 100메가바이트
정도의 파티션이 잡힌다. 그 후 t를 눌러 파티션 타입을 지정해주는데
c 를 눌러서 W95 FAT32 (LBA) 로 선택한다. 두번째로 리눅스가 설치될
파티션을 잡아준다.

n 을 누르고 p 를 눌러서 프라이머리 파티션을 골라주고, 용량은 최대로
잡아준다 그냥 엔터치면 처음 섹터부터 마지막 섹터까지 용량이 모두
선택된다. 파티션 작업이 끝나면 w 를 누르고 저장하고 나오면 된다.

그 다음은 파티션의 기본 파일시스템을 포멧해주는 작업을 해야한다.

/dev/sdb1 은 sdb 장치의 1번 파티션을 의미한다. 마찬가지로 fdisk에서
자신이 선택했던 sd장치의 장치명에 숫자1을 붙여서 첫번째 파티션에
부팅용 fat32파티션을 잡아준다.

mkfs.vfat /dev/sdX1

mkdir boot

mount /dev/sdX1 boot

그리고 아무 마운팅포인트용 디렉토리 boot를 만들어주고 마운트를
걸어준다.

mkfs.ext4 /dev/sdX2

mkdir root

mount /dev/sdX2 root

아까와 같은 방법으로 두번째 리눅스가 설치될 파티션도 ext4로 포멧후
마운트 걸어준다. 이제 이미지를 다운받는다.

wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz

다운받았다면 bsdtar이란 명령으로 압축을 풀어주면 된다. (없으면
설치하면 된다)

bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root

sync

이미지가 다 풀리고 나면 sync를 걸어준다.

mv root/boot/* boot

마지막으로 부팅파일을 폴더에 따로 복사해준다.

umount boot root

마운트를 해제 하고 sd메모리를 이용해 부팅하면 arch linux가
구동된다. 기본 비밀번호는 콘솔에서 바로 작업할경우 root로 로그인
후 비밀번호 root 로 로그인 할 수 있지만 모니터 없이 바로 ssh로
네트워크로 접속 할 수 있다. 기본 계정은 alarm / alarm 로 접속
가능하다.

기본 패키지가 심플하게 구성되어 sudo 같은것도 없기 때문에

su 로 root쉘로 로그인 가능하다. 

설치 직후 

pacman-key --init
pacman-key --populate archlinuxarm

를 실행한다. 

기본적인 업데이트는 수시로 root 계정으로 pacman -Syu 실행하면
알아서 업데이트 해준다. 다만 간혹 미러사이트에 접속이 잘 안되는 경우가 있다.
/etc/pacman.d/mirrorlist 파일에서 싱가포르나 타이완 쪽 서버를 수동으로 잡아주면 잘된다.업데이트 후 파티션 용량은 1기가 정도
사용하고 있었다. 라즈베리파이 기본 데비안은 약 2.5기가 정도의
용량을 차지했었다. X윈도 환경을 설치하면 더욱 용량을 사용하겠지만
터미널 상태로 사용한다면 4기가 sd메모리로도 시스템 운용을 할 수
있을 것 같다.

기타 모든 정보들은 arch linux 자료를 참조하면 되는데, 문서화가
상당히 잘되어있는 배포본이라 인터넷 뒤지면 다나온다.

사용해본 소감은

커널도 최신버전으로 적용되어있고, init 프로세스가 systemd로
교체되어 부팅속도도 빠르고, 안정감도 있었다.

시리얼포트를 열어서 도스 터미널에서 작업가능하도록 세팅 후

systemctl enable serial-getty@ttyUSB0.service

로케일 설정, 시간대 설정, 패키지 설정까지 큰 어려움은 없었다. 

DNS 설정을 위해서 

/etc/systemd/resolved.conf 를 수정한다.

DNS=x.x.x.x x.x.x.x 이런식으로 추가한 뒤 

 systemctl restart systemd-resolved

하면 된다. 기존에는 /etc/resolv.conf를 직접 수정했지만, 

이제는 systemd를 통해 제어할 수 있다. 


설치한 패키지는 다음과 같다. x11을 사용하지 않는 터미널 상태의
프로그램들이다.

lrzsz (시리얼포트를 이용해 도스머신과 zmodem 파일전송 프로토콜)

emacs-nox (최신 emacs without x11 버전)

mutt (심플한 imap,pop 메일 클라이언트)

w3m (텍스트기반 웹브라우저)

fbterm (프레임버퍼 기반의 한글 콘솔터미널)

uim (터미널 상태에서 한글입력기인 uim-byeoru가 탑재됨)

omxplayer (라즈베리파이에 최적화된 전용 미디어플레이어 x11 환경이 아니어도 동영상을 재생 할 수 있다)

pip3를 설치하고, mps-youtube와 youtube-dl을 설치하면 터미널에서도 유튜브를 시청할 수 있다.

삼바설정은

pacman -S samba 패키지를 설치한 뒤

/etc/samba/smb.conf 파일을 설정해준다.

[global]
        workgroup = WORKGROUP
        server string = alarm
        security = user
        lanman auth = yes
        ntlm auth = yes
        client ntlmv2 auth = yes
        dns proxy = no
[alarm]
        path = /home/alarm/samba/
        public = no
        read only = no
        writable = yes
        printable = no

서비스를 시작한다

smbpasswd -a alarm(사용자명)

systemctl start smb.service
systemctl enable smb.service


게다가 라즈베리파이에서 윈도우 환경도 최신으로 가능하다. 다만 GNOME과 같은 환경은 느려서 쓸 수가 없다. LXDE,LXQT,XFCE,MATE 이 정도 수준에서 윈도우 환경을 선택하면 무난할 것이고, 더 자원소모량이 적은 I3 같은 것도 문제는 없다.

라즈베리파이 같은 저사양에서는 아치리눅스ARM을 추천하고 싶다.


Arch linux ARM(아치 리눅스) 라즈베리파이2에 설치하기