FORUMS
Remove All Ads from XDA

Howto - unpack,change,repack boot.img

34 posts
Thanks Meter: 14
 
By tobr, Member on 16th January 2011, 08:21 AM
Post Reply Email Thread
Hi, for those interested I wrote following steps (ubuntu 10.10 32b):
(based on excellent http://android-dls.com/wiki/index.ph...ck_Boot_Images )

I included compiled tools mkbootfs , mkbootimg and perl scripts unpack-bootimg.pl and repack-bootimg.pl.
Repack-bootimg.pl is edited and the needed parameters for our folio are included ([email protected] [email protected] vmalloc=192M video=tegrafb console=ttyS0,115200n8 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:122000:a00:800,linux:a0e00:1000 :800,loader:300:400:800,mbr:700:200:800,system:900 :20000:800,cache:20900:80000:800,misc:a0900:400:80 0,userdata:a1f00:80000:800 boardtype=PR)

1) unpack attachement mytools.tgz into your home, in your home the folder ~/mytools is created:
tar -xzf mytools.tgz

2) copy existing boot.img into ~/mytools (from foliomod update.zip)

3) ./unpack-bootimg.pl boot.img
- old kernel from boot.img is extracted: boot.img-kernel.gz
- content of contained ramdisk is extracted in folder: boot-img.ramdisk

4) copy new compiled kernel (zImage) into ~/mytools (from <source>/kernel/arch/arm/boot/zImage , you have to compile yourself with the weeds2000 quide http://forum.xda-developers.com/show...7#post10331797)

5) make all desired changes into ramdisk folder

6) repack new boot.img with a new kernel and changed ramdisk
./repack-bootimg.pl zImage boot.img-ramdisk boot-new.img

7) new boot image is created as boot-new.img

8) if you want just to experiment, you can take any full foliomod dexter's update.zip (1.3d), put the new boot image inside instead original one.
It is possible to remove the other 2 images (recovery and system) if you want just to flash kernel. NOTE! But you have to remove the extrating command for recovery and system from update.zip/meta-inf/com/google/android/update-script.

p.s. Feel free to correct me, if something wrong with the steps. It's my first attempt to compile kernel :)

I am on FolioMod 1.3d and I use the kernel built without patches from http://tegramid.com/wiki/Main_Page(Full GPL source bundle including framework) for a day without problems. I had to do a full wipe. It's meant for testing, I don't say that kernel from source is better or worse.

Many thanks to Dexter because everything is based on his release, weeds2000 because of his kernel compile quide and tsh who placed the sources on the git and to all who try hacking our folio :)
Attached Files
File Type: zip mytools.zip - [Click for QR Code] (20.3 KB, 9589 views)
The Following 12 Users Say Thank You to tobr For This Useful Post: [ View ] Gift tobr Ad-Free
 
 
19th January 2011, 05:21 PM |#2  
Member
Flag Rennes
Thanks Meter: 15
 
More
thx for this, that 'll be usefull
17th April 2011, 02:31 PM |#3  
add.thebad's Avatar
Senior Member
Flag Lincoln UK
Thanks Meter: 32
 
More
thanks for the guide.
i have managed to do every thing up to the repack

when i type
Code:
perl repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk.gz boot.img

i get error
Code:
boot.img-ramdisk.gz Not a directory at repack-bootimg.pl line 13.
even though it is definatly in their. any idea how to get it to work?
17th April 2011, 02:58 PM |#4  
Member
Thanks Meter: 5
 
More
You don't have to provide the folder instead of the packed Ramdisk-File!
Because this script is made doing changes in Ramdisk and kernel..
So you can change the scripts inside the boot.img-ramdisk folder and the script will repack and add it to the new boot.img!
12th June 2011, 01:34 PM |#5  
Junior Member
Thanks Meter: 0
 
More
permission denied
i have done everything as you said, but while using split_bootimg.pl i got "permission denied". please suggest me what to do?
12th June 2011, 07:13 PM |#6  
Jon2555's Avatar
Senior Member
Flag Belgrade
Thanks Meter: 242
 
More
1. Enable read/write permissions for that file.

2. Tobr, you made a mistake in repack-bootimg.pl. You forgot to add " ./ " before mkbootimg.
14th June 2011, 07:20 AM |#7  
OP Member
Thanks Meter: 14
 
More
Quote:
Originally Posted by Jon2555

1. Enable read/write permissions for that file.

2. Tobr, you made a mistake in repack-bootimg.pl. You forgot to add " ./ " before mkbootimg.

