커스텀롬 리니지os 21 (안드로이드14) 버전에서 전원인가시 자동부팅 되게 만들기.

리니지os 21 버전을 구형 스마트폰인 s7 엣지 스트폰(sm-g935s)에 올렸습니다.
현재 가장 최신버전인데 구글플레이스토어서 필요한 어플을 설치하려하니 호환되지 않는 어플이 제법 있는듯합니다. 

아예 플레이스토어에서 검색조차 되지 않습니다.

adb로 강제로 인스톨 시키니 설치는 되나 호환되지 않는 어플이라 작동이 잘 되지 않을 수 있다는 메시지가 뜨네요.


s7 엣지의 마지막 수정버전이 안드로이드8 인데, 몇년전 액정 화면이 거의 보이지 않을 정도로 나가 버려서 그냥 보관만하고 있다가 이번에 자동차에 안드로이드오토로 사용해 보려 커스텀롬을 올려 사용해 보기로 했습니다.

 

현재도 루팅된 오래된 스마트폰을 자동차에 두어 안드로이드오토와 연결해서 사용하고 있는데, 순정 펌웨어에서 루팅만해서 전원인가시 자동으로 부팅되고, 전원해제시 자동으로 전원이 꺼지게 해 놓고 사용하고 있습니다.

문제는 이 스마트폰이  글로벌 시장에서 많이 팔리지 않은 모델이라서 그런지 커스텀롬도 찾아봐도 거의 없고, 또한 호환성에 문제가 있는듯 해서 그냥 순정 펌웨어(안드로이드8)에 루팅만 사요하고 있습니다.


안드로이드8 버전이 언제까지 안드로이트오토를 지원할지는 모르지만 얼마가지 않아 지원 종료되지 않을까 싶기도해서 이번엔 s7 엣지 모델을 커스롬을 올리 사용해 보기로 했습니다.


먼저 결론 부터 말하면  리니지os 21 버전을 s7 엣지에 올리면서  커스텀롬은 그냥 쉽게 했는데, 전원 인가시 자동으로 부팅되게 만드는 방법을 찾느라 검색을 하는데 시간을 좀 보냈습니다.


s7 엣지에서 순정펌웨어(안드로이드 8)에서 루팅을 해 놓았기에 리니지os는 다운받아 바로 설치해서 금방 했습니다.


이후 리니지os 21 설치 후 확인해 보니 루팅이 풀려 버린것 같은데, 루팅을 하기 위해 방법을 찾아보다 방법을 찾아내지 못해서 포기 했습니다.


다른 방법인 adb 명령으로  할 수 있다는 것을 알았는데  정말 가뭄속의 한줄기 빛 같이 느껴졌습니다.


처음 접하는 adb, scrcpy 프로그램등 안드로이드오토에 공폰을 사용하기 위해 여러가지를 배우게 되네요.

 

 

 

 

 

*****

 리니지18 버전인가 부터는 아래의 방법으로  스마트폰이 껴져 있을때 전원이 인가되면 자동으로 부팅되게 하는 방법입니다.

 

차례대로 입력 해 주면 됨. 

우선 선 조건이

1. 스마트폰을 켜서 컴퓨터와 pc가 usb 데이터 케이블로 연결되어 있어야함

2. 스마트폰 개발자 모드에서 usb 디버깅이 설정되어 있어야함.

3. 스마트폰 개발자 모드에서 디버킹 시 루트권한 사용 이 설정되어 있어야함.


이후 cmd 모드로 들어가서 아래와 같이 입력해 주면됨

난, adb 파일이 들어있는 폴더가 C:\adb 에 있기에 아래 와 같이 명령어를 입력함.

 

C:\adb>adb devices
List of devices attached
ce---------02      device

=====에러나는 부분=======
C:\adb>adb root
ADB Root access is disabled by system setting - enable in Settings -> System -> Developer options

C:\adb>adb remount
Not running as root. Try "adb root" first.

