Jump to content

SztupY's automated kitchen [with OPTIMIZER]


Guest sztupy

Recommended Posts

UPDATE12 --> Added OPTIMIZER to SYOK. Read more here

UPDATE11 --> New maintainer of SYOK is lastnikita. Also the source code of SYAKR is released. Read more here

UPDATE10 --> Version 1.0 RC1. packed in a complete kitchen. Read more here

UPDATE9 --> Update XIP / SYS to 20757 or 20954. Read more here

UPDATE8 --> Version 0.9 is out, with official DXHL2 support. Read more here

UPDATE7 --> The tasks should work with DZHL2! Read more here

UPDATE6 --> Get the v0.3.1 service pack 2 from here

UPDATE5 --> V0.3.1 is out with "install favourite settings" task! Get it from here

UPDATE4 --> V0.3 is out with new tasks! Get it from here

UPDATE3 --> Second "Create your own lufeig's clean ROM" task pack is out. Get it from here

UPDATE2 --> First task pack is out. Get it from here

UPDATE1 --> V0.2 is out. Get it from here

------------------------------------------------------------------------------------------------------------------------

BEWARE

Only use this application if you KNOW what you are doing, and after you flashed custom ROM's to your phone at least a few times. If this doesn't apply to you, it is possible, that this application is NOT for you. Try out lufeig's clean ROM if you'd like a tested nice and clean ROM, or check other custom and/or official ROM's! If you still want to use this application read PaSSoA's guide and shokka's ROM building for dummies first.

BEWARE

Before using my app READ ALL of the posts that are marked above as UPDATE, and always use the latest version.

------------------------------------------------------------------------------------------------------------------------

KITCHEN

The kitchen is a repack of PaSSoA's - oldcat's kitchen, with these added features:

- Pako's eXecutor 1.5

- SYAKR 1.0 RC1

- CabTools 0.2

- updated imgfsfromdump to handle large ROM's

- Auto-update feature using mercurial

Get it from here: http://winmo.sztupy.hu/syok.html

------------------------------------------------------------------------------------------------------------------------

SYAKR

I've just recently brought my new phone (and besides my first WinMo device), and as with all phones that enter my hand, I fell in love with hacking it do death... It's just the same with omnia. The difference is that there are a lot of custom made ROMs to choose from, but, it seems, that they aren't good for everyone. While the "clean ROM" paradigm seems to be good (provide a clean ROM, and then add the cabs, so the users can only install applications they really use), but unfortunately a lot of applications only work, if they are bundled with the ROM... And this gives the clean ROM's a disadvantage (besides the fact, that a lot of applications are unavailable as CABs).

My idea was, that a lot of tasks involving erasing applications from the ROM can be automated (like delete some files, erase some keys from the registry and from the initflashfiles.dat). So I've build a tool that helps automating these tasks. It's of course still in an early alpha stage, but the main actions are working already, and I've already built my own custom ROM with it without meeting Mona Hans.

The advantages of this solution are:

  • Create a custom ROM which suit your needs, and leave out everything else (even drivers, and other things, that you'll never use)
  • If you have automated tasks, they may be ported easily to newer ROM versions, so you don't have to do everything multiple times
    • Creating scripts are sometimes harder than simply deleting files (but they may worth the time)
    • It is impossible to predict whether a specific task configuration will work, or not (there may be questions like: will the Widgets work, when I delete the FM radio or not?)


      SYAKR works with PaSSoA's i900 rom kitchen, Pako's EXEcutor, and secany's DXHK3 firmware. (many thanks to them for these tools/files) You have to download them, and extract them into a directory. Then extract the ROM using the kitchen, and the CSC part using the EXEcutor. (it should create a Customer_CSC directory in the root of the kitchen. That is fine) If you've ever made a custom ROM, these should be obvious things.

      Next, download tha latest version of SYAKR (check the updates at the top if this post to get to the download link), and extract it into the directory of the ROM kitchen (next to BuildROM.cmd, etc.). Now that you have the application downloaded, you only need the tasks (if you got a task-free version of syakr... the latest versions should be bundled with a lot of great tasks to clean your rom, but you may find others too in this topic)

      Next run syakr, and you should see something like this: (except under Windows XP, I suppose :) )

      post-465894-1229895382_thumb.jpg


      Simply check whick tasks would you run, and which not, and then press the "Run scripts" button. After a while the console should say "Done", and you may exit the application, make some more modifications to your ROM, and then flash it to your device... The application logs what it has done in "messages.log" and any warnings in "warnings.log".

      Functionality (vor v0.1. Check the updates at the top if this post to find out about newer versions)

      Currently SYAKR is capable of the following:

      • Deleting files / folders (glob wildcards are supported)
      • Deleting lines from initflashfiles.* (exact match, substring match and regular expression support)
      • Deleting keys and values from registry files (*.rgu and *.reg) (bit buggy, see TODO list)
      • Automatically detects whether the editable file is UTF-8 or UCS2-LE encoded
      • Automatically sets attributes (RHAS) and modification time back when changing the registry / initflashfiles
      • Copying files and directories into the extracted image
      • Everything is read from XML files, no hard coded tasks

      Of course it has some limitations:

      [*]No dependency support, so one cannot say which tasks are dependent on others (in order not to delete something that other non-deletable applications are still using)

      [*]No version support in the application (the XML already supports it). Currently SYAKR always believes you have a DXHK3 ROM

      [*]Registry editing is incomplete and may be buggy. It only supports exact matches, and may get weird when it encounters values with '='-s in it

      [*]Lack of tasks (currently it only has 4, from which only 2 are usable :rolleyes: )

      If you're interested in trying out this application then feel free to do so. I only ask you that if you already made a lot of custom ROM's then please help me creating more tasks. I also welcome bug reports, and any other stuff, that may make this application better. If you have any questions regarding task creatins feel free to ask me, and check the sample files, because they are mostly self-explanatory.

      syakr_task_pack_1.zip

