Autor Wątek: Platformrebuilder.exe - nowa kuchnia bepe'go  (Przeczytany 7883 razy)

Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Platformrebuilder.exe - nowa kuchnia bepe'go
« dnia: Niedziela, 11 Styczeń 2009, 11:32 »
Witam. Znalazłem o to takie coś:
KLIK

Właśnie ściągam, zobaczę co to jest... Jeśli będzie coś ciekawego, wrzucę do pobieralni.
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #1 dnia: Niedziela, 22 Marzec 2009, 23:29 »
Trochę opisu:

Features:
- Full support for all HTC devices
- Easy XIP porting
- Does not depend on rgucomp anymore, instate building its own hives
- Native c++ (means faster)
- EXT packages (Extended packages)
- Support for building multiple languages and editions of a rom with a single Kitchen
- More configurable paths
- Using packages in XIP now

Extended Packages Structure:

    * .\My EXT Package\
      The Package itself can be named as you like
    * .\My EXT Package\files\
      All files that you put into this 'files' folder will be added to the OS
    * .\My EXT Package\app.reg
      The reg file can be Unicode or ANSI and contains the Package registry
    * .\My EXT Package\app.dat
      Same as the reg file, but content will be added to initflashfiles.dat

      This part is for the local part of the package, like language dependent reg entries or files:
    * .\My EXT Package\0409\files\
    * .\My EXT Package\0409\app.reg
    * .\My EXT Package\0409\app.dat
      It works exactly the same way as 'files', app.reg, app.dat in root of the Package, but it will only be added to the OS if you are building a WWE rom

      ...
    * .\My EXT Package\<LOCALE>\files\
    * .\My EXT Package\<LOCALE>\app.reg
    * .\My EXT Package\<LOCALE>\app.dat
      You can add as many local folders as you like, this is EXTREAMLY useful if you like to build more than one language of your ROM

      Summary:
      + Files and RGU file is not in one folder anymore
      + DSM file is not needed anymore
      + Possible to make packages that support multiple languages
      + There will be a tool that converts OEM packages automatically to EXT packages
      + .reg and .dat files can be Unicode or ANSI
      + reg files dont need REGEDIT4 and the empty line anymore
      + The language to use is selected inside the .bat file by: set LOCALE=0409


Skip files:
One very important new part are the skip files, you can place this skip files inside SYS, OEM, EXT packages.
In build_rom.bat you will find this two lines:

    set LOCALE=0409
    set BUILD=Premium

LOCALE should be set to the language you want to build the ROM for
BUILD is some custom value like Premium/Basic/Lite (you can call it however you like, 高级/基本/建兴 would be working too)

    * _skip
      This package will be skipped always.
    * _skip_0409
      This package will not be included to the OS if you set LOCALE to 0409.
    * _skip_Lite
      This package will not be included to the OS if you set BUILD to Lite.
    * _only_0409
      This package will only be included to the OS if you set LOCALE to 0409.
    * _only_Premium
      This package will only be included to the OS if you set BUILD to Premium.

      Example:

          We are building:
          Languages: 0409, 0407, 0404
          Editions: Premium, Basic, Lite

          OEM\Package 1\_skip_0409
          OEM\Package 1\_skip_0407

          OEM\Package 2\_skip_Lite
          OEM\Package 2\_skip_Premium

          OEM\Package 3\_only_Premium

          Package 1: Will only be included if you are building a 0404 rom.
          Package 2: Will only be included if you are building a Basic rom.
          Package 3: Will only be included to a Premium build.

      - As you can see there can be more than one skip file in one package.
      - A skip file is just a file (like an empty text file) that is renamed to "_skip_xxx", important is that this file MUST not have an extension, only filename!
      - In EXT packages put the skip file into the root of the package.

Important to know is that skip files are ignored if you are explicitly referring to a package path... just continue reading...


The following might sound a little complex, but it really is not and you might not need it in case that you are only building a one language rom...
... anyway, there is a sample Diamond Kitchen with multilingual support in the download section.

