Home Assistant

안드로이드 스마트폰을 홈어시스턴트 서버로 사용하기 #1 linux deploy 설정

초콜릿밀크 2022. 9. 9. 02:41

2022.09.09 - [Home Assistant] - 안드로이드 스마트폰을 홈어시스턴트 서버로 사용하기 #2 Home Assistant Core 설치

2022.09.12 - [Home Assistant] - 안드로이드 스마트폰을 홈어시스턴트 서버로 사용하기 #3 삼바 설정


루팅한 안드로이드 스마트폰을 홈어시스턴트 서버로 사용하기 위해 linux deploy를 설정하는 방법

참고: meefik/linuxdeploy: Install and run GNU/Linux on Android (github.com)

1. Linux Deploy, BusyBox 설치

  • 플레이 스토어에서 Linux Deploy를 찾아서 설치한다. 루팅한 안드로이드폰만 사용할 수 있으며 앱이 루트 권한을 요구할 경우 허용한다.

  • 실행하고 메인 화면에서 "이 경로"를 눌러 스토어에서 BusyBox를 설치한다.
  • BusyBox를 실행하고 설치 버튼을 누른다.

2. Linux Deploy 설정

  • Linux Deploy로 돌아와서 좌측상단의 버튼을 눌러 설정 페이지로 들어간다.

  • 스마트폰을 리눅스 홈서버로 사용하는 것이 목적이기 때문에 안드로이드가 잠재우지 못하게 한다.
    저기에 더해서 애플리케이션 정보에서 배터리 제한 없음 설정도 해주자

  • 폰을 재시작 했을 때 리눅스 서비스를 자동으로 시작하고 싶다면 자동시작에 체크
  • BusyBox가 설치된 상태에서 PATH값에 /system/xbin 을 입력한다.
  • 그 이후 ENV 업데이트 를 해준다.

3. 프로파일 속성

  • 설정 페이지에서 나와서 메인화면에서 우측하단 버튼을 누른다.

  • 리눅스 배포판은 데비안을 선택한다.
    같은 데비안 계열인 우분투나 칼리 리눅스를 선택할 수도 있다. 하지만 앱 제작자가 업데이트를 안 한지 오래돼서 우분투 18.04(bionic)까지만 지원한다. 편법을 이용해서 우분투 20.04도 설치할 수 있으나 (22.04는 설치에 실패함) 홈어시스턴트가 파이썬 3.9를 요구하기 때문에 따로 설치하여야 한다. (20.04 설치법: https://github.com/meefik/linuxdeploy/issues/1228#issuecomment-884580401 )
    칼리 리눅스의 경우 최신 패키지들을 사용할 수 있지만 arm32 스마트폰에서 삼바 서버가 오류나는 것을 확인하였다.
  • 데비안의 경우도 기본으로는 Buster까지만 지원하지만 Buster를 stable로 바꾸면 최신 안정판인 Bullseye로 설치된다.
    Bullseye는 기본으로 파이썬 3.9를 지원하기 때문에 데비안으로 선택하였다.
  • 아키텍처는 폰 사양에 따라 arm32면 armhf로 놔두고 arm64인 폰은 arm64로 바꿔준다. (Droid Hardware Info 등의 앱을 통해 확인할 수 있음)
  • 이미지 크기는 자동 계산의 경우 2GB로 설정되지만 홈어시스턴트를 설치하고 운용하기엔 조금 부족하기 때문에 5GB이상으로 바꿔준다.
    여기서 arm32 폰의 경우 2GB 이상 설정할 경우 오류가 발생하기 때문에 자동 계산으로 리눅스를 설치한 후 이미지 크기를 늘려야 한다.
    ( 이미지 크기 늘리는 법: https://github.com/meefik/linuxdeploy/issues/395#issuecomment-177507622 )
  • 사용자 이름과 비밀번호는 ssh 서버에 접속할 때 필요하므로 적절히 바꿔주자

  • INIT 활성화에 체크하고 Init 설정에 들어가서 Async 비동기 프로세스 실행도 체크한다.
    리눅스 서비스 시작시 /etc/rc.local 디렉토리의 스크립트가 자동 실행되므로 홈어시스턴트나 nginx서버 mqtt 서비스 등을 시작하는데 사용한다.
  • SSH 서버를 사용하기 위해 활성화에 체크한다.
    GUI는 필요에 따라 설치해도 되지만 홈서버로 사용할 때는 용량을 많이 차지하고 발열과 배터리 소모량만 늘어난다.

4. 배포판 설치

  • 다시 메인 화면으로 나와서 우측상단 점 세개를 누른 후 설치를 누른다.
    설치 프로세스가 오랜시간 작동하고 <<< deploy 가 뜨면 설치 완료
    시작을 누른 후 <<< start가 뜨면 시작 완료이다.
  • ssh 클라이언트를 켜고
    ssh -p 22 (사용자 이름)@(스마트폰 ip) 로 접속한다.
    ssh 접속이 가능하면 리눅스 디플로이에 데비안 설치 성공