Edited by sztupy
Link to comment
Share on other sites

I will definitely give this a try, if any one has cooked a custom ROM, they will know that many steps are repetitive. ie. when a new build comes out, the same app files will have to be manually deleted with it's associated rgu's, files and such.

The scripting functions look to be a time saver and I'll comment on it once I've played around with it.

Great work so far and this could really be epic!

Link to comment
Share on other sites

I also want to give my congrats! :rolleyes: Havent cooked a ROM yet as there are many cookers inda house and all the cooking tools look like pain in the a$$ :).

This should be my really an epic! Keep it up mate. Great work

Link to comment
Share on other sites

Guest Barthlon

great idea man, hopefully you'll get enough help to pull this off, would be a great tool

that i think everyone on this forum would like to have :rolleyes: :)

passoa and lufeig already spotted this thread and can probably help you out, maybe the

other cookers like paul and taril can help you too :(

Link to comment
Share on other sites

Thanks guys!

Here is a new version, for christmas!

Updates:

  • Supports multiple versions of the same task (for separate ROM versions)
  • Supports dependencies between tasks (you can set which tasks should run before which tasks)
  • Parameter support in actions (see below for a demo)
  • Batch run
  • New actions: execute (runs an external program), replace (replaces lines in files) and append (appends lines to files)
  • Base directory is now the actual directory instead of the OEM (and the default CSC directory is Customer_CSC)

    • Registry editing needs more work (but should work in most of the cases)
    • More uses of the parameters (like conditional actions)

    Here is a showcase of the new parameter support:

    post-465894-1229895499_thumb.jpg

    As you can see, you can set some parameters, which can control the task. This task executes an external application which generates an animated gif. Something like this (click on it to see the "great" animation):

    post-465894-1229895506_thumb.jpg

    I also added comments to the XML files, so task creation should be easier.

    Get SYAKR 0.2 and the example tasks from here: http://winmo.sztupy.hu/syakr.html

Edited by sztupy
Link to comment
Share on other sites

Guest lastnikita

looks great, now we need a task editor and a tasks collection :rolleyes:

edit: let me suggest another structure, which would be more clear to me:

every task.xml renamed do_this_or_do_that.xml, in root of "tasks" directory, and every other files in "files" subfolder

Edited by lastnikita
Link to comment
Share on other sites

Guest lastnikita

why do we need 2 xml files for each task ?

a quick start guide for xml creation would be nice :rolleyes:

I guess that within one app.xml file you can delete XOR add depending on what is written in the task.xml file ?

Link to comment
Share on other sites

why do we need 2 xml files for each task ?

You only need two (or more) files for tasks that delete files. This is because so you may re-use filelists in multiple tasks. The ratio behind this is that multiple tasks may be dependent on the same filelist, and if so, the system should delete those files only, if ALL tasks are selected that are dependent on those files. This checking does not work in 0.2, but I'll implement it in the next version

a quick start guide for xml creation would be nice :)

I'm not good in writing documentations :rolleyes: . The easiest way to create a task is to use one of my tasks as examples, or as starting points. Just don't forget to change the "id", "name", "author" and "description" tags

I guess that within one app.xml file you can delete XOR add depending on what is written in the task.xml file ?

A task.xml file can conatin multiple actions, and they will be run in the order, they are presented in the xml file.

This means one task may for example delete some files, then copy some files, then delete some more files, then execute an external app, and finally do a search/replace on the files. For this the action may look like:

  




..\..\OEM\OEMDrivers

fmradio.dll
fmradio2.dll


[/codebox]

Link to comment
Share on other sites

edit: let me suggest another structure, which would be more clear to me:

every task.xml renamed do_this_or_do_that.xml, in root of "tasks" directory, and every other files in "files" subfolder

