라즈베리 파이 제로 W에 타이니 코어 리눅스 설치하기

집에 굴러 다니던 1 GB 마이크로 SD 카드를 찾았는데 라즈베리 파이 OS를 설치할 만큼 크지는 않았다. 그래서 검색을 해 본 결과 타이니 코어 리눅스라즈베리 파이에 설치할 수 있는 제일 작은 배포본 같았다. 라즈베리 파이로 포팅된 버전을 파이코어라고 부른다. 이 배포본의 특징은 전체 시스템을 RAM에 올린 뒤 실행한다는 것이다. 그래서 속도가 빠르다. 단, 파일 시스템에 변경을 가한 다음 재부팅하면 변경된 내용은 없어지고 이전의 상태로 돌아 간다. 변경된 사항을 메모리 카드로 백업하기 위해서는 filetool.sh -b라는 명령으로 백업을 직접 해야 한다. 자동으로 백업하는 방법이 있긴 있다. 이 외에 단점이라면 RAM에 전체 파일 시스템을 올리기 때문에 RAM을 낭비하는 경향이 있다.

1   파이코어 설치하기

piCore-11.0.zip 파일을 다음과 같이 SD 카드로 써 준다.

unzip -p piCore-11.0.zip piCore-11.0.img | dd of=/dev/mmcblk0 bs=4M conv=fsync status=progress

파이를 부팅한다.

# SSH 키가 생성될 때까지 기다린다.

filetool.sh -b # SSH 키를 저장한다.

sudo fdisk -u /dev/mmcblk0 # 2번 파티션의 크기를 확장한다.
# p 명령으로 현재 섹터를 확인한다.
# d 명령으로 2번 파티션을 삭제한다.
# n 명령으로 2번 파티션을 다시 생성한다.
#   이 때 p 명령에서 확인한 시작 섹터에서 시작하고 마지막 섹터까기 파티션을 확정한다.
# w 명령으로 파티션을 저정하고 빠져 나온다.

sudo reboot # 재부팅한다.

재부팅한 다음 파일 시스템의 크기도 확장한다.

sudo resize2fs /dev/mmcblk0p2

2   와이파이 설정하기

와이파이를 설정하기 위해서는 다음의 TCZ를 설치해야 된다.

파이를 끈 후 위의 확장들을 get_picore_pkg 스크립트를 이용해서 SD 카드로 내려받는다.

mount /dev/mmcblk0p2 /mnt
cd /mnt/tce/optional
get_picore_pkg firmware-rpi-wifi wireless-4.19.81-piCore wpa_supplicant
cd
umount /mnt

파이를 부팅한다.

mkdir -p etc/rc.d
wpa_passphrase ssid passphrase > etc/wpa_supplicant.conf
vi etc/wpa_supplicant.conf # 필요한 부분을 수정한다.

vi /opt/bootlocal.sh # 다음의 코드를 추가한다.
-----
# by hcho
for i in /home/tc/etc/rc.d/rc.*; do
  if [ -x $i ]; then
    $i start
  fi
done
-----

vi etc/rc.d/rc.wifi
-----
#!/bin/sh
wpa_supplicant -Dwext -iwlan0 -c/home/tc/etc/wpa_supplicant.conf&
udhcpc -iwlan0&
-----
chmod a+x etc/rc.d/rc.wifi

vi etc/rc.d/rc.hostname # 호스트명을 설정한다.
-----
#!/bin/sh
sethostname mypi
-----
chmod a+x etc/rc.d/rc.hostname

filetool.sh -b

sudo reboot # 재부팅한 후 자동으로 와이파이에 연결되는지 확인한다.

참고문헌

이 칸을 비워 두세요.