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

Search This thread

nicorb

Senior Member
Oct 20, 2011
127
12
Im trying to convert "DjangoManouche1.7.1Gueste" great gb rom for new BL and im getting the followin lines during process :

"STEP 5: PACKING NEW BOOT.IMG ...
Press [enter] when ready

Selected kernel: newbl-Kowalski-126.zImage
Using base address 0x10000000
Using command line 'mem=415M@0M nvmem=96M@416M loglevel=0 muic_state=1 lpj=9994240 CRC=3000001a323ed07 vmalloc=256M brdrev=1.0 video=tegrafb console=ttyS0,115200n8 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:35e00:2800:800,linux:34700:1000:800,mbr:400:200:800,system:600:2bc00:800,cache:2c200:8000:800,misc:34200:400:800,userdata:38700:c0000:800'

Replacing kernel modules ... rm: cannot remove `romfiles/system/lib/modules/*': No such file or directory
done."

After tool finishes i can flash the created rom but im just stuck on bootloop.
Any ideas ? Should i add something for conversion maybe?

Btw thanks for this really helpfull tool.
 
Last edited:

SREEPRAJAY

Retired Forum Moderator
Jul 9, 2010
4,567
5,985
CITY OF PARKS
Samsung Galaxy S23 Ultra
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.

(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)

something from the OP and the dev @spyrosk..... so take care when you try to replace something not specified

Have been involved in conversion from the beginning....but stock wasnt working with this....
I used another method....can try for you if you need
 

nicorb

Senior Member
Oct 20, 2011
127
12
@ filarod .... Tx dude.
@ SREEPRAJAY ..Tx .I d surely appreciate it if u d tried for me :).
 
Last edited:
  • Like
Reactions: SuperSkill

wals46

Senior Member
Jan 4, 2012
586
213
This converter works well with newbl MIUI roms, too. I did it with 4.3.7 and 4.4.25 releases, from newbl to oldbl
Tks
 
  • Like
Reactions: SREEPRAJAY

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