2) run perl split_bootimg.pl boot.img to solve the kernel and ramdisk file, and write "commandline: vmalloc = 384mmem = 2044m @ 0x200000" in the running result. . . . "A long list of spare characters.
3) Run the instruction to solve the ramdisk file.
Mkdir memory disk
Optical disk storage disk
gzip -dc../boot.img-ramdisk.gz | cpio -i
laser record ..
4) Modify the file, for example, I think that persist.sys.usb.config = manufacturing and ADB in default.prop are not very good, and I want to change them to =adb, so I want to modify and save them. If you want adb to have root permissions, change ro.secure and ro.debuggable
5) repackaging
mkbootfs。 /ramdisk | gzip & gt; ramdisk-new.gz
Of course, if your compiled mkbootfs is not added to the path, take the compiled program to the current directory to run. /mkbootfs。 ...
Generate boot-new.img
Mkbootimg-cmdline' enclosed in single quotation marks is to copy a long string'-kernelboot.img-kernel-ramdisk ramdisk-new.gz-oboot-new.img' after the command line colon just written.
6) Now, if you directly brush in the generated boot-new.img, the mobile phone will not get on. The problem lies in the addresses of kernel, ramdisk, secondary and label.
Look at this. You will know base=0x 10000000 by compiling the c file of mkbootimg yourself, and the generated boot-new.img is based on this rule:
Kernel address =base+0x00008000, memory disk address = base+0x005438+0000000,
The second stage address = base address+0x0000, and the label address = base address +0x00000 100.
This is different from the address in the original sec_boot.img I want to find the correct base value, but the original