Atualizando a Firmware do N900 no Linux (PR1.2)

Fonte: http://joelteixeira.net/2010/05/atualizando-a-firmware-e-emmc-do-n900-no-linux-pr1-2/



O longo atraso gerou expectativa e sobretudo insatisfação por parte dos proprietários deste excelente aparelho, mas ontem a Nokia finalmente liberou a PR1.2. Explico aqui como fazer a atualização a partir do Linux, seja ele 32 ou 64 bits. A espera foi longa mas a quantidade de recursos adicionados, sem esquecer das correções fizeram a espera realmente valer a pena. Vale ressaltar que o N900 (leia-se linux) é, a partir deste update, o primeiro telefone a suportar nativamente video chamadas skype/google.
Arquivos a serem utilizados no update:
RX-51_2009SE_10.2010.19-1.203.1_PR_COMBINED_203_ARM.bin (FIASCO)
RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin (eMMC)
A imagem FIASCO utilizada trata-se da variante britânica (UK), se você possui um N900 americano, indiano, africano… enfim, utilize a imagem apropriada. Você pode baixá-las através do site oficial.
Uma descrição do ambiente em utilização:
SO:
Kubuntu 10.04 - 64bits
Kernel:
Linux studio 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:28:05 UTC 2010 x86_64

Hardware:
DELL XPS Studio 1640 (detalhes)
Já esperamos muito não é mesmo? Vamos sujar as mãos e iniciar de uma vez por todas a atualização:
Instale o flasher, ele é o cara que fará a ponte entre seu N900 e seu computador no momento da atualização. Baixe a última versão no site oficial. No meu caso, utilizo o Kubuntu que (assim como toda a família *buntu) é baseado no debian, logo utilizarei o arquivo “maemo_flasher-3.5_2.5.2.2_i386.deb”.
Esse é um ponto importante, não existe versão oficial para 64bits… logo para instalá-lo você deve ser utilizado o parâmetro “–force-architecture”, ficando assim:
sudo dpkg -i --force-architecture maemo_flasher-3.5_2.5.2.2_i386.deb
Agora que já temos o flasher instalado em nosso computador, vamos verificar o MD5 checksums dos arquivos. Você realmente não vai querer que um download corrompido seja transferido para seu telefone. O processo é simples e segue abaixo, nunca atualize uma firmware sem verificar sua integridade.
jteixeira@studio:~$ ls -lh
total 430M
-rw-r--r-- 1 jteixeira jteixeira 1.7K 2010-05-25 05:08 MD5SUMS
-rw-r--r-- 1 jteixeira jteixeira 250M 2010-05-25 06:16 RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin
-rw-r--r-- 1 jteixeira jteixeira 180M 2010-05-25 05:57 RX-51_2009SE_10.2010.19-1.203.1_PR_COMBINED_203_ARM.bin

jteixeira@studio:~$ md5sum RX*
488809ff96a0a05479d692e9f77aeb4f RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin
0a8f877fef95b5e67da52c9e42d1fbf5 RX-51_2009SE_10.2010.19-1.203.1_PR_COMBINED_203_ARM.bin

jteixeira@studio:~$ cat MD5SUMS | grep RX-51_2009SE_10.2010
488809ff96a0a05479d692e9f77aeb4f RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin
2837a1408bd1741837341a534d19c556 RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin
b9356023e9d0ac50f41d8cafad6319f3 RX-51_2009SE_10.2010.19-1.003_PR_COMBINED_003_ARM.bin
8bb1cf065f1d880ff34ad2b9f94987c7 RX-51_2009SE_10.2010.19-1.004_PR_COMBINED_004_ARM.bin
561a95bced4e10b7e95d749c08d5c17d RX-51_2009SE_10.2010.19-1_PR_COMBINED_MR0_ARM.bin
0a8f877fef95b5e67da52c9e42d1fbf5 RX-51_2009SE_10.2010.19-1.203.1_PR_COMBINED_203_ARM.bin

Agora com os arquivos devidamente verificados vamos iniciar o processo de atualização. Apesar de ter deixado claro, não custa relembrar… estou atualizando aqui não apenas a firmware mas também o eMMC. O eMMC de forma mais simples trata-se da pasta MyDocs, deixando o telefone sem qualquer vestígio de utilização prévia e retornando essa pasta para o estado de “fábrica”. Optei por fazer atualização completa porque, entre outros fatores,  houveram modificações pertinentes as outras partições em virtude dos problemas de espaço que a partição root apresentava nas firmwares anteriores. E além do que, tenho aquela sensação de NOVO e quando algo der errado não vou ficar pensando foi aquele programa experimental compilado pela tia Gertrudes instalado a três meses atrás. Isso é pessoal, caso não queria atualizar a pasta do usuário ignore a imagem eMMC e adicione “-R” ao final do primeiro comando.
Sem o telefone estar conectado ao computador execute o comando abaixo, você verá uma mensagem dizendo “Suitable USB device not found, waiting“.  Com o aparelho desligado e segurando a tecla “U” conecte-o a USB do computador. Você deverá ver o símbolo de USB no canto superior direito da tela e o processo imediatamente começará. Como não especificamos o parâmetro “-R” ele não reiniciará. Fizemos isso porque a imagem eMMC deve ser gravada no aparelho imediatamente após a imagem FIASCO, sem um boot entre as duas.
jteixeira@studio:~$ sudo flasher-3.5 -F ./RX-51_2009SE_10.2010.19-1.203.1_PR_COMBINED_203_ARM.bin -f
flasher v2.5.2 (Oct 21 2009)

