O Root agora está disponível para o Google Pixel e Pixel XL: veja o que mudou e o que funciona

Este método está desatualizado e pode não funcionar. Visite nossos fóruns do Google Pixel e Pixel XL para obter os métodos raiz mais recentes.

Como prometido, a raiz sem sistema para o Google Pixel e Pixel XL está disponível . O desenvolvedor sênior reconhecido Chainfire estava trabalhando na raiz do telefone Google Pixel com Android 7.1 Nougat nos últimos dias e chegou a um estágio de desenvolvimento em que agora está confortável o suficiente para compartilhar seu trabalho com a comunidade.

O acesso raiz para o Google Pixel e o Google Pixel XL está disponível instalando o SuperSU 2.78 SR2 , que permite o acesso ao su sem tocar em nada na partição do sistema e permite alternar o dm-verity. Antes de fazer o root no seu dispositivo, você precisará primeiro ter o seu gerenciador de inicialização desbloqueado. A primeira etapa para desbloquear o carregador de inicialização é fazer o download dos binários adb e fastboot (recomendamos pegar o Minimal ADB & Fastboot em nossos fóruns) e instalar o driver USB do Google apropriado para sua máquina.

Se você comprou seu dispositivo Pixel diretamente do Google, precisará emitir apenas um comando de desbloqueio rápido de inicialização rápida seguido de desbloqueio rápido de oem. Caso você tenha adquirido o Pixel na Verizon ou na EE, será necessário desbloquear o gerenciador de inicialização através da ferramenta dePixel8. Mas apresse-se, porque os desenvolvedores do SunShine mencionaram que o exploit de desbloqueio do carregador de inicialização pode ser corrigido na próxima atualização de segurança de novembro!


Como instalar o SuperSU no seu Pixel

Como Chainfire menciona em sua postagem no Google+, você precisa primeiro fazer o download das imagens de inicialização para raiz do Pixel ou Pixel XL fora do site dele. Você pode clicar aqui para baixar o zip do Google Pixel ou clicar aqui para baixar o zip do Google Pixel XL. Após fazer o download do zip, é necessário inicializar rapidamente a imagem de inicialização para raiz ; NÃO inicialize a imagem com flash! Em outras palavras, o único comando necessário para os dois dispositivos é o seguinte:

 fastboot boot boot-to-root.img 

Aguarde alguns minutos e, após algumas reinicializações, você será inicializado com acesso root completo. Yay!


Usos imediatos do acesso root

A propósito, além da funcionalidade usual que o acesso root deve trazer, avançamos e testamos algumas coisas nas quais sabíamos que todos estariam interessados. Primeiro, você pode trazer de volta o Google Now on Tap? A resposta é sim! Tudo o que você precisa fazer é editar o build.prop com as seguintes alterações, reinicializar e limpar os dados do Google App e você não será mais recebido com o Assistente do Google.

mudança

 ro.opa.eligible_device=true 

para

 ro.opa.eligible_device= false 

E quanto a outro recurso comumente oculto: toque duas vezes para ativar? Procuramos a alternância oculta e descobrimos o que parece ser.

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

Infelizmente, quando alteramos o valor, ele não pareceu ficar. Por enquanto, parece que você terá que atualizar um kernel personalizado como o ElementalX para que o d2tw funcione.

Algumas outras coisas que testamos incluem se o Titanium Backup funciona ou não, Melhores Estatísticas da Bateria ( funciona ), Temas de Substrato / Camadas ( parece estar com alguns problemas ) e bloqueio de anúncios ( falha ). O Ad-away falha ao funcionar atualmente porque / system não pode ser montado como leitura e gravação por padrão, portanto, teremos que esperar até que o TWRP esteja disponível antes de podermos exibir a solução alternativa sem sistema para o Ad-Away. E sim, já tentamos usar o FlashFire para exibir o ativador Ad-Away para raiz sem sistema, mas isso não parece estar funcionando no momento.

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

Atualização: Chainfire confirmou que o FlashFire e outros aplicativos precisarão ser atualizados antes que possam ser usados. Veja abaixo para mais detalhes.

Atualização 2: Chainfire nos enviou uma mensagem alternativa para que o AdAway funcione até que o aplicativo seja atualizado. Veja o adendo no final do artigo.

Aqui estão algumas capturas de tela mostrando que o Titanium Backup funciona, no entanto. Portanto, se você vem de outro dispositivo e deseja restaurar todos os aplicativos de backup, pode ter certeza de que todos os dados do aplicativo serão restaurados.

Continuaremos a mergulhar profundamente em nossos dispositivos Pixel para ver o que podemos alternar. Qual recurso "exclusivo de pixel" será o próximo a cair?


A "luta" para alcançar a raiz