Paths and Patterns:
This Kitchen is using free configurable patterns for XIP, SYS, OEM, EXT.
Patterns can have wildcards or can be explicit, like this examples:

    * set EXT_PATTERNS=EXT\*
      This will search for all packages inside .\EXT\ folder. e.g.:
      Kitchen\EXT\Package 1\
      Kitchen\EXT\Package 2\
      ... (all packages inside EXT will be added)
    * set EXT_PATTERNS=EXT\My Package
      This will explicitly add only one package. e.g.:
      Kitchen\EXT\My Package\
    * set EXT_PATTERNS=EXT1\* ; EXT2\* ; EXT3\Settings
      This will explicitly add all packages inside EXT1 and EXT2 and at the end EXT3\Settings. e.g.:
      Kitchen\EXT1\Package 1\
      Kitchen\EXT1\Package 2\
      ...
      Kitchen\EXT2\Package 1\
      Kitchen\EXT2\Package 2\
      ...
      Kitchen\EXT3\Settings\
    * set EXT_PATTERNS=EXT\*\*
      This is very special, it means you can group your packages into collections like this:
      Kitchen\EXT\<collection>\<package>
      e.g.:
      Kitchen\EXT\Original Diamond\<packages>
      Kitchen\EXT\From Raphael\<packages>
      Kitchen\EXT\From HD\<packages>
      Kitchen\EXT\Own Apps\<packages>
      ...
    * set EXT_PATTERNS=C:\EXT\* ; d:\My Packages\debug apps
      This should just show that the packages do not have to be inside the Kitchen anymore

In build_rom.bat you will see this lines:

    set ROMHDR=ROM\romhdr.bin
    set XIP_PATTERNS=ROM\XIP\*

    set SYS_PATTERNS=SYS\*

    set OEM_PATTERNS=OEM\*

    set EXT_PATTERNS=EXT\*\*

Use your creativity for example for multilingual builds:

    * set SYS_PATTERNS=SYS\%LOCALE%\*
      This line will use SYS\0409\* in case that you are building with LOCALE=0409, but if you set LOCALE=0407 it will use SYS\0407\*
      ... you should really try to understand this line, so here an additional explanation:
      set LOCALE=0409 is declaring a variable called LOCALE with the value 0409. If you write %LOCALE% somewhere in the bat file it's the same as writing 0409 directly, but if you change the LOCALE variable now, it will automatically change the meaning of %LOCALE%.
      This means you can switch the language of your ROM Kitchen by just changing the value of set LOCALE=0409
    * set SYS_PATTERNS=SYS\COMMON\* ; SYS\%LOCALE%\*
      This line will use packages inside SYS\COMMON for all languages and it will add only the local packages from SYS\0409 if you are building LOCALE=0409

[attachment=1]

    * set OEM_PATTERNS=OEM\* ; OEM\OEM_Lang_%LOCALE%
      The idea behind this line is to have all the OEM_Lang_xxxx folders inside OEM:

[attachment=2]

But right now it would create a list of packages to add to the OS like this:

    OEM_Lang_0407
    OEM_Lang_0409
    OEMDrivers
    OEMMISC
    OEM_Lang_0409 (<- You see in this case LOCALE was set to 0409, so this package was added for OEM\OEM_Lang_%LOCALE%)

Problems are now that all OEM_Lang_xxxx folders inside OEM have been added and that OEM_Lang_0409 has been added two times.
We solve that using the skip files, we just place a "_skip" file inside all the OEM_Lang_xxxx packages.
The clue is that skip files are ignored if you are explicitly referring to a package, so this will create us the list that we always wanted:

    OEMDrivers
    OEMMISC
    OEM_Lang_0409 (<- Added because of OEM\OEM_Lang_%LOCALE%, but ignored by OEM\* because of the skip file inside the package )





dodano: Niedziela, 22 Marzec 2009, 23:12
tutoriale video:

- Building a new ROM Kitchen
- Upgrading the OS build in a existing Kitchen
- Using the OEM2EXT Tool

Pliki do pobrania:

- Kuchnia podstawowa
- Zestaw narzędzi
- Narzędzie do konwersji OEM paczek na EXT paczki ;)



dodano: Niedziela, 22 Marzec 2009, 23:21
Ogólnie, po kilku tygodniach stosowania (choć wciąż nieco po omacku i jeszcze wiele pozostało do odkrycia....) - rewelacja. Nie dość, że wiele ułatwia, to na dodatek na prawdę porządnie zajmuje się XIPem, modułami, relokacją itp.etc.
Rewelacja.



