Android upgrade … kernel >2mb
Ostatni update Android’a na OpenMoko dostępny jest w katalogu Sean McNeil‘a na people.openmoko.org … niestety uImage (kernel) ma ponad 2mb i nie można go bez problemowo wrzucić na FreeRunner’a gdyż domyślnie uboot odczytuje maksymalnie 2mb jądra (co powoduje błąd sumy CRC) … ale przecież to jest OpenMoko, więc:
- boot’ujemy Neo do NOR’a lub NAND’a (tj. przytrzymujemy przyciski AUX i POWER, kolejność wciśnięcia jest ważna gdyż od niej zależy to do jakiego rodzaju pamięci się zabootujemy; więcej na wiki OpenMoko)
- podpinamy Moko przez usb do komputera
- odpalamy komendę:
screen /dev/tty.usbmodem0000001
(nazwa urządzenia wzięta jest z MacOs X’a; na którym obecnie (sic!) pracuję
) - to powinno nas podłączyć do shell’a, następnie wklepujemy tą komende:
setenv bootcmd setenv bootargs \${bootargs_base} \${mtdparts}\; nand read.e 0x32000000 kernel 0x300000\; bootm 0x32000000modyfikuje ona tablicę zmiennych ENV, dokładniej wpis dla bootcmd w taki sposób, że pozwala na odczytanie do 3mb danych dla kernela
- teraz wystarczy:
saveenv
i już możemy się cieszyć z możliwości zabotowania jądra większego niż 2mb ;>
Modyfikacja zmiennych uboot’a może “zabić” Twoje Neo, więc radzę robić to z rozwagą; jeżeli nie wiesz co robisz to po prostu tego nie rób !
Opis rozwiązania problemu znalazłem w tym wątku.
Miłej i rozważnej zabawy ;>
o ile mnie pamiec nie myli to Qi potrafi boot’owac tylko system z karty; ale moge sie mylic …