Jump to content


Photo

[TOOL][LINUX] boot.img kitchen

- - - - -

  • Please log in to reply
8 replies to this topic

#1
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,660 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio
Thought I'd share a simple kitchen for unpacking/packing boot.img that I've been using for ages. It might be helpful for some people. This is based on TigTex's ZTE Racer boot kitchen, which I've modified to suit my needs.

You need to have few basic packages installed in your system (perl, cpio, gzip and zip), which most already do. I've added an adb push boot.img to phone function which is experimental but working (you need to have adb shell root access and your sdcard needs to be mounted).

Place the boot.img you want to edit inside the bootkitchen folder. Run the script with:
./start.sh
Select 1 to decompress the ramdisk and kernel from the boot.img
Select 2 to create a new boot.img from kernel and ramdisk
Select 3 to create a update.zip to flash with ClockWorkMod
Select 4 to adb push boot.img to phone (experimental)

Replace the zImage or modify the ramdisk. All made easy.

Useful information on splitting boot.img for those who are more interested.
http://android-dls.c...ack_Boot_Images

Attached Files


  • 3

#2
k.d.11

k.d.11

    Regular

  • Members
  • PipPip
  • 117 posts
  • Devices:Zte Blade
Thanks!Something very helpful to make compiling a kernel very easy for many people! :D

  • 0

#3
asm19

asm19

    Enthusiast

  • Members
  • PipPipPip
  • 213 posts
  • Gender:Male
  • Location:Portugal
  • Devices:ZTE-Blade & Huawei U8800
  • Twitter:@miguel_salmeida
Thank you! I have little doubt, then Option 1. To use this option have to have the boot.img file in the folder bootkitchen? I need some more file there? Sorry the basic questions, I'm at the beginning :)


Edit: I've seen in the post TigTex
"How to use:
* Place your boot.img in the same folder as you extracted the kitchen (windows or linux folder)"

Edited by asm19, 13 April 2012 - 02:55 PM.

  • 0
Phone: ZTE - Blade (TPT v10 stock)
ROM: Self compiled CyanogenMod 9 (UNOFFICIAL 20120627)

#4
t0mm13b

t0mm13b

    Hardcore

  • MoDaCo Silver
  • PipPipPipPipPipPip
  • 1,784 posts
  • Gender:Male
  • Location:Ireland
  • Devices:GT-S8500,Zte Blade,SE ST15i
  • Twitter:@t0mm13b
I don't dig those kind of scripting tools as you would be missing out the real going on's underneath the bonnet so to speak. Not intending to start flamewars or anything like it, Sure it saves keystrokes but ...

  • split_bootimg.pl # Perl script to extract the kernel and ramdisk
  • gzip -dc boot.img-ramdisk.gz | cpio -i # to decompress the ramdisk
  • mkbootfs TEMP_RAMDISK | gzip > modified_ramdisk.gz # to recreate the ramdisk
  • mkbootimg --kernel ... --ramdisk ... --base 0x2600000 --cmdline '...' --o modifiedboot.img

This re-inforces and drills into your mindset on what is it doing and more importantly - understanding what is going on. Once its assimilated - you will never forget it! Those wrapper tools, reminds me of the days of old DOS, using Norton's BE command to soup up batch files, pass it through BAT2EXE to make it executable (If you're old enough to remember :P)

What am really saying those so-called wrappers around it are really convoluted and impose restrictions - what if you want to change the name of the directory for the extracted ramdisk, or even tweak the updater script...

  • 0
try{ not_laugh; }catch{ FAIL; }finally{ laugh; }

#5
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,660 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio

Thank you! I have little doubt, then Option 1. To use this option have to have the boot.img file in the folder bootkitchen? I need some more file there? Sorry the basic questions, I'm at the beginning :)

Same folder where the start.sh is.

  • 0

#6
XMasterNinni

XMasterNinni

    Diehard

  • Members
  • PipPipPipPip
  • 427 posts
  • Gender:Male
  • Location:Austria
  • Devices:ZTE Blade
