Giter Site home page Giter Site logo

mkbootimg_tools's Introduction

mkbootimg_tools

HOW TO USE:

Unpack boot/recovery(.img) support dtb(dt.img):

	./mkboot name.img namefolderout

EXAMPLE
	./mkboot recoveryksuamg5.img ksuamg
	Unpack & decompress recoveryksuamg5.img to ksuamg
	  kernel         : /home/xiaolu/work/initramfs/s4/e330s/ksuamg5/zImage
	  ramdisk        : /home/xiaolu/work/initramfs/s4/e330s/ksuamg5/ramdisk.gz
	  page_size      : 2048
	  base_addr      : 0x00000000
	  kernel size    : 6911360
	  kernel_addr    : 0x00008000
	  ramdisk_size   : 2685222
	  ramdisk_addr   : 0x02000000
	  second_size    : 0
	  second_addr    : 0x00f00000
	  dtb_size       : 1427456
	  tags_addr      : 0x01e00000
	  cmdline        : console=null androidboot.hardware=qcom user_debug=31 maxcpus=2 msm_rtb.filter=0x3F
	Unpack completed.

Repack boot/recovery(.img) support dtb(dt.img):

	./mkboot namefolderout newimgname.img

EXAMPLE
	./mkboot ksuamg5 recovery.img
	mkbootimg from ksuamg5/img_info.
	  kernel         : /home/xiaolu/work/initramfs/s4/e330s/ksuamg5/zImage
	  ramdisk        : /home/xiaolu/work/initramfs/s4/e330s/ksuamg5/new_ramdisk.gz
	  page_size      : 
	  base_addr      : 0x00000000
	  kernel size    : 6911360
	  kernel_addr    : 0x00008000
	  ramdisk_size   : 2685222
	  ramdisk_addr   : 0x02000000
	  second_size    : 
	  second_addr    : 
	  dtb_size       : 1427456
	  dtb_img        : dt.img
	  tags_addr      : 0x01e00000
	  cmdline        : console=null androidboot.hardware=qcom user_debug=31 maxcpus=2 msm_rtb.filter=0x3F
	Kernel size: 6911360, new ramdisk size: 3416778, recovery.img: 11759616.
	recovery.img has been created.
	...

Create a dt.img:

	yourkernelsources/scripts/dtbTool -s 2048 -o arch/arm/boot/dt.img -p scripts/dtc/ arch/arm/boot/

EXAMPLE
	SHV-E330S_JB_Opensource/Kernel$ scripts/dtbTool -s 2048 -o arch/arm/boot/dt.img -p scripts/dtc/ arch/arm/boot/
	DTB combiner:
	  Input directory: '/media/diskd/kernel/SHV-E330S_JB_Opensource/Kernel/arch/arm/boot/'
	  Output file: '/media/diskd/kernel/SHV-E330S_JB_Opensource/Kernel/arch/arm/boot/dt.img'
	Found file: msm8974-sec-ks01-r03.dtb ... chipset: 2114015745, platform: 3, rev: 0
	Found file: msm8974-sec-ks01-r07.dtb ... chipset: 2114015745, platform: 7, rev: 0
	Found file: msm8974-sec-ks01-r06.dtb ... chipset: 2114015745, platform: 6, rev: 0
	Found file: msm8974-sec-ks01-r04.dtb ... chipset: 2114015745, platform: 4, rev: 0
	Found file: msm8974-sec-ks01-r11.dtb ... chipset: 2114015745, platform: 11, rev: 0
	Found file: msm8974-sec-ks01-r02.dtb ... chipset: 2114015745, platform: 2, rev: 0
	Found file: msm8974-sec-ks01-r00.dtb ... chipset: 2114015745, platform: 0, rev: 0
	Found file: msm8974-sec-ks01-r05.dtb ... chipset: 2114015745, platform: 5, rev: 0
	Found file: msm8974-sec-ks01-r01.dtb ... chipset: 2114015745, platform: 1, rev: 0
	=> Found 9 unique DTB(s)

	Generating master DTB... completed
dtbToolCM -s 2048 -d "htc,project-id = <" -o arch/arm/boot/dt.img -p scripts/dtc/ arch/arm/boot/

mkbootimg_tools's People