dodano: Niedziela, 22 Marzec 2009, 23:23
Acha, byłbym zapomniał... ostatnia wersja samego platformrebuildera w załączniku :)


Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #2 dnia: Piątek, 21 Sierpień 2009, 13:56 »
Hmm, utak3r, powiedz mi jak działa to narzędzie do konwersji OEM paczek na EXT paczki? ;)
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #3 dnia: Piątek, 21 Sierpień 2009, 14:04 »
oemextcośtam.exe nazwakataloguwktórymjestoempaczka
Jeśli masz dwa oemy: jeden z podstawowymi plikami i drugi np. z langiem do tego oema, najpierw obrabiasz podstawę, później langa. W wyniku tego dostaniesz jeden katalog paczki z podkatalogiem np. 0409, 0415 itp.

Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #4 dnia: Piątek, 21 Sierpień 2009, 14:21 »
No to w takim razie mi to nie działa. :D Ale przerobiłem już paczki ręcznie i jest ok.

I jeszcze jedno pytanko: OEM_Lang, drivery, OEMMISC też muszę przerabiać według wzoru dla EXT ?
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #5 dnia: Piątek, 21 Sierpień 2009, 14:49 »
Nie, to co jest w katalogu OEM, jest po staremu (tylko wyrzuć pliki option.xml). W nowym formacie jest tylko to, co jest w katalogu EXT.

Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #6 dnia: Piątek, 21 Sierpień 2009, 14:55 »
OK, dzięki. A co z xipem? W tej chwili mam normalnie poskładany w ROM\XIP, odpalam batcha, dostaję "Collecting standard packages and initializing hives...
 XIP:   0 packages" i się wywala.. ?-?
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #7 dnia: Piątek, 21 Sierpień 2009, 15:03 »
A spójrz no w batcha, tam się wszystkiego dowiesz...
Zależnie od tego, co tam masz w środku, ale na pewno musisz podzielić na OEMXIPKernel i MSXIPKernel. A być może jeszcze bardziej - np. Tornado i SHARED i w nich dopiero tamte. Zajrzyj do batcha, dowiesz się stamtąd całej struktury :)

Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #8 dnia: Piątek, 21 Sierpień 2009, 15:10 »
A dsma od OEMXIPKernel też muszę mieć? Bo nie mam, heheh.
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #9 dnia: Piątek, 21 Sierpień 2009, 15:13 »
Nie wiem... puść builda a się dowiesz  :8)


Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #10 dnia: Piątek, 21 Sierpień 2009, 15:16 »
Nadal się wywala O0 Spróbuję zrobić choć pustego dsma dla oemxipkernel.

upd: nic się nie zmieniło, nadal kicha ?-? Popatrzę jeszcze do tego batcha..

upd2: utak3r, ty korzystasz z samego platform rebuildera (jak ja) czy z kuchni erviusa? Jeśli z tego drugiego, no to sobie możemy pogadać.. ::)
« Ostatnia zmiana: Piątek, 21 Sierpień 2009, 15:23 wysłana przez Mietas »
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #11 dnia: Piątek, 21 Sierpień 2009, 15:30 »
Z kuchni erviusa, ale.... batch to batch, weźżesz w końcu zajrzyj do niego  ::)   tam są opisane ścieżki i struktura.
A dsma złożysz choćby DSMEditorem.


Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #12 dnia: Piątek, 21 Sierpień 2009, 15:44 »
Zajrzałem do batcha, ale nic tam nie widzę :oT Widzę tylko że romhdr.bin ma się znajdować w ROM\romhdr.bin, a wzór xipa (XIP_PATTERNS, tak sobie to przetłumaczyłem :p) w ROM\XIP\*. Hmm, co jest nie tak ?-?
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #13 dnia: Piątek, 21 Sierpień 2009, 16:18 »
Będę w chacie, to zajrzę.

Offline Mietas

  • Core
  • *****
  • Podziękowań: 53
  • Nokia Lumia 520, MDA Compact IV
Odp: Platformrebuilder.exe - nowa kuchnia bepe'go
« Odpowiedź #14 dnia: Piątek, 21 Sierpień 2009, 21:24 »
Nieaktualne utak3r ;) Ściągnąłem kuchnię erviusa, poprzeglądałem batche i naprawiłem.. Anyway, dzięki :ok:
Lumia 520, WP8 8.0.10211.250, oryginał Plus
MDA Compact IV, MLR 6.1