======에러나는 부분=======
adb 루트 권한이 없다고 하는 것 같음.
개발자 설정에 들어가서 디버킹 시 루트권한 사용 에 사용으로 체크 하면 됨.
=========================

C:\adb>adb root
restarting adbd as root


C:\adb>adb remount
avb_user_verity.c:90: ERROR: Error loading footer from partition 'boot'
Error setting verity state
Cannot mount overlayfs for some partitions
Remounted / as RW
Remount succeeded


C:\adb>adb pull /system/etc/init/hw/init.rc
/system/etc/init/hw/init.rc: 1 file pulled, 0 skipped. 6.0 MB/s (57996 bytes in 0.009s)



C:\adb>adb push .\init.rc /system/etc/init/hw/init.rc
.\init.rc: 1 file pushed, 0 skipped. 87.9 MB/s (58031 bytes in 0.001s)

C:\adb>

 

 -----------------위의 C:\adb>adb 이부분에서 명령부분만 해 주면 되는데,

C:\adb>adb pull /system/etc/init/hw/init.rc

입력해주면 adb 폴더 내에  init.rc 파일이 새로 생겨난 것을 볼 수있는데  이 파일을 메모장으로 열어서

 

==아래 이 부분을===
on charger
class_start charger


==아래와 같이 수정 후 저장 하면됨===
on charger
    setprop sys.powerctl reboot,leaving-off-mode-charging

이렇게  수정하여 저장 후 

C:\adb>adb push .\init.rc /system/etc/init/hw/init.rc

 

입력해 주면 끝이네요.

 

 

 

 

 

 

간략히 요약하면

 C:\adb>adb devices

 C:\adb>adb root

 C:\adb>adb remount

 C:\adb>adb pull /system/etc/init/hw/init.rc

C:\adb>adb push .\init.rc /system/etc/init/hw/init.rc

이렇게 입력해 주는것임.

 


 

저도 인터넷 검새을 통해 자료를 찾아 따라 해 본 것 뿐인데 이 방법이 정말 맞는 방법인지 저도 잘 모릅니다.
어찌하다보니 해결방법이 걸려든 것일 수도 있고, 아무튼 다시 스마트폰에 커스컴롬을 올려서 사용할 일은 몇년간은 없을 듯 합니다.


루팅이 됐던 안됐던 떠나서 나에겐 루팅을 하는 이유가 전원인가시 자동 부팅이 되게 만들기 위함이기에 위 방법으로 어찌됐던 해결되었기에  한동안 씨름한게 의민가 있어 다행이라 생각합니다.


이 글은 시간이 흘러 내 머릿속의 기억이 흐릿해 지게 되면 사용하기 위한 기록용입니다.

알면 쉬운데, 그 방법을 찾기가 참 힘드네요.

안드로이드 버전이 계속 올라가다 보면 이 방법도 언젠가는 먹히지 않을 듯 합니다.

 

 

아래는 참고용으로 캡쳐한 이미지 입니다.

 

 

usb 디버깅

 

 스마트폰 개밸자 옵션에서 usb 디버깅과 디버깅 시 루트 권한 사용 에 체크해야 함.
그래야 adb 실행시 에러가 나지 않음.



루팅

루팅 체크 해보면 이렇게 루티이 되어 있지 않다고 나옴.

 

 

 

지금 내가 하는게 쓸데 없는 일인지도 모르나 그냥 자기만족을 위한 일이라 생각하고 있습니다.

위에도 적었듯이 이 글을 남겨두는 목적이 나의 기록용입니다.


따라하시다가 잘 못되는 경우도 있을지 모르니 참고만 하시고, 제가 도움받은 블로그의 글의 주소를 적어놓을테니 이곳에서 방문해 보시길 바랍니다.

 https://mogibu.tistory.com/4979

 

이제 장마가 시작되나 봅니다.
온도는 그렇게 높지 않은데 습도과 많이 높네요.

다음 이전