Contributors

crpalmer avatar florentrevest avatar ma34s avatar visual1mpact avatar xiaolu avatar zwliew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mkbootimg_tools's Issues

./mkbootimg_dtb: No such file or directory

Hi

I can extract my boot to tmp

./mkboot boot.img tmp

but when I try to re-pack it said:
./mkboot boot.img ./tmp/ramdisk.gz newboot.img

./mkboot: line 144: ./mkbootimg_dtb: No such file or directory
stat: cannot stat ‘newboot.img’: No such file or directory

my os: ubuntu x64
Linux ubuntu 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

is there any lib is missing in my system?

repacking file size mismatch

Hello.
After rebuilding kernel (without modification) and building back I have a huge loss of resulting boot.img:

boot.img - 128M
new_boot.img - 17M

Is it normal behavior? Because I can't load resulting image.

dtb support

With bc6b1b0

there does not seem to be dtb support to repack the a boot.img

mkbootimg: error: unrecognized arguments: --dt dt.img

mkbootimg: 没有那个文件或目录

./mkboot: 行 101: mkbootimg: 没有那个文件或目录
Make boot.img Error! pls check img_info file

这个不知道是什么意思,检查了info没看出来是哪个文件不存在啊。

Not found img_info file! can't rebuild img.

Hello,I have unpacked the files stored inside this boot.img file :

https://github.com/raspiduino/a6lte-kvm/releases/download/0.01/boot.tar

and I've used a tool called "unpackbootimg" that I've got from this link :

https://github.com/osm0sis/mkbootimg

this is how I have extracted the files from the boot.img file :

/mnt/zroot2/zroot2/OS/Android-KVM/Galaxy-A6/osm0sis-mkbootimg# mkdir boot

/mnt/zroot2/zroot2/OS/Android-KVM/Galaxy-A6/osm0sis-mkbootimg# ./unpackbootimg -i /mnt/zroot2/zroot2/OS/Android-KVM/Galaxy-A6/Boot-Files/boot-orig.img -o boot

this is what happened :

ANDROID! magic found at: 0
BOARD_KERNEL_CMDLINE androidboot.selinux=permissive androidboot.selinux=permissive
BOARD_KERNEL_BASE 0x10000000
BOARD_NAME SRPRA31B008KU
BOARD_PAGE_SIZE 2048
BOARD_HASH_TYPE sha1
BOARD_KERNEL_OFFSET 0x00008000
BOARD_RAMDISK_OFFSET 0x01000000
BOARD_SECOND_OFFSET 0x00f00000
BOARD_TAGS_OFFSET 0x00000100
BOARD_OS_VERSION 10.0.0
BOARD_OS_PATCH_LEVEL 2021-03
BOARD_DT_SIZE 509952

then I have removed the old kernel and I have replaced it with a new kernel re-compiled by me,where I have enabled KVM. At this point,I want to repack the files previously extracted and this is how I tried to do that :

/mnt/zroot2/zroot2/OS/Android-KVM/Galaxy-A6/xiaolu-mkbootimg_tools# ./mkboot /mnt/zroot2/zroot2/OS/Android-KVM/Galaxy-A6/Boot-Files/boot boot.img

but it didn't work :

mkbootimg from /mnt/zroot2/zroot2/OS/Android-KVM/Galaxy-A6/Boot-Files/boot/img_info.
not found img_info file! can't rebuild img.

repacking error

I get this error when I try to unpack the working folder -> OUT

mkbootimg_tools$ ./mkboot OUT new-boot.img
mkbootimg from OUT/img_info.
./mkboot: line 145: /home/pintu/PINTU/Y2017/tools/PACK_TOOL/mkbootimg_tools/mkbootfs: No such file or directory
kernel : kernel
ramdisk : new_ramdisk
page size : 2048
kernel size : 14512164
ramdisk size : 20
second_size : 37528
base : 0x10000000
kernel offset : 0x00008000
ramdisk offset : 0x01000000
second_offset :
tags offset : 0x00000100
cmd line :
ramdisk is gzip format.
./mkboot: line 101: /home/pintu/PINTU/Y2017/tools/PACK_TOOL/mkbootimg_tools/mkbootimg: No such file or directory
Make boot.img Error! pls check img_info file.