The script was downloaded from internet not written by me. And it worked for me just fine. I can not verify now that you are right (probably you are). If it works for you with ./ then either I can put fixed version for download for others (if there is anybody) or it can be here just as a notice for other users, if not working.
I have ./ defined in my path variable in my profile so that i don't need it.
24th September 2011, 02:53 PM |#8  
Junior Member
Thanks Meter: 0
 
More
eror when repack
Quote:
Originally Posted by tobr

Hi, for those interested I wrote following steps (ubuntu 10.10 32b):
(based on excellent http://android-dls.com/wiki/index.ph...ck_Boot_Images )

I included compiled tools mkbootfs , mkbootimg and perl scripts unpack-bootimg.pl and repack-bootimg.pl.
Repack-bootimg.pl is edited and the needed parameters for our folio are included ([email protected] [email protected] vmalloc=192M video=tegrafb console=ttyS0,115200n8 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:122000:a00:800,linux:a0e00:1000 :800,loader:300:400:800,mbr:700:200:800,system:900 :20000:800,cache:20900:80000:800,misc:a0900:400:80 0,userdata:a1f00:80000:800 boardtype=PR)

1) unpack attachement mytools.tgz into your home, in your home the folder ~/mytools is created:
tar -xzf mytools.tgz

2) copy existing boot.img into ~/mytools (from foliomod update.zip)

3) ./unpack-bootimg.pl boot.img
- old kernel from boot.img is extracted: boot.img-kernel.gz
- content of contained ramdisk is extracted in folder: boot-img.ramdisk

4) copy new compiled kernel (zImage) into ~/mytools (from <source>/kernel/arch/arm/boot/zImage , you have to compile yourself with the weeds2000 quide http://forum.xda-developers.com/show...7#post10331797)

5) make all desired changes into ramdisk folder

6) repack new boot.img with a new kernel and changed ramdisk
./repack-bootimg.pl zImage boot.img-ramdisk boot-new.img

7) new boot image is created as boot-new.img

8) if you want just to experiment, you can take any full foliomod dexter's update.zip (1.3d), put the new boot image inside instead original one.
It is possible to remove the other 2 images (recovery and system) if you want just to flash kernel. NOTE! But you have to remove the extrating command for recovery and system from update.zip/meta-inf/com/google/android/update-script.

p.s. Feel free to correct me, if something wrong with the steps. It's my first attempt to compile kernel :)

I am on FolioMod 1.3d and I use the kernel built without patches from http://tegramid.com/wiki/Main_Page(Full GPL source bundle including framework) for a day without problems. I had to do a full wipe. It's meant for testing, I don't say that kernel from source is better or worse.

Many thanks to Dexter because everything is based on his release, weeds2000 because of his kernel compile quide and tsh who placed the sources on the git and to all who try hacking our folio :)

hi
when do this in ubuntu 11.4
get eorr below

[email protected]:~/Desktop/untitled folder$ ./unpack-bootimg.pl boot.img

kernel written to boot.img-kernel.gz
ramdisk written to boot.img-ramdisk.cpio.gz
463 blocks

extracted ramdisk contents to directory boot.img-ramdisk/
[email protected]:~/Desktop/untitled folder$ ./repack-bootimg.pl zImage boot.img-ramdisk boot-new.img
gzip: folder/ramdisk-repack.cpio.gz: No such file or directory
sh: mkbootimg: not found
No such file or directory at ./repack-bootimg.pl line 21.
[email protected]:~/Desktop/untitled folder
can any one help me?
4th December 2011, 05:55 AM |#9  
nguyenhonganh's Avatar
Senior Member
Flag Ha Noi
Thanks Meter: 23
 
Donate to Me
More
any tools for windows ?
23rd February 2012, 08:36 AM |#10  
Junior Member
Thanks Meter: 0
 
More
Quote:
Originally Posted by nguyenhonganh

any tools for windows ?

Same request!
21st May 2014, 10:03 PM |#11  
Junior Member
Flag Nottingham
Thanks Meter: 2
 
Donate to Me
More
repack problem
Can somebody tell me is it possible to repack kernel and ramdisk using just hex editor? Without this scripts and unmkbootimg and mkbootimg. What does not work for me cos im using i9100 Philz root. I know how to unpack it and change init.rc and pack it back again. So can i just put my (kernel+ramdisk) ramdisk.cpio.gz file inside mmcblk0p5 in exac location. Will that work out? I dont know what this is doing:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x20000000
--cmdline 'no_console_suspend=1' -o new_boot.img
this address thing and cmdline but if i replace just ramdisk i dont need to set up addres again cos everything will be in same place. And one more question if something goes wrong can i boot to recovery or download mode?

New kernel copied itself to mmcblk0p5
and i have new CWM now. So it seems to me recovery is inside mmcblk0p5 as well and my phone never use mmcblk0p6
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes