mirror of
				https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
				synced 2025-10-29 23:28:52 +01:00 
			
		
		
		
	Fixed MTP to work with TWRP
This commit is contained in:
		
						commit
						f6dfaef42e
					
				
					 50820 changed files with 20846062 additions and 0 deletions
				
			
		
							
								
								
									
										62
									
								
								scripts/extract-vmlinux
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										62
									
								
								scripts/extract-vmlinux
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,62 @@ | |||
| #!/bin/sh | ||||
| # ---------------------------------------------------------------------- | ||||
| # extract-vmlinux - Extract uncompressed vmlinux from a kernel image | ||||
| # | ||||
| # Inspired from extract-ikconfig | ||||
| # (c) 2009,2010 Dick Streefland <dick@streefland.net> | ||||
| # | ||||
| # (c) 2011      Corentin Chary <corentin.chary@gmail.com> | ||||
| # | ||||
| # Licensed under the GNU General Public License, version 2 (GPLv2). | ||||
| # ---------------------------------------------------------------------- | ||||
| 
 | ||||
| check_vmlinux() | ||||
| { | ||||
| 	# Use readelf to check if it's a valid ELF | ||||
| 	# TODO: find a better to way to check that it's really vmlinux | ||||
| 	#       and not just an elf | ||||
| 	readelf -h $1 > /dev/null 2>&1 || return 1 | ||||
| 
 | ||||
| 	cat $1 | ||||
| 	exit 0 | ||||
| } | ||||
| 
 | ||||
| try_decompress() | ||||
| { | ||||
| 	# The obscure use of the "tr" filter is to work around older versions of | ||||
| 	# "grep" that report the byte offset of the line instead of the pattern. | ||||
| 
 | ||||
| 	# Try to find the header ($1) and decompress from here | ||||
| 	for	pos in `tr "$1\n$2" "\n$2=" < "$img" | grep -abo "^$2"` | ||||
| 	do | ||||
| 		pos=${pos%%:*} | ||||
| 		tail -c+$pos "$img" | $3 > $tmp 2> /dev/null | ||||
| 		check_vmlinux $tmp | ||||
| 	done | ||||
| } | ||||
| 
 | ||||
| # Check invocation: | ||||
| me=${0##*/} | ||||
| img=$1 | ||||
| if	[ $# -ne 1 -o ! -s "$img" ] | ||||
| then | ||||
| 	echo "Usage: $me <kernel-image>" >&2 | ||||
| 	exit 2 | ||||
| fi | ||||
| 
 | ||||
| # Prepare temp files: | ||||
| tmp=$(mktemp /tmp/vmlinux-XXX) | ||||
| trap "rm -f $tmp" 0 | ||||
| 
 | ||||
| # Initial attempt for uncompressed images or objects: | ||||
| check_vmlinux $img | ||||
| 
 | ||||
| # That didn't work, so retry after decompression. | ||||
| try_decompress '\037\213\010' xy    gunzip | ||||
| try_decompress '\3757zXZ\000' abcde unxz | ||||
| try_decompress 'BZh'          xy    bunzip2 | ||||
| try_decompress '\135\0\0\0'   xxx   unlzma | ||||
| try_decompress '\211\114\132' xy    'lzop -d' | ||||
| 
 | ||||
| # Bail out: | ||||
| echo "$me: Cannot find vmlinux." >&2 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 awab228
						awab228