SW version in image: RX-51_2009SE_10.2010.19-1.203.1_PR_203
Image 'kernel', size 1705 kB
Version 2.6.28-20101501+0m5
Image 'rootfs', size 173696 kB
Version RX-51_2009SE_10.2010.19-1.203.1_PR_203
Image 'cmt-2nd', size 81408 bytes
Version BB5_09.36
Image 'cmt-algo', size 519808 bytes
Version BB5_09.36
Image 'cmt-mcusw', size 5826 kB
Version rx51_ICPR82_10w08
Image '2nd', size 14720 bytes
Valid for RX-51: 2217, 2218, 2219, 2220, 2120
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2217, 2218, 2219, 2220, 2120
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2217, 2218, 2219, 2220, 2120
Version 1.4.14.8+0m5
Image '2nd', size 14720 bytes
Valid for RX-51: 2101, 2102, 2103
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2101, 2102, 2103
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2101, 2102, 2103
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2307, 2308, 2309, 2310
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2307, 2308, 2309, 2310
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2307, 2308, 2309, 2310
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2407, 2408, 2409, 2410
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2407, 2408, 2409, 2410
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2407, 2408, 2409, 2410
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2301, 2302, 2303, 2304, 2305, 2306
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2301, 2302, 2303, 2304, 2305, 2306
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2301, 2302, 2303, 2304, 2305, 2306
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2401, 2402, 2403, 2404, 2405, 2406
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2401, 2402, 2403, 2404, 2405, 2406
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2401, 2402, 2403, 2404, 2405, 2406
Version 1.4.14.8+0m5
Image '2nd', size 14720 bytes
Valid for RX-51: 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2501, 2502, 2503, 2504, 2505, 2506
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2501, 2502, 2503, 2504, 2505, 2506
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2501, 2502, 2503, 2504, 2505, 2506
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2607, 2608, 2609, 2610
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2607, 2608, 2609, 2610
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2607, 2608, 2609, 2610
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2507, 2508, 2509, 2510
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2507, 2508, 2509, 2510
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2507, 2508, 2509, 2510
Version 1.4.14.8+0m5
Image '2nd', size 14720 bytes
Valid for RX-51: 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216
Version 1.4.14.8+0m5
Image '2nd', size 14848 bytes
Valid for RX-51: 2601, 2602, 2603, 2604, 2605, 2606
Version 1.4.14.8+0m5
Image 'xloader', size 14848 bytes
Valid for RX-51: 2601, 2602, 2603, 2604, 2605, 2606
Version 1.4.14.8+0m5
Image 'secondary', size 109440 bytes
Valid for RX-51: 2601, 2602, 2603, 2604, 2605, 2606
Version 1.4.14.8+0m5
Suitable USB device not found, waiting.
USB device found found at bus 002, device address 006.
Found device RX-51, hardware revision 2101
NOLO version 1.4.14
Version of 'sw-release': RX-51_2009SE_10.2010.19-1.203.1_PR_203
Sending xloader image (14 kB)...
100% (14 of 14 kB, avg. 1035 kB/s)
Sending secondary image (106 kB)...
100% (106 of 106 kB, avg. 10687 kB/s)
Flashing bootloader... done.
Sending cmt-2nd image (79 kB)...
100% (79 of 79 kB, avg. 9937 kB/s)
Sending cmt-algo image (507 kB)...
100% (507 of 507 kB, avg. 18129 kB/s)
Sending cmt-mcusw image (5826 kB)...
100% (5826 of 5826 kB, avg. 16506 kB/s)
Flashing cmt-mcusw... done.
Sending kernel image (1705 kB)...
100% (1705 of 1705 kB, avg. 17948 kB/s)
Flashing kernel... done.
Sending and flashing rootfs image (173696 kB)...
100% (173696 of 173696 kB, avg. 13845 kB/s)
Finishing flashing... done
CMT flashed successfully

FIASCO atualizado, sem reiniciar ou desconectar o aparelho vamos agora atualizar a imagem eMMC (Vanilla).
jteixeira@studio:~$ sudo flasher-3.5 -F ./RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin -f -R
flasher v2.5.2 (Oct 21 2009)

Image 'mmc', size 255947 kB
Version RX-51_2009SE_10.2010.13-2.VANILLA
USB device found found at bus 002, device address 006.
Found device RX-51, hardware revision 2101
NOLO version 1.4.14
Version of 'sw-release': RX-51_2009SE_10.2010.19-1.203.1_PR_203
Booting device into flash mode.
Suitable USB device not found, waiting.
USB device found found at bus 002, device address 007.
Raw data transfer EP found at EP2.
Image(s) flashed successfully in 29.942 s (8547 kB/s)!

Finalizado, agora é curtir um absolutamente melhorado N900.

Comentários

Postagens mais visitadas