Chainfire é bastante meticuloso quando se trata de notas de lançamento. Quando você é o desenvolvedor que fornece a dezenas de milhares de usuários um método para obter acesso root, faz sentido ser o mais transparente possível, para que você não encontre uma horda de usuários confusos se perguntando por que algo está quebrado. Embora sua conta no Twitter (@Chainfire) seja reservada mais para breves anúncios, Chainfire tende a postar explicações longas e muito bem-vindas em sua conta do Google+. Desta vez não é diferente.

Primeiro, Chainfire explica quais alterações foram feitas nos dois telefones Pixel que ele precisava para contornar o acesso ao root. Em particular, Chainfire descreve primeiro o novo layout da partição nos dispositivos Pixel.

Novo layout de partição (Pixel e provavelmente muitos dispositivos futuros):

- Existem duas das várias partições Android: boot, sistema, fornecedor

- As partições de recuperação e cache desapareceram

- O diretório raiz / Android agora faz parte da partição do sistema, em vez da partição de inicialização (initramfs)

- Agora a recuperação está dentro da imagem de inicialização normal e usa o initramfs (que costumava ser usado pelo Android)

Como abordamos anteriormente, essas alterações de partição nos dois telefones Pixel exigiriam algumas modificações no método raiz atual. Chainfire confirmou que essas modificações na partição / system exigiam uma abordagem diferente, que pode envolver a modificação do kernel.

Com o novo layout de partição do Pixel, os arquivos que estávamos alterando foram movidos para a partição do sistema (o que originalmente pensávamos como / system agora é uma subpasta dentro do sistema de arquivos da partição). Então, poderíamos apenas modificar a partição do sistema que contém todos esses arquivos e deixar a imagem de inicialização em paz? Embora eu pessoalmente prefira fazer a modificação da imagem de inicialização e deixe o sistema em paz, o inverso pode ser uma solução e sei que alguns usuários de tecnologia ainda preferem.

No entanto, não consegui fazer isso funcionar. Na verdade, o carregador de inicialização envia informações ao kernel (que reside na imagem de inicialização) que dm-verity ativado por força (que reforça a integridade da partição do sistema), que não podemos interceptar ou alterar sem modificar a imagem de inicialização. Minha primeira raiz bem-sucedida do Pixel foi feita dessa maneira - modificando as duas (a imagem postada anteriormente é dessa tentativa).

Em outras palavras, não há como desativar o dm-verity sem alguma modificação no kernel, como suspeitávamos. Como o kernel é uma força que habilita o dm-verity, o Chainfire precisava modificar levemente o kernel para impedir que o dm-verity impedisse alterações na partição do sistema. Felizmente, Chainfire descobriu que sua modificação requer apenas um pequeno patch binário do kernel, mas não uma recompilação completa do kernel. Assim, sua solução deve permanecer uma solução genérica para dispositivos Android 7.1 com um esquema de partição A / B.

Para explicar esse novo método raiz em mais detalhes, o Chainfire atinge a raiz sem sistema, fazendo com que o kernel use o initramfs da imagem de inicialização como seu diretório raiz, em vez de qualquer coisa da partição do sistema. Para fazer isso, o conteúdo do diretório raiz na partição do sistema é importado para a imagem de inicialização, o que permite a modificação desses arquivos sem a necessidade de modificar nenhum arquivo do sistema. A partição do sistema é montada em / system_root e / system em si, vinculada a / system_root / system. E, finalmente, o patch do kernel modifica o kernel, de modo que ignora o comando enviado pelo gerenciador de inicialização, que normalmente reforçaria o dm-verity.

No entanto, existem alguns problemas bastante triviais introduzidos com este novo método. Certos aplicativos, como o FlashFire ou o AdAway (ambos mostrados como não funcionam), esperam que a partição do sistema seja montada como / system, não / system_root e precisará ser atualizada de acordo. Embora, você pode tentar remontar o sistema como tal

 mount -o rw, remount /system_root 

O que deve permitir que você escreva para / system. Ainda não testamos quais aplicativos raiz corrigem, mas você pode testá-lo por conta própria. Finalmente, Chainfire não tem certeza se o suhide funcionará com esse novo esquema de root, mas ele afirma que continuará procurando uma solução alternativa.


Para baixar o SuperSU para os telefones do Google Pixel, acesse o tópico do fórum. Um grande obrigado a Chainfire por trazer a raiz para os dispositivos! Que comecem os Jogos de Apertar!

Visite o Subforum SuperSU!

Esta história está se desenvolvendo e será atualizada à medida que recebermos novas informações. Um pixel do Google foi sacrificado na elaboração deste artigo. RIP Os dados de Jeff.


Adendo 1: correção temporária do AdAway

Baixe o AdAway v3.1.2 de nossos fóruns e use um emulador de terminal ou shell do ADB para inserir o seguinte comando:

 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 

Reinicie e você deve ter um bloqueio de anúncios em todo o sistema.