이제 Google Pixel 및 Pixel XL에서 루트를 사용할 수 있습니다. 변경된 사항 및 작동 방식

이 방법은 오래되어 작동하지 않을 수 있습니다. 최신 루트 방법을 보려면 Google Pixel 및 Pixel XL 포럼을 방문하십시오.

약속 한대로 Google Pixel 및 Pixel XL에 대한 시스템없는 루트를 사용할 수 있습니다 . Senior Recognized Developer Chainfire는 지난 며칠 동안 Android 7.1 Nougat을 실행하는 Google Pixel 휴대 전화를 기반으로하고 있었으며 개발 단계에서 커뮤니티와 자신의 작업을 충분히 공유 할 수있게되었습니다.

Google Pixel 및 Google Pixel XL에 대한 루트 액세스는 SuperSU 2.78 SR2 를 설치하여 사용할 수 있습니다. SuperSU 2.78 SR2 는 시스템 파티션의 어떤 것도 건드리지 않고 su -verity를 ​​토글 할 수 있도록합니다. 장치를 루팅하기 전에 먼저 부트 로더를 잠금 해제해야합니다. 부트 로더 잠금 해제의 첫 단계는 adb 및 fastboot 바이너리를 다운로드 한 다음 (포럼에서 Minimal ADB & Fastboot를 가져 오는 것이 좋습니다) 컴퓨터에 적합한 Google USB 드라이버를 설치하는 것입니다.

Google에서 직접 Pixel 기기를 구매 한 경우 fastboot flashing unlock 명령과 fastboot oem unlock 만 실행하면됩니다. Verizon 또는 EE에서 Pixel을 구매 한 경우 dePixel8 도구를 통해 부트 로더를 잠금 해제해야합니다. 그러나 SunShine 개발자들은 곧 출시 될 11 월 보안 업데이트에서 부트 로더 잠금 해제 익스플로잇이 패치 될 수 있다고 언급 했으므로 서둘러야합니다!


픽셀에 SuperSU를 설치하는 방법

Chainfire가 Google+ 게시물에서 언급했듯이 먼저 웹 사이트에서 Pixel 또는 Pixel XL의 부팅 이미지를 다운로드해야합니다. 여기를 클릭하여 Google Pixel 용 zip을 다운로드하거나 여기를 클릭하여 Google Pixel XL 용 zip을 다운로드하십시오. zip을 다운로드 한 후에는 root-to-root 이미지를 fastboot 부팅 해야 합니다. 이미지를 fastboot 하지 마십시오 ! 즉, 두 장치에 필요한 유일한 명령은 다음과 같습니다.

 fastboot boot boot-to-root.img 

몇 분 정도 기다렸다가 몇 번 재부팅하면 전체 루트 액세스 권한으로 부팅됩니다. 예이!


루트 액세스의 즉각적인 사용

그건 그렇고, 루트 액세스가 가져야하는 일반적인 기능 외에도 우리 모두가 관심을 가질만한 몇 가지 사항을 테스트하고 테스트했습니다. 먼저 Google Now on Tap을 다시 가져올 수 있습니까? 대답은 그렇습니다! 다음 변경, 재부팅 및 Google App 데이터 삭제로 build.prop 를 편집하기 만하면 더 이상 Google Assistant를 사용하지 않아도됩니다.

변화

 ro.opa.eligible_device=true 

 ro.opa.eligible_device= false 

일반적으로 숨겨져있는 또 다른 기능은 두 번 누르기입니다. 우리는 숨겨진 토글을 둘러 보았고 그것이 보이는 것으로 나타났습니다.

 sailfish:/sys/devices # echo 1 > ./soc/7577000.i2c/i2c-3/3-0020/input/input3/wake_gesture 

불행하게도, 우리가 가치를 바꾸었을 때 가치가 없었던 것 같습니다. 현재 d2tw가 작동하려면 ElementalX와 같은 사용자 정의 커널을 플래시해야합니다.

