[TOOL] NEW <<--->> OLD Bootloader ROM Converter v1.0

Search This thread

spyrosk

Senior Member
Jan 4, 2012
457
1,065
Athens
I've used the linux toolchain converting tonyp T04 newbl build to old bootloader:

the resulting rom boots (but it is unable to turn on wi-fi: I will shortly check that the oldbl by tonyp works correctly on the phone)

UPDATE1: the oldbl by tonyp boots regularly and activates wifi

UPDATE2: this is the set of files whose size differs between the original oldbl by tonyp and the result by the converting tool (don't if this can be useful)

At least it boots. That's great.

Regarding this set of files: The converted rom have the same files with the source newbl one. Do the comparison between these two and see.

Is it too much trouble for you, in this converted rom, to replace all modules in /system/lib/modules with the ones of last kowalski kernel 126?
and try flash it again?

Thank you in advance
 

flat__line

Senior Member
Mar 27, 2012
326
116
Trento
At least it boots. That's great.

Regarding this set of files: The converted rom have the same files with the source newbl one. Do the comparison between these two and see.

Is it too much trouble for you, in this converted rom, to replace all modules in /system/lib/modules with the ones of last kowalski kernel 126?
and try flash it again?

Thank you in advance

Do I just drop them into the zip? Should the file kernels/....zImage match the file kernel/zimage in kk zip file?
 

spyrosk

Senior Member
Jan 4, 2012
457
1,065
Athens
New version 0.2b is uploaded

ChangeLog:
Code:
Version 0.2b Aug 22, 2013
-liblgeril.so is also replaced with the one for the oldbl or newbl accordingly.
-A forced removal (switch -f) added when removing files and dirs just in case. 
-Converted ROM name will be built automatically from the source name suffixed by -oldbl or -newbl accordingly. 
 (If source rom's name contains 'newbl' or 'oldbl' it will be substituted by 'oldbl' or 'newbl' accordingly)
-Converted ROMs are now created under 'converted_roms' folder.
-Converting to oldbl: Files 'check_sdcard.sh' and 'lgdrm.img' are being removed if exist (as they are not used)
-Converting to newbl: Charger dependent images are also copied in ramdisk (not only the charger binary).
-Kernel modules will also be replaced with the ones coming with specific kernel image.
-Kowalski Kernel images & modules, in kernels folder, are replaced with latest ones dated:2013072013
 (it was my fault, the previous ones were downloaded from "releases" download folder and were dated 20230303)
-Some changes in display messages.

Version 0.1b Aug 19, 2013
-1st beta version
 

flat__line

Senior Member
Mar 27, 2012
326
116
Trento
New version 0.2b is uploaded

ChangeLog:
Code:
Version 0.2b Aug 22, 2013

Great, thanks to spyrosk and to exec92 for pointing out the problem with the kernel version ...

Managed to convert latest CM10.2 newbl by tonyp to oldbl, booting fine with wifi, connected to my account.
Rebooted. But I get a message regarding internal sdcard

Blank SD card

UPDATE: When using the FileManager to access it I am told that the operation requires elevated permissions ...
and when I use Gallery it tells me no external storage (the one that I can actually browse with the file manager)??

Did I miss some important step?
 
Last edited:
  • Like
Reactions: spyrosk

spyrosk

Senior Member
Jan 4, 2012
457
1,065
Athens
Great, thanks to spyrosk and to exec92 for pointing out the problem with the kernel version ...

Managed to convert latest CM10.2 newbl by tonyp to oldbl, booting fine with wifi, connected to my account.
Rebooted. But I get a message regarding internal sdcard

Blank SD card

UPDATE: When using the FileManager to access it I am told that the operation requires elevated permissions ...
and when I use Gallery it tells me no external storage (the one that I can actually browse with the file manager)??

Did I miss some important step?

I missed something. sorry
I will post here the new scripts to replace and retry.

Edit: Replace the scripts with the attached ones
Edit2: Whole package is uploaded as v0.3b
 

Attachments

  • Convert-scripts.zip
    5.5 KB · Views: 35
Last edited:

flat__line

Senior Member
Mar 27, 2012
326
116
Trento
Cm10.2 old bl bluetooth...

I cannot pair: during input of the pairing code it 'disconnects'

Anyone else with the same problem?


Sent from my LG-P990 using xda app-developers app
 

spyrosk

Senior Member
Jan 4, 2012
457
1,065
Athens
!! New version 1.0 is now uploaded !!
After the 1st successful convertion, this can be the 1st released version.

Last changes:
- The two convert2xxx_bl.sh scripts are now integrated into one script convert_rom.sh.
- The new convert_rom.sh also accepts an optional switch [-stepmode].
Code:
./convert_rom.sh -stepmode   #--> starts in step-mode for debugging purposes
./convert_rom.sh             #--> runs unattended (with no pauses).
- A technique added to preserve whitespaces in converted lines. So converted files keep margins and whitespaces of the source ones.
- Script checks whether source rom is a newbl or an oldbl one, displays an error message if rom is not for the expected bootloader and exits.

It starts with this menu:
========================================
P990 ROM Converter v1.0
Converting script by SpyrosK
Converting info by TonyP
Date: Aug 23, 2013
========================================

Converts a ROM for the other bootloader.

Select the desired convertion:
----------------------------------------
1 - Convert ROM for OLD BootLoader
2 - Convert ROM for NEW BootLoader

X - Cancel

Please type your selection [1,2,X]:

and after making a selection it continues as you know it.

Cheers ;)
 
Last edited:

gipigia

Member
Apr 27, 2011
47
11
brescia
I have used the tool to linux and I finally said enjoi. Then I installed the rom on converted on the phone and gave me error 7. As an administrator do you mean?
 
Last edited:

SREEPRAJAY

Retired Forum Moderator
Jul 9, 2010
4,567
5,985
CITY OF PARKS
Samsung Galaxy S23 Ultra
@spyrosk - why this thread still isn't the sticky here? (did you ask the mods to stick it up?) :)

i think it deserves to be on top here... i hope everyone agrees...

+1 :good::good:

Meanwhile, till it becomes a sticky..... for users who want the link straight away in a sticky thread....find it here

http://xdaforums.com/showthread.php?t=1037751

and ofcourse in my signature too...thanks @spyrosk

EDIT: requested a mod to consider it to be stickied.... hopefully it would be

EDIT :I SEE THIS THREAD IN THE STICKY THREADS....YIPEE.....thanks mods
 
Last edited:
  • Like
Reactions: dr4go and spyrosk

spyrosk

Senior Member
Jan 4, 2012
457
1,065
Athens
@spyrosk - why this thread still isn't the sticky here? (did you ask the mods to stick it up?) :)

i think it deserves to be on top here... i hope everyone agrees...

+1 :good::good:

Meanwhile, till it becomes a sticky..... for users who want the link straight away in a sticky thread....find it here

http://xdaforums.com/showthread.php?t=1037751

and ofcourse in my signature too...thanks @spyrosk

EDIT: requested a mod to consider it to be stickied.... hopefully it would be

I think that the members-users should decide If a thread should be a stickied one. Not the OP.
Thank you both.
 
  • Like
Reactions: tonyp and PinoDG

Top Liked Posts

  • There are no posts matching your filters.
  • 75
    P990 ROM Converter
    from New BootLoader to Old and vice versa

    Actually this tool is Tonyp’s idea. All credits to him.

    He asked me if I am interested in making a script and automating the rom porting from one bootloader to the other and he assisted me with all the changes that need to be done.

    Due to different EOL (end of line) termination in text files between UNIX-Linux (LF) and windows (CRLF), I had to make bash (linux) scripts necessarily. The good thing is that the tool can be used in both windows and linux systems.
    Installation:
    Download and extract the attached ROM-Converter-tools.zip package anywhere you like.
    Download and extract in the same folder, a newer ROM-Converter-scripts.zip if exists.

    For Windows systems only:
    Install Cygwin following the instructions below:

    Download setup-x86.exe from here http://cygwin.com/install.html
    Attention!! Even if you are running x64 windows system install the x86 version. DO NOT install the x64 cygwin version because two binaries (mkbootfs.exe & mkbootimg.exe used to pack boot.img do not work properly).

    Run the setup-x86.exe, when the list of packages is shown make sure you add the following:
    • Expand Archive and select zip & unzip to be installed
    • Expand Utils and select cpio to be installed
    • Expand Perl and select ‘perl: Larry Wall’s Practical..’ and perl_vendor to be installed
    (If you are already using cygwin run setup again and add the above packages to be installed.)

    For Linux systems only:
    Download the attached linux-mkboot-binaries.zip (mkbootfs, mkbootimg), extract them in tool folder and remove the windows ones (mkbootfs.exe, mkbootimg.exe).
    How to use it:

    Put the source ROM.zip(s) in the 'source_zips' folder (otherwise you’ll be prompted to drag n’ drop it in terminal)
    Open Cygwin. Type cd (leave a space after cd) and type /cygdrive/c/dir1/dir2/../ROM-Converter-tools
    where “c/dir1/dir2/../ROM-Converter-tools” is the full path of the folder you extracted the convert-tool package (e.g C:\dir1\dir2\..\ROM-Converter-tools) and press enter.

    In case of long pathname, instead of typing the whole of it, use one of the following tips to easily change to tool's path.
    Tip#1: After you type cd , drag n’ drop from windows explorer into cygwin terminal, the folder "ROM-Converter-tools" and it wiil automatically be converted to ‘/cygdrive/c/dir1/dir2/../ROM-Converter-tools’ press enter and that’s it.
    Tip#2: After cd /cygdrive/c/ type the 1st one or two letters of the next subdir and autocomplete it's name with TAB.

    Type one of these commands in cygwin terminal:
    Code:
    ./convert_rom.sh -stepmode   #--> starts in step-mode for debugging purposes
    ./convert_rom.sh             #--> runs unattended (with no pauses).

    What it does:
    The scripts use as input the 'files2convert.txt' which contains all possible files needed to be converted.
    This is for compatibility purposes to support as many roms as possible and for future changes.
    files2convert.txt
    Code:
    /ramdisk/fstab.star 
    /ramdisk/fstab.p990 
    /ramdisk/init.cm.rc 
    /ramdisk/init.cm-star.rc 
    /ramdisk/init.star.rc 
    /system/etc/vold.fstab 
    /system/bin/setup-recovery 
    /system/bin/check_sdcard.sh 
    /META-INF/com/google/android/updater-script

    More files can easily be added for conversion if needed.
    The converter:
    1. Extracts source ROM zip
    2. Unpacks the boot.img
    3. Reads the above files, replacing partitions' mount points, among some othe things, for the selected bootloader
    4. Replaces the kernel image for the selected bootloader
    5. Builds new boot.img
    6. Creates new converted ROM zip

    Under 'kernels' folder there are already included the two latest Kowalski kernel images (zImage) for old & new BL and its modules.
    You can add more kernels and you’ll be prompted to choose the desired one when converting a ROM (if more than one is found ).
    Read how to do this:
    kernels folder contains all kernel images (zImage), kernel modules and any other file the kernel needs.
    for each kernel there are:
    file(s) named: prefix-KernelName[-ver].zImage
    folder(s) named: [prefix-]KernelName[-ver]Kernel
    where:
    prefix must be oldbl or newbl (depending on which bootloader this kernel is for.
    KernelName[-ver] is whatever you like [and optionaly its version].
    zImage is the extension of the kernel image.

    How to maintain kernels folder

    A. Update existing kernels
    1. Download the desired kernel package and open it.
    2. Replace its kernel zIamge in kernels folder
    3. Extract its modules and any other file needed and replace all existing ones

    B. Add kernels
    1. Download the kernel package and open it.
    2. Find the zImage inside package and extract it into kernels
    3. Rename it this format: prefix-KernelName[-ver].zImage
    4. Create a folder named: prefix-KernelName[-ver]. It will be used to keep kernel's modules and other files needed. If this kernel is released for both bootloaders and its modules are identicaly on both bootloaders (like the existing kowalski one) then name the folder only KernelName[-ver] (without prefix).
    5. Inside this [prefix-]KernelName[-ver] folder create a subdir tree lib\modules
    6. Extract in lib\modules all kernel's modules from kernel package.
    7. If any other file is needed by kernel then create it's subdir tree (assuming that [prefix-]KernelName is the system folder of the kernel package) and extract it there.
    Attention: Current version will hopefully work on CM-based ROMs.
    Stock based ROMs need more files to be changed, but they are not included yet, because I don't have the whole info needed.

    Hopefully @rugglez or someone else will be willing to help.
    Till then avoid converting stock-based roms, (or if you do try, then after converting replace the boot.img in converted rom and "system/lib/modules/*" at least with a working boot.img and modules from another stock-based rom, for this bootloader of course. This could work but I am not the expert to say)
    17
    ChangeLog:
    Version 1.0 Aug 23, 2013
    - The two convert2xxx_bl.sh scripts are now integrated into one script convert_rom.sh.
    - The new convert_rom.sh also accepts an optional switch [-stepmode].
    Code:
    ./convert_rom.sh -stepmode   #--> starts in step-mode for debugging purposes
    ./convert_rom.sh             #--> runs unattended (with no pauses).
    - A technique added to preserve whitespaces in converted lines. So converted files keep margins and whitespaces of the source ones.
    - Script checks whether source rom is a newbl or an oldbl one, displays an error message if rom is not for the expected bootloader and exits.

    Version 0.3b Aug 23, 2013
    -a typo fixed in converting scripts

    Version 0.2b Aug 23, 2013
    -liblgeril.so is also replaced with the one for the oldbl or newbl accordingly.
    -A forced removal (switch -f) added when removing files and dirs just in case.
    -Converted ROM name will be built automatically from the source name suffixed by -oldbl or -newbl accordingly. (If source rom's name contains 'newbl' or 'oldbl' it will be substituted by 'oldbl' or 'newbl' accordingly)
    -Converted ROMs are now created under 'converted_roms' folder.
    -Converting to oldbl: Files 'check_sdcard.sh' and 'lgdrm.img' are being removed if exist (as they are not used)
    -Converting to newbl: Charger dependent images are also copied in ramdisk (not only the charger binary).
    -Kernel modules will also be replaced with the ones coming with specific kernel image.
    -Kowalski Kernel images & modules, in kernels folder, are replaced with latest ones dated:2013072013. (it was my fault, the previous ones were downloaded from "releases" download folder and were dated 20230303)
    -Some changes in display messages.

    Version 0.1b Aug 19, 2013
    -1st beta version
    13
    !! New version 1.0 is now uploaded !!
    After the 1st successful convertion, this can be the 1st released version.

    Last changes:
    - The two convert2xxx_bl.sh scripts are now integrated into one script convert_rom.sh.
    - The new convert_rom.sh also accepts an optional switch [-stepmode].
    Code:
    ./convert_rom.sh -stepmode   #--> starts in step-mode for debugging purposes
    ./convert_rom.sh             #--> runs unattended (with no pauses).
    - A technique added to preserve whitespaces in converted lines. So converted files keep margins and whitespaces of the source ones.
    - Script checks whether source rom is a newbl or an oldbl one, displays an error message if rom is not for the expected bootloader and exits.

    It starts with this menu:
    ========================================
    P990 ROM Converter v1.0
    Converting script by SpyrosK
    Converting info by TonyP
    Date: Aug 23, 2013
    ========================================

    Converts a ROM for the other bootloader.

    Select the desired convertion:
    ----------------------------------------
    1 - Convert ROM for OLD BootLoader
    2 - Convert ROM for NEW BootLoader

    X - Cancel

    Please type your selection [1,2,X]:

    and after making a selection it continues as you know it.

    Cheers ;)
    8
    New version 0.2b is uploaded

    ChangeLog:
    Code:
    Version 0.2b Aug 22, 2013
    -liblgeril.so is also replaced with the one for the oldbl or newbl accordingly.
    -A forced removal (switch -f) added when removing files and dirs just in case. 
    -Converted ROM name will be built automatically from the source name suffixed by -oldbl or -newbl accordingly. 
     (If source rom's name contains 'newbl' or 'oldbl' it will be substituted by 'oldbl' or 'newbl' accordingly)
    -Converted ROMs are now created under 'converted_roms' folder.
    -Converting to oldbl: Files 'check_sdcard.sh' and 'lgdrm.img' are being removed if exist (as they are not used)
    -Converting to newbl: Charger dependent images are also copied in ramdisk (not only the charger binary).
    -Kernel modules will also be replaced with the ones coming with specific kernel image.
    -Kowalski Kernel images & modules, in kernels folder, are replaced with latest ones dated:2013072013
     (it was my fault, the previous ones were downloaded from "releases" download folder and were dated 20230303)
    -Some changes in display messages.
    
    Version 0.1b Aug 19, 2013
    -1st beta version
    6
    Great, thanks to spyrosk and to exec92 for pointing out the problem with the kernel version ...

    Managed to convert latest CM10.2 newbl by tonyp to oldbl, booting fine with wifi, connected to my account.
    Rebooted. But I get a message regarding internal sdcard

    Blank SD card

    UPDATE: When using the FileManager to access it I am told that the operation requires elevated permissions ...
    and when I use Gallery it tells me no external storage (the one that I can actually browse with the file manager)??

    Did I miss some important step?

    I missed something. sorry
    I will post here the new scripts to replace and retry.

    Edit: Replace the scripts with the attached ones
    Edit2: Whole package is uploaded as v0.3b