Autor Wątek: G'Reloc autofix dla kazdego romu  (Przeczytany 2885 razy)

Online mobi

  • Administrator
  • Core
  • ****
  • Podziękowań: 351
  • Wizard/HD2/Kaiser/SGS3/HTC E8/HTC 10/Xiaomi MiA1
G'Reloc autofix dla kazdego romu
« dnia: Czwartek, 20 Wrzesień 2007, 15:45 »
co to robi?

To clarify why it is needed.
When DLL in ROM is stored as a module, it occupies a fixed address space. So it starts faster, and can be loaded in slot 1, saving the virtual memory in a 32-mb virtual address space of all processes. There are some other benefits described in MSDN.

When you cook ROMs you may find that DLL from one ROM uses the same addresses as DLL from another. Previously to fix this you had to convert DLL to a file losing VM space. And not all DLLs worked after such conversion. Now we have an automated tool that can automatically fix all overlaps.

dziala to ponoc z roznymi romami od roznych urzadzen

link do xda
http://forum.xda-developers.com/showthread.php?t=331094




Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #1 dnia: Środa, 26 Wrzesień 2007, 17:15 »
co to robi?

To?
To jest po prostu rewolucja w dziedzinie smażenia i portowania ROMów...
Wyobraź sobie - bierzesz moduły SYS z innego urządzenia i realokujesz je, coby Tobie pasowały...
Albo np. masz jeden konkretny moduł, którego nie możesz u siebie włożyć w postaci paczki XIP, bo się nakłąda z innym modułem - normalnie byś wrzucił do ROMu jako zwykłą, nie XIPową dllkę, która przy ładowaniu systemu kopiuje się do RAMu, a tak - możesz sobie przerobić XIPa, dopasować go do swojego układu ROMika  ;D Coś, co wcześniej z uwagi na ręczne robótki było po prostu mordercze...

Ten program po prostu bierze po kolei wszystkie moduły (w postaci XIP) i realokuje je, czyli układa moduł po module, żeby żaden na siebie nie zachodził.

Jakbyś dostał do swojego ROMu wszystkie dllki w takiej postaci, uzyskałbyś ROM, który nie zajmuje prawie RAMu po starcie  ;D
Czyli to, czego szukaliście na słynnym obrazku  ;)  To, co jest zżarte, to moduły z nieoryginalnego ROMu, które nie są w postaci XIP, czyli ładują się do zwykłego RAMu.

ufff...  ;)

forum.mobione.pl - Android - Windows mobile - modyfikacje

Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #1 dnia: Środa, 26 Wrzesień 2007, 17:15 »

nothin

  • Gość
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #2 dnia: Środa, 26 Wrzesień 2007, 17:20 »
właściwie, to też nie rozumiem wynikowo tego programu.
taki noob ze mnie...:P

forum.mobione.pl - Android - Windows mobile - modyfikacje

Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #2 dnia: Środa, 26 Wrzesień 2007, 17:20 »

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #3 dnia: Środa, 26 Wrzesień 2007, 17:21 »
Jakbyś dostał do swojego ROMu wszystkie dllki w takiej postaci, uzyskałbyś ROM, który nie zajmuje prawie RAMu po starcie  ;D
Czyli to, czego szukaliście na słynnym obrazku  ;)  To, co jest zżarte, to moduły z nieoryginalnego ROMu, które nie są w postaci XIP, czyli ładują się do zwykłego RAMu.

tak?
fajnie, tylko jakoś nie bardzo rozumiem działanie po uzyciu na paradoxie.
nie zmieniło się NIC, łącznie z iloscią pamięci i działaniem ogólnie.

Normalne. Tak powinno być  ;)

To będzie miało efekt, jeśli dorzucisz skądś pakiety w formie XIP - czyli te, które są w postaci katalogów - np. katalog ndis.dll, a w nim pliki S* i imageinfo*.

nothin

  • Gość
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #4 dnia: Wtorek, 02 Październik 2007, 20:35 »
sorry, zrobiłem małą czystkę w wątku....
bo główna myśl się zatraciła;

