OK, OK.... fajny tytuł wątku, nie?

Dla porządku: początkowo było tutaj info o jednej z metod (insert autorstwa bepe). Teraz nieco więcej, dla każdego coś dobrego...
Na początek: jak uzyskać plik xip.bin? Metod jest sporo... mają swoje zalety i wady, na jednych urządzeniach działają jedne, na innych inne... opiszę więc tylko jedną z nich: buildxip.
1. Przygotowujemy katalog (przykładowo
ROM), w nim podkatalog
XIP, w którym umieszczamy całą zawartość sekcji XIP - moduły i pliki,
bez plików *.txt!! W katalogu głównym kuchni, w podkatalogu
temp\dump, umieszczamy moduły
.VM i
.ROM. W katalogu
ROM umieszczamy plik
romhdr.bin od naszego urządzenia. Dogrywamy narzędzia od
bepe. Katalog przygotowany

2. Wykonujemy polecenie:
> buildxip
W tym momencie otrzymujemy plik out.bin, który jest naszą nową sekcją XIP (to jest to samo, co byśmy otrzymali przy pomocy programu XIPPort jako plik
xip_out.bin).
Jak taki plik osadzić w obrazie ROMu?
Metoda: implantxip.Metoda ta jest najciekawsza, gdyż nie wymaga znajomości adresu XIP, długości sekcji, umożliwia wybór pomiędzy przesunięciem sekcji IMGFS a pozostawieniem jej tam, gdzie jest, a dodatkowo oferuje możliwość założenia w trakcie łatki na certyfikaty oraz zmniejszenia lub usunięcia partycji ULDR, co jednak nie jest przedmiotem tego wpisu.
Osadzenie pliku xip.bin w przykładowym os.nb.payload wyglądać może następująco:
> implantxip -XIP out.bin -PAYLOAD OS.nb.test -NoCert
gdzie w przykładzie:
-XIP out.bin plik z naszą nową sekcją XIP
-PAYLOAD OS.nb.testnasz obraz ROMu
-NoCertwymuszenie nałożenia łatki na jądro nk.exe, usuwającej odwołania do procedur sprawdzających certyfikaty.
Metoda: insert.> insert -i out.bin -o OS.nb -d 0x00310000 -s 0x00310000
gdzie w przykładzie:
-d 0x00310000adres sekcji XIP
-s 0x00310000długość sekcji. W przypadku, gdy nasz xip.bin jest krótszy, resztę dopełnia zerami.
Metoda: XIPPort.[attachment=4]
Za pomocą programu XIPPort możemy osadzić przygotowany plik (koniecznie o nazwie xip_out.bin!) w naszym obrazie ROMu. Uruchamiamy program, wpisujemy pożądany adres (musimy go znać!) oraz nazwę pliku naszego obrazu (domyślnie jest tutaj wpisane nk.nb), np. os.nb.payload i wciskamy klawisz "write xip_out.bin to:". Koniec.
I na zakończenie: jak przygotować sobie taki katalog
XIP, w celu szybkiego portowania XIPów?
Wrzuć do naszego katalogu OS.nb (bądź OS.nb.payload) zawierający interesującą Cię sekcję XIP i wykonaj:
> dumprom
W efekcie otrzymasz podkatalog
XIP, oraz pliki
romhdr.bin,
msflash.bin i
boot.bin
Powodzenia!