Jump to content

[TOOL][LINUX] boot.img kitchen


Guest KonstaT

Recommended Posts

Guest KonstaT

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
[/code]

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.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images

bootkitchen.zip

Link to comment
Share on other sites

Guest asm19

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
Link to comment
Share on other sites

Guest 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 ...

  1. split_bootimg.pl # Perl script to extract the kernel and ramdisk
  2. gzip -dc boot.img-ramdisk.gz | cpio -i # to decompress the ramdisk
  3. mkbootfs TEMP_RAMDISK | gzip > modified_ramdisk.gz # to recreate the ramdisk
  4. 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...

Link to comment
Share on other sites

Guest KonstaT

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.

Link to comment
Share on other sites

Guest KonstaT

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 ...

  1. split_bootimg.pl # Perl script to extract the kernel and ramdisk
  2. gzip -dc boot.img-ramdisk.gz | cpio -i # to decompress the ramdisk
  3. mkbootfs TEMP_RAMDISK | gzip > modified_ramdisk.gz # to recreate the ramdisk
  4. 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.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images

Link to comment
Share on other sites

Guest sm4tik

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 ...

  1. split_bootimg.pl # Perl script to extract the kernel and ramdisk
  2. gzip -dc boot.img-ramdisk.gz | cpio -i # to decompress the ramdisk
  3. mkbootfs TEMP_RAMDISK | gzip > modified_ramdisk.gz # to recreate the ramdisk
  4. 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 :)

Link to comment
Share on other sites

Guest TigTex

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

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.