Cytuj
To będzie miało efekt, jeśli dorzucisz skądś pakiety w formie XIP - czyli te, które są w postaci katalogów - np. katalog ndis.dll, a w nim pliki S* i imageinfo*.
zarazzz....niedawno denerwowałem się, ze w kuchni mam pliki w postaci katalogów, bo właściwie 75% plików jest w takiej postaci(w /oem i /sys;
ALE...inne nie.

teraz: czy dobrze rozumiem, że znalezienie takowych plików(NP z INNEGO builda pokrewnego romu)i zastąpienie ich tymi xip dllami mogłoby wpłynąc na ilośc ramu(dlli, które są  zawsze ładowane z systemem) po potraktowaniu całości g'reloc'em??

muszę jeszcze zapytać... jak właściwie używać tego sofu - ja wrzucałem go tam ,gdzie jest katalog /sys, /oem itp...jakieś pliki były zmieniane...

i jeszcze: czy g'reloc operuje TYLKO na /sys? co z /oem? a co z exekami? tylko dll'e? ....

odpowiedzi pozwolą mi sobie uświadomić niewiarygodny potencjał...który dopiero teraz niejasno mi się jawi...

mały update do zapytania, screen dokładnie obrazujący, czy dobrze myslę...


ten po lewej(czyli z jakiegoś tam romu pokrewnego temu, który robię) może zastapić ten po prawej(to już kuchnia paradoxa), po czym g'reloc mi go przerobi i można robić buildos, tak?
teraz: właściwie...dany dll nie jest ładowany do systemu bez odpalenia aplikacji, która go uzywa - czy jest sens zmiany?(czy po prostu execute programu uzywającego tego dlla nie powoduje zmniejszenia free ramu o ten zmieniony dll)?
« Ostatnia zmiana: Wtorek, 02 Październik 2007, 20:42 wysłana przez nothin »

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #5 dnia: Wtorek, 02 Październik 2007, 20:58 »
teraz: czy dobrze rozumiem, że znalezienie takowych plików(NP z INNEGO builda pokrewnego romu)i zastąpienie ich tymi xip dllami mogłoby wpłynąc na ilośc ramu(dlli, które są  zawsze ładowane z systemem) po potraktowaniu całości g'reloc'em??

Dokładnie właśnie tak.

muszę jeszcze zapytać... jak właściwie używać tego sofu - ja wrzucałem go tam ,gdzie jest katalog /sys, /oem itp...jakieś pliki były zmieniane...

Przećwiczone jest, że działa równie dobrze (a z naszego punktu widzenia - nawet lepiej) jak najpierw zrobisz buildos, i w dumpie odpalisz G'Reloc - dzięki temu przeleci on wszystko, co tylko dla siebie znajdzie :) Po wszystkim można sobie ręcznie popodmieniać katalogi w samej kuchni.


odpowiedzi pozwolą mi sobie uświadomić niewiarygodny potencjał...który dopiero teraz niejasno mi się jawi...


Potencjał... ujmę to tak: do tej pory dosłownie garstka ludzi potrafiła robić takie rzeczy, teraz każdy to może.

ten po lewej(czyli z jakiegoś tam romu pokrewnego temu, który robię) może zastapić ten po prawej(to już kuchnia paradoxa), po czym g'reloc mi go przerobi i można robić buildos, tak?


tak. wyrzucasz dllkę, wrzucasz katalog.
Wątek główny: czasami mogło by to działać ot tak... jeśli regiony by się akurat zgodziły. Chodzi o to, że w tych pliczkach zapisana jest mapa pamięci, jak ma się układać każdy program (biblioteka itp.). Zazwyczaj po skopiowaniu tegoż z innego romu kończy się tym, że dwa różne programy próbują zająć to samo miejsce w pamięci - i tu właśnie wkracza G'Reloc - układa je tak, żeby każdemu dać osobny, rozdzielny obszar ROMu.

teraz: właściwie...dany dll nie jest ładowany do systemu bez odpalenia aplikacji, która go uzywa - czy jest sens zmiany?(czy po prostu execute programu uzywającego tego dlla nie powoduje zmniejszenia free ramu o ten zmieniony dll)?

1. tak
2. nie
;)
Program (załóżmy dla przykładu, że nie xip) startuje, lokując się w RAMie. Potrzebuje dllki, ładuje ją. Ładuje ją "in place", czyli właśnie nie marnuje miejsca w RAMie - w nim siedzi tylko exek, dllka pozostaje na miejscu :)

i jeszcze: czy g'reloc operuje TYLKO na /sys? co z /oem? a co z exekami? tylko dll'e? .... a co np. z bmp, itp?

XIP to skrót od "Execute In Place". Po naszemu - uruchom na miejscu. Słowem, wszystko, co się uruchamia, może być XIPowane... No, nie wszystko, bo niektóre programy z racji swojej budowy muszą się uruchamiać w zapisywalnym obszarze pamięci... Ale już wspomniane bitmapy odpadają - one się nie uruchamiają.


Jeszcze jedno do kompletu... Sprzętowo rzecz ujmując, cały proces wymaga pamięci typu NOR, XIP nie może być uruchomiony w pamięci NAND. Akurat, zazwyczaj konstruktorzy robią tak, że ta część ROMu, w której masz system (OS i radio) są z NORów, natomiast pozostała część (czyli storage i ExtROM) są z NANDów. Różnica między nimi jest taka, że jeden się szybciej zapisuje, a drugi szybciej odczytuje. No i cena...

nothin

  • Gość
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #6 dnia: Wtorek, 02 Październik 2007, 22:16 »
dzięki za odpowiedź..ale chyba się jednak za to nie biorę...


hmm.. dziwne rzeczy...mam po flashu 35 mb mem free...i to jest niezłe.. ale po podmianie kilku plików z innej kuchni(phone.dll bodaj, na przykład) phon padł, z kolei podmienione pliki netcf coponiektóre działają ok(czego zresztą mozna było się spodziewać, jako, że podmieniłem cały katalog)......

wychodzi na to, że jednak nie mogę na rympał zamieniać wyrwanych fragmentów modułu phona, na przykład i właściwie tego się spodziewałem...co ciekawe, moduł łączył się z siecią, ale zasięgu już nie łapał, był wykrzyknik...piszę o tym, bo po starcie miałem...36.9 mb mem free...uh..i zabawne, padły kontakty, zapis kontaktów z simmanagera,żaden soft do kontaktów się nie odpalał.... czyli chyba po prostu uwaliłem moduł, stąd ten ram...
« Ostatnia zmiana: Wtorek, 02 Październik 2007, 22:19 wysłana przez nothin »

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #7 dnia: Wtorek, 02 Październik 2007, 22:54 »
Zabrałeś się akurat za moduł, który jest typowo zależny od sprzętu ;)

forum.mobione.pl - Android - Windows mobile - modyfikacje

Odp: G'Reloc autofix dla kazdego romu
« Odpowiedź #7 dnia: Wtorek, 02 Październik 2007, 22:54 »