2022-09-24

라즈베리파이 제로W(Raspberry Pi Zero W) 설치 하기 (Raspberry Pi OS Lite)

라즈베리파이 제로W(Raspberry Pi Zero W) 설치 하기 (Raspberry Pi OS Lite)


처음 라즈베리파이를 사용하기 시작 한 2015년 당시 라즈베리파이2 제품을 사용 중이었는데, 5년 간 사용하다가 갑자기 망가져서 대체품을 찾고 있었다. 

높은 사양이 필요없었기에 2020년 라즈베리파이 제로W를 구있했고, 기존 라즈베리파이2 처럼 아치리눅스ARM을 설치해서 사용했다. 

그러나 얼마 전 32비트 플랫폼 지원이 중단되었고, 다시 라즈베리파이 OS를 설치했다. 

우선 몇 년간 저장되어있던 자료 및 설정 파일 부터 백업 했다. 

라즈베리파이는 리눅스 기반 OS를 사용하기 때문에, PC 데스크탑에서도 리눅스를 사용하면 관리가 수월하다. 

몇 년에 동안 안정적으로 쓰다가 시스템을 새로 설치하는 경우 돌발상황이 생길 수 있기 때문에 초기 세팅 작업 기록을 남겨서 도움이 되고자 한다. 지극히 개인적인 기록인 셈이다.

케이스를 사용하면 충격방지도 되고, 훨씬 깔끔해보인다.


- 준비물 -

1. 라즈베리파이 제로W, 전용케이스 

2. 휴대폰충전기 5V 1A이상 + 마이크로5pin 충전케이블 

3. OTG 용 USB허브 (유선 이더넷까지 포함된 USB허브로 구입했다)

마이크로SD 카드 장착 후 케이스에 결합한 모습

OTG USB허브는 필수는 아니다, 그러나 있으면 편리하다.

4. MicroSD카드 (최대한 용량이 크고, 배속이 빠른게 좋다) 

현재 라즈베리파이 OS 설치는 전용 Imager 프로그램을 이용하므로 편리해졌다.

사용하는 OS에 맞는 설치 프로그램을 이용하면 된다.

Raspberry Pi OS 다운로드 링크

설치 할 때 선택한 OS 이미지를 다운로드해서 SD카드에 바로 설치해준다.

나는 모니터 없이 설정해야 하는데, 이런 경우 WiFi 설정을 Imager 프로그램에서 미리 할 수 있다. 

전원 및 OTG 포트에 허브를 연결한 모습

라즈베리파이 OS부터 다른 OS 설치 옵션도 선택 할 수 있다. 라즈베리 파이는 데스크탑 처럼 사용 할 수도 있지만, 나는 서버로 쓰기 때문에 GUI가 빠져있는 Lite 버젼을 선택했다. 

Pi Imager를 실행 시킨 모습



원하는 OS 이미지를 설치 할 수 있다.


호스트네임, SSH, WiFi 설정을 할 수 있다.


설치 전 WiFi SSID, 비밀번호, 사용자 계정 설정을 미리 확인 후 설치할 수 있다.

만약 OS 설치 중 오류가 생긴 경우 SD카드의 파티션 정보를 깨끗하게 날려주고 다시 설치한다. 간혹 사용중이던 SD카드에 설치 할 때 문제가 발생한다. 비어있는 상태로 작업해야 오류가 나는 것을 예방 할 수 있다. (윈도우에서 NTFS, FAT 등으로 포맷하지 말고, 파티션만 삭제하는게 좋다)


나는 설치 완료 후 SSH로 파이에 접속했는데, 처음에는 접속에 성공했지만, 두번째 접속을 시도 하자, 접속에 실패했다. 원인은 알 수 없었지만 WiFi 연결 문제가 생겨서 결국..

유선 이더넷이 포함된 USB OTG 허브를 이용했다.

유선 이더넷 포트가 달린 USB허브를 이용해 연결한 뒤, SSH로 접속해서 raspi-config 를 실행 후  WiFi 설정을 다시 하니, SSH 접속이 가능했다. 

리눅스 터미널에서 raspi-config 실행 모습

접속이 되면 나머지는 리눅스 터미널에서 작업하는 것처럼 하면 된다.


raspi-config에서도 기본적인 것들은 설정 할 수있는데, 한글 로케일 설정 부터 했다.


ko_KR.UTF-8, 

ko_KR.EUC-KR 

2가지 모두 로케일 설정을 했다. 

UTF-8은 최근 리눅스 환경에서 보통 쓰이는 로케일이고,

EUC-KR은 윈도우에서 사용하므로 둘 다 사용하는게 좋다.


패키지를 전체적으로 업그레이드 해주는게 좋은데, 


/etc/apt/sources.list에서 한국미러링 서버를 설정해주면 업데이트 속도가 빠르다.


deb http://ftp.kaist.ac.kr/raspbian/raspbian/ bullseye main contrib non-free rpi


라즈베리파이OS는 데비안 기반이므로 apt update, apt upgrade 를 한번 해준다. 


패키지 업데이트가 끝나면 사용할 패키지를 설치해주면 된다.


apt install 명령어를 사용하면 된다.


apt install samba (SMB 서버로 윈도우, 맥OS와 로컬 네트워크에서 파일 공유가 가능하다)

apt install emacs-nox (GUI기능을 뺀 터미널 전용 EMACS 에디터)

apt install ranger (터미널 기반 파일 탐색기, 파이썬 기반으로 도스 시절 mdir을 연상시킨다)

apt install bsdmainutils (굳이 설치할 필요는 없지만 터미널에서 cal 명령어를 쓰기 위해서)

나는 DOS 터미널 시스템을 쓰기 때문에 시리얼 터미널 접근도 허용해야 한다. 

systemctl enable serial-getty@ttyUSB0 (시리얼 터미널 활성화)

systemctl start serial-getty@ttyUSB0 (시리얼 터미널 시작)

systemctl status serial-getty@ttyUSB0 (작동 상태 확인)


/etc/systemd/system/getty.target.wants/serial-getty@ttyUSB0.service 파일 수정

ExecStart=-/sbin/agetty 57600 %i vt100 으로 설정파일을 수정했다. 

(터미널에서 시리얼포트 속도를 57600 BPS, VT100 터미널을 사용하기 때문이다)


2022년 DOS를 통해 라즈베리파이에 접속했다. DOS는 아직도 죽지 않았다. 


DOS 터미널에서 라즈베리파이에 접속한 모습 가상머신이 아니다.

w3m 으로 위키 접속한 모습

samba 서비스 상태 확인하는 모습

라즈베리파이 터미널 접속 모습

윈도우와 공유폴더 설정을 위해 samba 서비스를 실행해준다.

samba 설정은 미리 설정파일을 준비해두었기  때문에 서비스만 활성화 하면 된다. 

systemctl enable smbd.service (samba 서비스 활성화)

smbpasswd -a 사용하는 계정명 으로 계정 비밀번호 맞춰줌 

systemctl start smbd.service (samba 서비스 시작)

이제 윈도우에서 네트워크 공유폴더에 접근 할 수 있으면 성공이다. 

각종 설정파일 .bashrc .emacs 등을 복원시켜주고 작업은 마무리 되었다.