ubuntu-device-flash falha no Nexus 7 2013 (Android 5.0.2) - não é possível copiar imagem para / cache / recovery /

1

Eu tenho tentado instalar o ubuntu-touch em um novo Nexus 7 2013 (Android 5.0.2) de um laptop rodando o Ubuntu 14.04 LTS seguindo as instruções aqui:

link

A intermitência do dispositivo falha com a mensagem de que a imagem não foi copiada para / cache / recovery / porque "É um diretório" - veja a saída abaixo. O dispositivo inicializa em recuperação, mas não vai além - por exemplo, não instala o Ubuntu como sistema operacional.

Alguém poderia sugerir uma solução para isso para permitir uma instalação bem-sucedida do toque?

frank@UDroid:~$ ubuntu-device-flash touch --channel=ubuntu-touch/stable/ubuntu --bootstrap
2015/09/14 20:40:09 Expecting the device to be in the bootloader... waiting
2015/09/14 20:40:10 Device is |flo|
2015/09/14 20:40:10 Flashing version 1 from ubuntu-touch/stable/ubuntu channel and server https://system-image.ubuntu.com to device flo
2015/09/14 20:40:36 Start pushing /home/frank/.cache/ubuntuimages/ubuntu-touch/stable/ubuntu/flo/version-1.tar.xz to device
2015/09/14 20:40:36 Start pushing /home/frank/.cache/ubuntuimages/gpg/image-master.tar.xz to device
2015/09/14 20:40:36 Start pushing /home/frank/.cache/ubuntuimages/gpg/image-signing.tar.xz to device
2015/09/14 20:40:36 Start pushing /home/frank/.cache/ubuntuimages/pool/custom-16a192b4f7331b257e9a60c659b0ae5f4729d642965ea28415c1ea0e7ca8d7ed.tar.xz to device
2015/09/14 20:40:36 Start pushing /home/frank/.cache/ubuntuimages/pool/device-9569c7c1edb3a4944e1db5d2a966e58a2820a3e2f2d38eb145f27111b2dea978.tar.xz to device
2015/09/14 20:40:36 Start pushing /home/frank/.cache/ubuntuimages/pool/ubuntu-59b0c7aa8af63dda3a06005a6087c1faa4ed8993321293b276e7f7021d0cb0a3.tar.xz to device
2015/09/14 20:40:36 error pushing: failed to copy '/home/frank/.cache/ubuntuimages/gpg/image-master.tar.xz' to '/cache/recovery/': Is a directory
    
por rfrank 14.09.2015 / 22:10

1 resposta

3

Então, eu também queria tocar com o Ubuntu Touch há alguns dias e me deparei com esse problema exato.

Problema: o Ubuntu Touch a partir de 17/09/2015 não é instalado corretamente seguindo o guia oficial no meu Nexus 7.

O Nexus 7 é um dispositivo de "referência", por isso definitivamente deveria e é conhecido por estar funcionando. O que há de errado com o meu?

Pesquisando na internet (xda, # ubuntu-touch, # ubuntu-kernel) descobri que modelos Nexus 7 "flo" mais recentes, fabricados em / após o final de 2014 e lançados com o Android L têm uma revisão diferente do controlador eMMC / hardware / alguma coisa. Asus postou uma mudança no kernel:

mmc: add 5.0 emmc support

bug: 17968808 Kernel change for new eMMC v5.0 parts for FLO/DEB

Change-Id: Ia18152457fe3ff70401b199c267fa37374b9d544
Signed-off-by: hsuan-chih_chen <[email protected]>
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index dc4b125..ea1eca7 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -293,7 +293,7 @@
    }

    card->ext_csd.rev = ext_csd[EXT_CSD_REV];
-   if (card->ext_csd.rev > 6) {
+   if (card->ext_csd.rev > 7) {
        pr_err("%s: unrecognised EXT_CSD revision %d\n",
            mmc_hostname(card->host), card->ext_csd.rev);
        err = -EINVAL;

Então eu tive um palpite de que era isso. O kernel que você está usando a ferramenta oficial não tem o patch aplicado. Precisamos criar um kernel com patches e substituí-lo nas imagens de inicialização e de recuperação. O ramo flo do kernel do Ubuntu não tem a correção aplicada (ainda?).

Eu criei um kernel com patch usando o ubuntu-wily source no branch flo e criei imagens de inicialização e recuperação que parecem funcionar. Não estamos tocando no gerenciador de inicialização, portanto, isso deve ser seguro, mas não tenho responsabilidade se o procedimento a seguir usar o dispositivo.

Novamente, siga estas etapas SOMENTE se tiver um "flo" do Nexus 7 (2013) fornecido com o Android L.

Baixe boot.img e recovery.img aqui: link link

1) Devolva seu dispositivo para o estoque:

a. Obter a imagem do Google Factory "razor-lmy48m-factory-7c77e178.tgz"

b. Descompacte o arquivo e execute o "flash-all.sh" com o dispositivo no bootloader

c. Deixe o tablet inicializar e depois desligue-o.

2) Inicialize com o bootloader.

3) Execute 'fastboot boot boot boot.img'

4) Execute o 'fastboot flash recovery recovery.img'

5) Dispositivo de inicialização para recuperação

6) Execute 'ubuntu-device-flash touch - canal = ubuntu-touch / stable / ubuntu' # Isso deve ser executado e dizer: "Reinicializando a recuperação para flash" - aguarde até que o programa saia.

7) O dispositivo deve reiniciar automaticamente e começar a girar o logotipo do Ubuntu. Espere isso - leva de 5 a 10 minutos. Eu acredito que isso é o Ubuntu se instalando.

8) O dispositivo será reinicializado e ficará preso no logotipo do Google. Desligue o dispositivo.

9) Inicialize o dispositivo no bootloader. Repita as etapas 3 e 4 para refazer as imagens de inicialização e recuperação.

10) Desligue e ligue o dispositivo. Ubuntu deve iniciar a inicialização.

    
por ddagunts 18.09.2015 / 10:11