This is my boot.img image for Amazon fire TV having MTK-8173 chipset

Please help and reply me on email: [email protected]

How to pack my own ZImage (kernel) to a new boot.img

Hi there

I can use your tools to unpack stock boot.img to zImage and ramdisk... then I can make change to ramdisk and then re-pack ok .... very good!!

unfortunately I have download kernel source and re-build (customize) my kernel and build new zImage

but I cannot pack my own (new) zImage and the ramdisk, I belive dt.img need to re-build....

can you tell me how to use your script to do that? it seems no paramter for me to pass dt.img path

大大, 簡單的是怎樣把我自己compile的kernel (zImage), 合拼ramdisk + dt.img 為boot.img ?
貌似dt.img 要compile過, 同時你的script不能指特定zImage 戓 dt.img
謝謝幫忙

Permission denied

Whatever i do ,
Add path
Change permission
Execute as root

I Am getting permission denied on ./mktool

unpack image can not work

the command and result is here:

ThinkPad-T420:~/rom/mkbootimg_tools$ sh mkboot boot.img output
output exists, delete?(N/y)y
Unpack & decompress boot.img to output
mkboot: 214: mkboot: Bad substitution

Need help

I did build a kernel and i end up with two files

~/.../arm64/boot $ ls
Image  Image.gz
~/.../arm64/boot $ file Image
Image: Linux kernel ARM64 boot executable Image, little-endian

Image.gz is just a archive contain the Image. File
My question is where is ramdisk.gz that required to make boot image ??

Write down all depdendecies please

Today, after 2 days, I finally come up to understand why your tool unpack the boot.img but leave the 'ramdisk' folder empty.

It is due to my os missing cpio.

But your tool hides all errors and so I made me crazy.

Please, update the read.me will all the dependecies, or check for them before trying to use them

Error while running ./mkboot boot.img extract_img

It gives out 4 error statements:

Unpack & decompress boot.img to ./extract_img
./mkboot: line 220: (kernel_size+page_size-1)/page_size: division by 0 (error token is "page_size")
./mkboot: line 221: (ramdisk_size+page_size-1)/page_size: division by 0 (error token is "page_size")
./mkboot: line 222: (second_size+page_size-1)/page_size: division by 0 (error token is "page_size")
./mkboot: line 223: (dtb_size+page_size-1)/page_size: division by 0 (error token is "page_size")

Please help.

1+8T REC打包失败

解包成功,打包失败,报错:

mkbootimg from output//img_info.
./tools/mkboot: line 145: /mnt/e/TEMP/2020年11月15日-REC/tools/mkbootfs: cannot execute binary file: Exec format error
  kernel         : kernel
  ramdisk        : new_ramdisk
  page size      : 4096
  kernel size    : 41820172
  ramdisk size   : 20
  dtb size       : 2
  base           : 0x00000000
  kernel offset  : 0x00008000
  ramdisk offset : 0x01000000
  tags offset    : 0x00000100
  dtb img        : dt.img
  cmd line       : androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 loop.max_part=7 cgroup.memory=nokmem,nosocket reboot=panic_warm buildvariant=user
ramdisk is gzip format.
./tools/mkboot: line 101: /mnt/e/TEMP/2020年11月15日-REC/tools/mkbootimg: cannot execute binary file: Exec format error
Make boot.img Error! pls check img_info file.
...

mkbootfs file not found

Hi.

When running the mkboot under ubuntu linux, trying to build the color os oppo boot.img file,

mkboot boot.img directory

then

mkbootfs directory newboot.img

I get the following error:

./mkboot: line 117: mkbootfs: command not found

Specifically

./mkboot: line 117: mkbootfs: command not found
kernel : zImage
ramdisk : new_ramdisk.gz
page size : 2048
kernel size : 6686408
ramdisk size : 20
dtb size : 5339136
base : 0x00000000
kernel offset : 0x00008000
ramdisk offset : 0x02000000
tags offset : 0x01e00000
dtb img : dt.img
cmd line : console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3
Kernel size: 6686408, new ramdisk size: 20, newboot.img: 12029952.
newboot.img has been created.

Resulting newboot.img does not work.

Thanks for the tool.
Dennis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.