우리가 테스트 한 다른 것들에는 티타늄 백업 작동 여부 (Battery Stats), 하위 계층 / 층 테마 ( 일부 문제가있는 것 같습니다 ) 및 광고 차단 ( 실패 여부 )이 포함됩니다. / system을 기본적으로 읽기 / 쓰기로 마운트 할 수 없으므로 Ad-away가 현재 작동하지 않으므로 Ad-Away에 대한 시스템리스 해결 방법을 플래시하려면 TWRP를 사용할 수있을 때까지 기다려야합니다. 그리고 예, 우리는 이미 시스템리스 루트를 위해 Ad-Away 인 에이 블러를 플래시하기 위해 FlashFire를 사용하려고 시도했지만 현재로서는 작동하지 않는 것 같습니다.

 sailfish:/sys/devices # mount -o rw, remount /system mount: '/system' not in /proc/mounts 

업데이트 : Chainfire는 FlashFire 및 기타 앱을 사용하기 전에 업데이트해야 함을 확인했습니다. 자세한 내용은 아래를 참조하십시오.

업데이트 2 : Chainfire는 앱 자체가 업데이트 될 때까지 AdAway를 작동시킬 수있는 해결 방법을 제공했습니다. 기사 끝에있는 부록을 참조하십시오.

Titanium Backup이 작동 함을 보여주는 스크린 샷입니다. 따라서 다른 기기에서오고 백업 된 모든 앱을 복원하려는 경우 이제 모든 앱 데이터가 복원 될 것입니다.

계속 전환 할 수있는 것을보기 위해 Pixel 기기에 대해 자세히 알아볼 것입니다. 다음에 어떤 "독점 전용"기능이 출시 될 예정입니까?


루트를 달성하기위한“투쟁”

Chainfire는 노트를 발표 할 때 매우 세심합니다. 수만 명의 사용자에게 루트 액세스를 달성 할 수있는 방법을 제공하는 개발자 인 경우 문제가 발생하는 이유를 궁금해하는 혼란스런 사용자가 발생하지 않도록 최대한 투명해야합니다. 그의 트위터 계정 (@Chainfire)은 짧은 발표를 위해 더 많이 예약되어 있지만 Chainfire는 그의 Google+ 계정에 매우 환영하고 긴 설명을 게시하는 경향이 있습니다. 이번도 다르지 않습니다.

먼저, Chainfire는 루트 액세스를 달성하기 위해 해결해야하는 2 개의 Pixel 폰에 어떤 변화가 있었는지 설명합니다. 특히 Chainfire는 먼저 Pixel 장치의 새로운 파티션 레이아웃을 설명합니다.

새로운 파티션 레이아웃 (픽셀 및 향후 많은 장치) :

– 몇 개의 안드로이드 파티션, 부팅, 시스템, 벤더가 있습니다

– 복구 및 캐시 파티션이 사라졌습니다

– Android의 루트 / 디렉토리는 이제 부트 파티션 (initramfs) 대신 시스템 파티션의 일부입니다.

– 복구는 이제 일반 부팅 이미지 안에 있으며 initramfs (Android에서 사용 했음)를 사용합니다.

이전에 다루었 듯이, 두 픽셀 폰에서 이러한 파티션 변경은 현재 루트 방법을 약간 수정해야합니다. Chainfire는 / system 파티션에 대한 이러한 수정에는 커널 수정과 관련된 다른 접근 방식이 필요하다는 것을 확인했습니다.

Pixel의 새로운 파티션 레이아웃을 사용하여 변경 한 파일이 시스템 파티션으로 이동했습니다 (원래 / system으로 생각한 것은 이제 해당 파티션의 파일 시스템 내부에 하위 폴더 임). 그렇다면 이러한 파일이 모두 포함 된 시스템 파티션을 수정하고 부팅 이미지 만 남겨 둘 수 있습니까? 개인적으로 부트 이미지 수정을 선호하고 시스템을 그대로 두는 것이 좋지만 그 반대의 경우 해결책이 될 수 있으며 일부 기술 사용자가 선호 할 수도 있습니다.

