라즈베리파이 1 키오스크 모드

기존에 사용하던 라즈베리파이가 어느날부턴가 부팅이 되지 않아 확인해보니 SD카드가 깨졌다. 다시 파티션하고 포멧해보려 해도 할 수 없다며 에러가 출력된다.

할 수 없이 다시 만들어야 해서 이것 저것 다시 찾아보게 되어 여기에 정리를 해 둔다. 설정이 완료되면 SD 카드를 백업해 두고 나중에 다시 사용할 수 있도록 해야 할 것 같다.

FullPageOS 설치

설치해봤으나 커널 패닉이 뜨면서 부팅이 되지 않는다. 문서를 좀 읽어보니 라즈베리파이 1은 지원하지 않는다.

라즈베리파이 2 이상을 사용한다면 이게 가장 간단한 방안이 아닐까 싶다. boot 파티션의 파일들을 통해서 네트워크 설정, 웹 페이지 설정이 가능하다.

Jessie Lite 설치

lightDM 등 가볍게 X 환경을 설치한 후 chromium-browser를 설치하려했는데 apt-get을 통해서는 설치할 수가 없었다. 수동 설치 방안이 있는 것 같았으나 일이 복잡해질 것 같아서 패스.

Jessie Full 버전 설치

PIXEL 데스크탑 환경이 포함되어있는 이미지를 다운로드하여 설치했다. 기본적으로 chromium-browser가 설치되어있어서 자동으로 실행되게 하기만 하면 된다.

이미지를 SD카드에 풀어낸 후 부팅을 한 후 먼저 WiFi 설정을 한다. 유선을 사용한다면 별로 필요없을 것 같고, 무선랜을 사용한다면 /etc/wpa_supplicant/wpa_supplicant.conf 파일에 다음과 같이 추가해준다.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
    ssid="ssid name"
    psk="password"
    key_mgmt=WPA-PSK
}

화면을 보니 full screen으로 출력이 안된다. 강제로 1920×1080으로 출력하도록 /boot/config.txt를 다음과 같이 수정한다.

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=82

chromium-browser를 실행해보면 한글이 깨져나오는데 아래와 같이 ttf-unfonts-core를 설치해준다.

$ sudo apt-get install ttf-unfonts-core

그다음 마우스 커서를 없애기 위해 unclutter 패키지를 설치한다.

$ sudo apt-get install unclutter

이제 chromium-browser가 자동으로 실행되도록 설정한다. ~/.config/lxsession/LXDE-pi/autostart 파일을 열어서 아래 라인을 추가한다. screen save 관련 옵션을 코멘트 처리하거나 지운다.

@xset s off
@xset s noblank
@xset -dpms

@chromium-browser --noerrdialogs --kiosk --incognito http://page.to/show

이제 재부팅 후 제대로 나오는지 확인한다. 제대로 페이지가 출력이 되면, SD카드를 백업한다. 다시 SD카드에 문제가 생기면 백업해둔 이미지를 SD카드에 풀어넣으면 된다.

$ diskutil unmountDisk /dev/disk# (#은 SD카드 번호)
$ sudo dd bs=1m if=/dev/disk# of=./pi1.img

혹시나 싶어 SD카드를 Lock 걸고 켜봤는데 그래도 잘 동작한다. Lock을 걸어두고 쓰면 더 오래 쓸 수 있지 않을까 싶어서 걸어두기로..

댓글 남기기