행복한 하루
Tinker Board 2S eMMC에 OS(Debian 10) 설치 및 Docker 설치하기 본문
안녕하세요.
남은 Tinker Board 2S가 있어서 그냥 두기는 아까워서 간단한 서버로 사용해보기로 하였습니다. 대중적인 Ubuntu가 설치되면 좋은데, Tinker Board 2S에 Ubuntu를 설치했다는 글은 있는데 실제 설치하는 방법이 나오지 않아서 기본제공해주는 Tinker OS(Debian 10) 버전을 설치했습니다.
또한 Tinker Board에서 DB, Web Server 등의 Docker를 이용해보려고 했는데 쉽게 설치가 되지 않아서 어떻게 해보았는지 공유해 보아요.
1. Tinker OS(Debian 10)를 eMMC에 설치하기
- Tinker Board 매뉴얼을 따라 해보려고 했는데 설명이 조금 부족한 느낌이 들었습니다.
1) 먼저 J3 점퍼를 Default disable로 연결해야 합니다. 그러면 eMMC가 윈도우에서 드라이브로 인식하여 OS를 설치할 수 있습니다.
2) USB-C 타입 단자(OTG Port)에 USB-C 타입 케이블을 PC와 연결합니다. (USB-C 타입 케이블은 데이터 케이블인지 확인 필요) 그리고 전원을 인가하면 윈도우 저장장소로 인식합니다.
3) balenaEtcher를 설치하고 실행해서 OS파일(압축 풀어서 ISO 파일로)을 선택해주고 Write 할 장치(Tinker Board eMMC)를 선택해 줍니다.
- Tinker OS : https://tinker-board.asus.com/download-list.html?product=tinker-board-2s
- balenaEtcher : https://www.balena.io/etcher/
- 현재 시점에서 Tinker_Board_2-Debian-Buster-v2.0.14-20220823.zip을 받았으며 압축을 풀어서 ISO 파일로 선택했습니다. (압축 풀면 용량이 4GB가 되지만 할 때마다 balenaEtcher 프로그램에서 압축을 풀고 하는 것이 귀찮아서... , Location이 많이 나오는 이유는 이미 한번 설치해서 여러 드라이브로 나타났습니다.)
- 설정이 끝났다면 Flash를 눌러서 eMMC에 OS를 설치합니다.
- 설치가 완료되었으면 J3의 점퍼를 제거해후 리부팅을 하면 eMMC로 부팅이 됩니다.
2. SSH 설치
- WiFi나 LAN을 연결한 상태에서 작업을 해야 합니다. (현재 작업할 때는 유선 LAN 드라이버가 잡히지 않아서 그냥 WiFi로 네트워크 설정을 하였습니다.)
- 아마 미리 설치되어 있겠지만, SSH를 설치해서 원격지에서 접근할 수 있도록 합니다.
linaro@linaro-alip:~$ sudo apt-get install openssh-server
- ipconfig 명령어가 기본 제공되지 않기 때문에 ip 명령어로 대신합니다. a 옵션을 붙이면 자신의 아이피와 기타 설정 내용을 볼 수 있습니다.
linaro@linaro-alip:~$ ip a
3. Docker 설치
- 1)의 내용은 기존 정보를 따라 했지만 설치가 되지 않은 내용입니다. 이렇게 해봤는데 동일하게 안되네 정도로 참고해보시면 어떨까 해서 넣어 두었습니다. 그래서 바로 설치하겠다 하시는 분은 2)로 넘어가시면 됩니다.
1) Docker 설치를 실패한 내용들
- OS 업데이트와 필요한 패키지를 설치해 줍니다.
linaro@linaro-alip:~$ sudo apt update
linaro@linaro-alip:~$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
- 리포지토리의 GPG 키를 가져옵니다.
linaro@linaro-alip:~$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add
- Docker APT 저장소를 시스템의 소프트웨어 저장소 목록에 추가
linaro@linaro-alip:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
- 패키지 목록을 다시 한번 업데이트하고 Docker CE(Community Edition) 버전을 설치합니다. (다운로드 안됨)
linaro@linaro-alip:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io -y
- 직업 docker.io 설치하려고 했지만 안됨
linaro@linaro-alip:~$ sudo apt install docker.io
linaro@linaro-alip:~$ sudo systemctl enable --now docker
- 자동 설치 버전하는 스크립트 버전이 있어서 해봤지만 안되었습니다.
linaro@linaro-alip:~$ curl -fsSL get.docker.com | CHANNEL=nightly sh
- 위의 내용들은 제가 실수하는 부분이 있을 수 있기 때문에 다른 분들은 설치가 될 수 있으니 참고정도 하시면 좋을 것 같습니다.
2) Docker 설치 완료한 방법
linaro@linaro-alip:~$ sudo apt-get remove docker docker-engine docker.io containerd runc
linaro@linaro-alip:~$ sudo apt-get update
linaro@linaro-alip:~$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
linaro@linaro-alip:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
linaro@linaro-alip:~$ sudo apt-key fingerprint 0EBFCD88
linaro@linaro-alip:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
linaro@linaro-alip:~$ sudo apt-get update
linaro@linaro-alip:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
linaro@linaro-alip:~$ sudo docker run hello-world
- 추가 작업 (sudo 명령어 줄이기)
linaro@linaro-alip:~$ sudo groupadd docker
linaro@linaro-alip:~$ sudo usermod -aG docker $USER
linaro@linaro-alip:~$ newgrp docker
linaro@linaro-alip:~$ docker run hello-world
- 설치된 버전 확인
linaro@linaro-alip:~$ docker version
4. 파이썬이 설치된 이미지 컨테이너 실행
linaro@linaro-alip:~$ docker run -it python:3.8-apline
- 파이썬 동작 확인
- 이렇게 저렇게 설치해보면서 느낀 점은 ASUS에서 지원하는 보드인데도, 생각 외로 국내에 자료가 많지 않았던 것 같습니다. 무료 이벤트등 진행해서 개발자들을 많이 참여할 수 있는 생태계를 만들어 놓으면 좋지 않을까 생각이 들었고 3rd Party Partners에서 여러 가지 OS를 배포해주지만 일반적이지 않아서 기존 개발자가 설치를 잘해보지 않는 것 같았습니다. 조금 더 설명이나 정보가 제공되면 좋지 않을까 생각이 되었습니다. (제가 더 자세히 찾아보지 않아서 그럴 수 있으니 좋은 자료 있으면 공유부탁드립니다.)
감사합니다.
<참고 사이트>
1. tinker board
https://tinker-board.asus.com/index.html
2. SSH 서버 설치
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jodi999&logNo=221334854192
3. Linux : Debian 10 : Docker 설치 방법, 예제, 명령어
https://jjeongil.tistory.com/1655
4. Install Docker CE and Docker Compose on Debian 11/10
https://computingforgeeks.com/install-docker-and-docker-compose-on-debian/
5. 도커(Docker) 입문편 (docker-ce와 docker-ce-cli 다른 점)
https://www.44bits.io/ko/post/easy-deploy-with-docker
6. 【Developer Guide】 –Tinkerboard 2/2s(RK3399)Debian build instruction
https://www.tinkerboard.cn/thread-223-1-1.html
7. docker run 커맨드 사용법
https://www.daleseo.com/docker-run/
'IoT' 카테고리의 다른 글
Raspberry Pi에서 W5100S-EVB-Pico MicroPython 빌드시켜 보기 (0) | 2023.04.18 |
---|---|
Arduino Nano IoT 33을 이용해서 DC 전압 측정 센서 테스트(SZH-SSBH-043) (0) | 2022.11.30 |
리튬 배터리(Li-Po) 3.7V 셀용 충전 겸 4.3V~27V 가변 부스트 출력 UPS 모듈(J5019)용 사용후기 (2) | 2022.03.24 |
이더넷(ethernet)을 이용한 2ch 릴레이(Relay) 모듈 테스트(2 Channel Ethernet LAN Relay Module) (0) | 2021.08.11 |
아두이노 나노(Arduino nano) 33 IoT 버전 부족한 시리얼 포트 방법(SoftwareSerial 대체(?)) (0) | 2021.06.27 |