I'm using dsixda's kitchen, it has also got boot.img tools. ;)

But that's awesome too!

  • 0

ZTE Porting Tool



Ever wondered how to Port ROMs from one Phone to another? Well it isn't that easy if you do it manually. But, luckily, there is a simple tool, which makes it easy for you to port ROMs. Curious?


Easy ROM Porting for Everyone


#7
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,660 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio

I don't dig those kind of scripting tools as you would be missing out the real going on's underneath the bonnet so to speak. Not intending to start flamewars or anything like it, Sure it saves keystrokes but ...

  • split_bootimg.pl # Perl script to extract the kernel and ramdisk
  • gzip -dc boot.img-ramdisk.gz | cpio -i # to decompress the ramdisk
  • mkbootfs TEMP_RAMDISK | gzip > modified_ramdisk.gz # to recreate the ramdisk
  • mkbootimg --kernel ... --ramdisk ... --base 0x2600000 --cmdline '...' --o modifiedboot.img

This re-inforces and drills into your mindset on what is it doing and more importantly - understanding what is going on. Once its assimilated - you will never forget it! Those wrapper tools, reminds me of the days of old DOS, using Norton's BE command to soup up batch files, pass it through BAT2EXE to make it executable (If you're old enough to remember :P)

What am really saying those so-called wrappers around it are really convoluted and impose restrictions - what if you want to change the name of the directory for the extracted ramdisk, or even tweak the updater script...

I totally understand your point. Like I said, some people might find this useful. There plenty of people who don't have to get into a mindset of remembering these commands for the rest of their lives. They just need something simple to do get the job done. Of course things like these have certain limitations and people who are interested in what's going on underneath the bonnet can dig into the kitchen script itself.

I remember how difficult it was even to find the needed tools (split_bootimg.pl, mkbootfs and mkbootimg) when I wanted do this for the first time. Now they are all nicely bundled in the bin directory.

Here is also good information on splitting boot.img, which I've already linked several times on questions about this matter. This thread will probably save me some time in the future. ;)
http://android-dls.c...ack_Boot_Images

  • 0

#8
sm4tik

sm4tik

    Addict

  • Members
  • PipPipPipPipPip
  • 508 posts
  • Gender:Male
  • Location:Jyväskylä
  • Devices:Blade

I don't dig those kind of scripting tools as you would be missing out the real going on's underneath the bonnet so to speak. Not intending to start flamewars or anything like it, Sure it saves keystrokes but ...

  • split_bootimg.pl # Perl script to extract the kernel and ramdisk
  • gzip -dc boot.img-ramdisk.gz | cpio -i # to decompress the ramdisk
  • mkbootfs TEMP_RAMDISK | gzip > modified_ramdisk.gz # to recreate the ramdisk
  • mkbootimg --kernel ... --ramdisk ... --base 0x2600000 --cmdline '...' --o modifiedboot.img

This re-inforces and drills into your mindset on what is it doing and more importantly - understanding what is going on. Once its assimilated - you will never forget it! Those wrapper tools, reminds me of the days of old DOS, using Norton's BE command to soup up batch files, pass it through BAT2EXE to make it executable (If you're old enough to remember :P)

What am really saying those so-called wrappers around it are really convoluted and impose restrictions - what if you want to change the name of the directory for the extracted ramdisk, or even tweak the updater script...

And how many of the readers would just copypaste that :D But to have one of these scripts around won't hurt and I've actually learned quite a bit reading through stuff like these. However, I do understand and agree with the point you make :)

  • 0

#9
TigTex

TigTex

    Enthusiast

  • Members
  • PipPipPip
  • 177 posts
  • Gender:Male
  • Location:Lisbon, Portugal
  • Devices:ZTE Racer and ZTE Blade
I only made this tool because I was compiling a 2.6.35 kernel version to zte racer and it would require to do a lot of boot.img files for testing. Pressing 1 2 3 is easier than writing the same scripts or searching for them on the history. Nice to see that someone finds a use for this :P

  • 0
.::. TigTex .::.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users