그러나 나는 이것을 작동시키지 못했습니다. 부트 로더는 실제로 dm-verity (시스템 파티션의 무결성을 강제 함)를 강제하는 커널 (부트 이미지에 상주)에 정보를 보내며, 부팅 이미지를 수정하지 않고는 ( 드럼 롤 ) 가로 채거나 변경할 수 없습니다. Pixel의 첫 번째 성공 루트는 두 가지 방법을 모두 수정하여 이루어졌습니다 (앞에서 게시 한 그림은이 시도에서 얻은 것입니다).

다시 말해, 우리가 생각한 것처럼 커널을 수정하지 않고 dm-verity를 ​​비활성화 할 수있는 방법이 없습니다. 커널은 dm-verity를 ​​강제로 활성화하므로 Chainfire는 dm-verity가 시스템 파티션의 변경을 막지 않도록 커널을 약간 수정해야했습니다. 운 좋게도 Chainfire는 그의 수정에 작은 커널 바이너리 패치 만 필요하지만 완전한 커널 재 컴파일은 필요하지 않다는 것을 발견했습니다. 따라서 그의 솔루션은 A / B 파티션 구성표가있는 Android 7.1 장치에 대한 일반적인 솔루션으로 남아 있어야합니다.

이 새로운 루트 방법을 더 자세히 설명하기 위해 Chainfire는 커널이 시스템 파티션의 어떤 것이 아니라 부트 이미지의 initramfs를 루트 디렉토리로 사용하도록하여 시스템없는 루트를 달성합니다. 이렇게하려면 시스템 파티션의 루트 디렉토리 내용을 부팅 이미지로 가져 오므로 시스템 파일을 수정하지 않고도 이러한 파일을 수정할 수 있습니다. 시스템 파티션은 / system_root에 마운트되고 / system 자체는 / system_root / system에 직접 링크됩니다. 마지막으로 그의 커널 패치는 부트 로더에서 보낸 명령을 무시하고 일반적으로 dm-verity를 ​​시행하도록 커널을 수정합니다.

그러나이 새로운 방법에는 다소 사소한 문제가 있습니다. FlashFire 또는 AdAway (모두 표시되지 않음)와 같은 특정 앱은 시스템 파티션이 / system_root가 아닌 / system으로 마운트 될 것으로 예상하므로 그에 따라 업데이트해야합니다. 그래도 시스템을 다시 마운트 할 수 있습니다

 mount -o rw, remount /system_root 

/ system에 쓸 수 있어야합니다. 아직 수정 한 루트 앱은 아직 테스트하지 않았지만 자유롭게 테스트 할 수 있습니다. 마지막으로, Chainfiresuhide 가이 새로운 루팅 방식으로 작동 할 지 확신 할 수 없지만, 계속해서 해결 방법을 찾을 것이라고 말합니다.


Google Pixel 휴대폰 용 SuperSU를 다운로드하려면 포럼 스레드로 이동하십시오. 장치에 뿌리를 내린 Chainfire에 큰 감사를드립니다! 조정 게임을 시작하자!

SuperSU 서브 포럼을 방문하십시오!

이 이야기는 개발 중이며 새로운 정보를 받으면 업데이트 될 예정입니다. 이 기사를 만들 때 하나의 Google Pixel이 희생되었습니다. RIP Jeff의 데이터.


부록 # 1 : AdAway 임시 수정

포럼에서 AdAway v3.1.2를 다운로드 한 다음 터미널 에뮬레이터 또는 ADB 셸을 사용하여 다음 명령을 입력하십시오.

 mkdir /su/etc; cp /system/etc/hosts /su/etc/hosts; echo "#!/su/bin/sush\nmount -o bind /su/etc/hosts /system/etc/hosts" > /su/su.d/50adaway; chmod 0700 /su/su.d/50adaway 

재부팅하면 시스템 전체의 광고 차단 기능이 있어야합니다.