The XML files in the _files directory are separated, because they are shared among the tasks (see my previouss post). I think that each task should have it's own directory, because a task may contain extra files/directories/etc.

Link to comment
Share on other sites

Guest lastnikita

thanks for your answer.

how do you copy to SYS ?

I think .net should go to sys dir, am I wrong ?

here's my contribution, task to add HTCemu DLL files from speleomaniac (adds Diamond sensor translation), didn't test it yet

ps: why will the forum reject .7z archives ?

edit: this will be a great way to share tips among ROM cooks :rolleyes:

edit2: task updated (again)

HTCemu_DLLs.zip

Edited by lastnikita
Link to comment
Share on other sites

thanks for your answer.

how do you copy to SYS ?

Of... I've forgot about the SYS folder... well, because the base dir is OEM, to get to the sys folder you have to write "..\SYS". Have to try out whether this works or not.

I think .net should go to sys dir, am I wrong ?

Dunno... I prefer to create programs than to search for tutorials on how to do things :rolleyes: . BTW if someone knows the answer I'd be happy to know it too.

here's my contribution, task to add HTCemu DLL files from speleomaniac (adds Diamond sensor translation), didn't test it yet

It should work. But I think a simple would work too, because these DLL's don't need to be installed (no registry/initff changes, they simply get into the Windows directory)

Link to comment
Share on other sites

Guest lastnikita
BTW if someone knows the answer I'd be happy to know it too.

Well it does, I just believed you did this on purpose :rolleyes:

And the old .NETCF should be removed before, so that no older file persist.

they simply get into the Windows directory

I always wondered if one can just throw files in oemapps to see them go into \windows

cool tip thx, task updated in my original post

edit: will this also copy the folder or only the files within ?

btw like this I guess it goes to OEM, so it wouldn't work actually :)

Edited by lastnikita
Link to comment
Share on other sites

how do you copy to SYS ?

Modified the 0.2 version so the actual directory is the basedir. Re-download it.

And here is a small task generator script:

Usage: create_removal_task [id] "[name]" [depfile.xml] [author]

For example: create_removal_task.exe rem_windows_live "Remove Windows Live" winlive.xml sztupy

create_removal_task.exe

Link to comment
Share on other sites

I always wondered if one can just throw files in oemapps to see them go into \windows

cool tip thx, task updated in my original post

As far as I know every file goes into the Windows directory by default, from where they get "redirected" by the initflashfiles.dat-s

(update it again, to reflect the basedir changes in the new 0.2 :rolleyes: )

Link to comment
Share on other sites

edit: will this also copy the folder or only the files within ?

It uses 'cp -R' internally so it should copy the folder too. And btw. erasing a file will use 'rm -rf' internally, so it can be used to delete complete folders too (has to test is though)

EDIT: tested, things like

<?xml version="1.0" encoding="utf-8"?>


WindowsLive*


[/codebox]

will erase directories the right way.

rem_winlive.zip

Edited by sztupy
Link to comment
Share on other sites

Guest lastnikita
It uses 'cp -R' internally so it should copy the folder too. And btw. erasing a file will use 'rm -rf' internally, so it can be used to delete complete folders too (has to test is though)

I meant the root folder NETCF35 ?

Sorry I don't have the cp command to check.

(update it again, to reflect the basedir changes in the new 0.2 :rolleyes: )

done

Link to comment
Share on other sites

I meant the root folder NETCF35 ?

Sorry I don't have the cp command to check.

It's a linux command which means copy the directory and everything inside it to the destination.

Link to comment
Share on other sites

And here comes the first TASK PACK!

It contains:

  • Update .NET CF from 2.5 to 3.5.7283.0
  • Change the extra key on Spanish keyboard
  • Create Contact Information Boot Image (needs imagemagick to work)
  • Install HTCemu DLLs (by lastnikita)
  • Remove Connected Home
  • Remove Digital Frame
  • Remove Games
  • Remove Google Launcher
  • Remove Infrared Drivers
  • Remove Photoslides
  • Remove Podcasts
  • Remove Sample Music Ringtones
  • Remove Samsung Today 1
  • Remove Samsung Widget
  • Remove Shozu
  • Remove Transcriber
  • Remove Wallpapers
  • Remove Welcome Center
  • Remove Windows Live
  • Remove Windows Update

Here is a nice shot:

post-465894-1229909685_thumb.jpg

All tested, and confirmed to be working

(but they may not be the optimal, so leftovers may remain in your ROM).

Download link: http://winmo.sztupy.hu/syakr.html

Edited by sztupy
Link to comment
Share on other sites

Guest Matulek

i love you man:D

That thing is great:)

I have one request to do task witch will add flash lite 3.1 couse, when i do that manually it couses errors.

Once again, great thanks for the great job;)

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.