Przygotowałem minitutorial jak zrobić własne zmiany w pliku obrazu A73.
Całość (konfiguracja w plikach i opis) opiera się na oficjalnym ICS goclevera. Dla innych urządzeń konieczna jest zmiana pliku files\image.cfg. Zakładam też, że osoba robiąca takie zmiany zna lunuxa w stopniu pozwalającym na bezproblemowe kopiowanie plików między systemami, kompilację programów oraz wie co to uprawnienia do plików i katalogów.
Potrzebujemy dwa pliki które umieściłem tu:
1. http://dl.dropbox.com/u/72954214/kuchnia.7z
2. http://dl.dropbox.com/u/72954214/ext4_utils.zip
oraz windows i linux
Pierwszy to zmodyfikowana kuchnia „a10_flash_kitchen_v2” dla ICS.
Drugi „ext4_utils” to źródła narzędzi dla linuksa do rozpakowania/stworzenia partycji systemowej.
- Do katalogu z kuchenką wrzucamy plik z firmwarem (GCA73_120410_ICS.img)
- Zmieniamy mu nazwę na original.img
- Uruchamiamy extract_image.bat i czekamy na zakończenie operacji
- Powstanie nam katalog „image” w którym mamy rozbity firmware na pojedyncze pliki
Lekki opis interesujących plików:
COMMON _SYS_CONFIG000000.fex – plik tekstowy zawierający podstawową konfigurację firmware. Tu znajdziemy rozpiskę partycji oraz ich wielkość.
COMMON _SYS_CONFIG100000.fex – plik tekstowy zawierający konfigurację dla kernela. Mamy tu rozpiskę gpio, modułów oraz inne ciekawe rzeczy. Jego zmiana nic nie da. Trzeba go jeszcze skompilować i wrzucić do bootloadera (ale to już inna bajka)
RFSFAT16_BOOTLOADER_00000.fex – bootloader (obraz FAT16)
RFSFAT16_BOOT_00000000000.fex – partycja bootujaca
RFSFAT16_RECOVERY_0000000.fex - partycja recovery
RFSFAT16_SYSTEM_000000000.fex - partycja systemowa (ext4) – tą modyfikujemy
RFSFAT16_V*.fex - pliki z sumami kontrolnymi
Lecimy dalej
- Przenosimy nasz plik RFSFAT16_SYSTEM_000000000.fex do systemu linux
- Rozpakowujemy sobie ext4_utils.zip oraz kompilujemy narzędzia (make all)
- zmieniamy format pliku na ext4:
./simg2img RFSFAT16_SYSTEM_000000000.fex system.ext4
- montujemy plik system.ext4
mount -o loop -t ext4 system.ext4 <scieżka katalogu montowania>
- Najlepiej sobie teraz przegrać te pliki do jakiegoś katalogu, ale można też działać bezpośrednio na zamontowanym katalogu (pamiętajmy o wielkości partycji – max 256M, chyba że zmienimy sobie wielkość w konfiguracji)
- Zmieniamy co chcemy
- Tworzymy teraz z powrotem obraz
./mkuserimg.sh -s <katalog w którym mamy pliki> RFSFAT16_SYSTEM_000000000.fex ext4 /tmp 256M
- Powstały plik RFSFAT16_SYSTEM_000000000.fex przenosimy na Windowsa i nadpisujemy stary znajdujący się w katalogu image
- Uruchamiamy create_image.bat
- Powstały plik „A10_flash.img” wgrywamy do urządzenia. Jak nic nie spiepszyliśmy to system wstanie