From adf30069d8f43d2ec63ae4954b079d86f1815051 Mon Sep 17 00:00:00 2001 From: <> Date: Fri, 24 Jul 2015 09:37:33 -0400 Subject: [PATCH 1/5] Needed update: - Statically compiled mkbootfs and mkbootimg - Project will work on Lollipop - Update mkboot script accordingly - Fix escaping double quotes and keeping double quotes intact for command line - Add support for dumping and repacking second image if it exists. - Few other changes --- ARM/README.md | 4 -- ARM/mkboot | 157 ++++++++++++++++++++++++++++++++++---------------- ARM/mkbootfs | Bin 16351 -> 89460 bytes ARM/mkbootimg | Bin 8579 -> 84592 bytes 4 files changed, 106 insertions(+), 55 deletions(-) diff --git a/ARM/README.md b/ARM/README.md index 83a4774..fe21a37 100755 --- a/ARM/README.md +++ b/ARM/README.md @@ -1,7 +1,3 @@ -Original Source Modified By: -Modding.MyMind XDA \ -ModdingMyMind AF - Built to be used on Arm devices. Move the bash binary to /system/xbin. diff --git a/ARM/mkboot b/ARM/mkboot index 106a06d..36b9a60 100755 --- a/ARM/mkboot +++ b/ARM/mkboot @@ -38,7 +38,7 @@ old_bootimg=true C_OUT="\033[0;1m" C_ERR="\033[31;1m" C_CLEAR="\033[0;0m" - + pout() { $busybox printf "${C_OUT}${*}${C_CLEAR}\n" } @@ -71,33 +71,38 @@ usage() print_info() { + [ ! -z "$board" ] && pout " board : $board" pout " kernel : $kernel" pout " ramdisk : $ramdisk" pout " page size : $page_size" pout " kernel size : $kernel_size" pout " ramdisk size : $ramdisk_size" [ ! -z $second_size ] && [ $second_size -gt 0 ] && \ - pout " second_size : $second_size" + pout " second size : $second_size" [ $dtb_size -gt 0 ] && pout " dtb size : $dtb_size" pout " base : $base_addr" pout " kernel offset : $kernel_offset" pout " ramdisk offset : $ramdisk_offset" - [ -z $second_offset ] || pout " second_offset : $second_offset" + [ ! -z $second_size ] && [ $second_size -gt 0 ] && \ + pout " second offset : $second_offset" pout " tags offset : $tags_offset" [ $dtb_size -gt 0 ] && pout " dtb img : $dt" + [ $second_size -gt 0 ] && pout " second img : $second" pout " cmd line : $cmd_line" } mkboot_img() { error=0 - if [ $dtb_size -gt 0 ]; then - dtb="--dt ${dt}" - fi - $mkbootimg --kernel $kernel --ramdisk $ramdisk \ + [ $second_size -gt 0 ] && second="--second ${second}" + [ $dtb_size -gt 0 ] && dtb="--dt ${dt}" + + $mkbootimg --kernel $kernel --ramdisk $ramdisk --board "$board" \ --base $base_addr --ramdisk_offset $ramdisk_offset \ + --kernel_offset $kernel_offset --second_offset $second_offset \ --tags_offset $tags_offset --cmdline "$cmd_line" \ - --pagesize $page_size $dtb -o $new_img 2>/dev/null || error=1 + --pagesize $page_size $second $dtb -o $new_img 2>/dev/null || error=1 + [ $error -eq 1 ] && return $error ramdisk_size=$($busybox stat -c "%s" $ramdisk) boot_size=$($busybox stat -c "%s" $new_img) @@ -126,10 +131,12 @@ if [ ! -z $mkboot_from_dir ]; then clean fi eval $(cat img_info) + if [ -z $kernel ] || [ -z $ramdisk ] || [ -z $base_addr ]; then pout "Lacking parameters in img_info." clean fi + [ -z $second_size ] && second_size=0 [ -z $dtb_size ] && dtb_size=0 if [ -d $ramdisk ]; then compression_type=$($file -m $magic ./ramdisk.* | $busybox cut -d: -f2 | $busybox cut -d" " -f2) @@ -209,7 +216,7 @@ pout "\nUnpack & decompress $1 to $2\n" cp -f $1 $tempdir/ cd $tempdir bootimg=$($busybox basename $1) -offset=$($grep -abo ANDROID! $bootimg | $busybox cut -f 1 -d :) +offset=$($grep -abo ANDROID! $bootimg | $busybox cut -f 1 -d : | head -1) [ -z $offset ] && clean if [ $offset -gt 0 ]; then $busybox dd if=$bootimg of=bootimg bs=$offset skip=1 2>/dev/null @@ -222,76 +229,109 @@ second_addr=0x$($od -A n -X -j 28 -N 4 $bootimg | $busybox sed 's/ //g' | $busyb tags_addr=0x$($od -A n -X -j 32 -N 4 $bootimg | $busybox sed 's/ //g' | $busybox sed 's/^0*//g') kernel_size=$($od -A n -D -j 8 -N 4 $bootimg | $busybox sed 's/ //g') -base_addr=0x$($od -A n -x -j 14 -N 2 $bootimg | $busybox sed 's/ //g')0000 +#base_addr=0x$($od -A n -x -j 14 -N 2 $bootimg | $busybox sed 's/ //g')0000 ramdisk_size=$($od -A n -D -j 16 -N 4 $bootimg | $busybox sed 's/ //g') second_size=$($od -A n -D -j 24 -N 4 $bootimg | $busybox sed 's/ //g') page_size=$($od -A n -D -j 36 -N 4 $bootimg | $busybox sed 's/ //g') dtb_size=$($od -A n -D -j 40 -N 4 $bootimg | $busybox sed 's/ //g') -cmd_line=$($od -A n --strings -j 64 -N 512 $bootimg) +#cmd_line=$($od -A n --strings -j 64 -N 512 $bootimg) +#board=$($od -A n --strings -j 48 -N 16 $bootimg) +cmd_line=$($od -A n -S1 -j 64 -N 512 $bootimg) +board=$($od -A n -S1 -j 48 -N 16 $bootimg) +base_addr=$((kernel_addr-0x00008000)) kernel_offset=$((kernel_addr-base_addr)) ramdisk_offset=$((ramdisk_addr-base_addr)) second_offset=$((second_addr-base_addr)) tags_offset=$((tags_addr-base_addr)) +base_addr=$(printf "%08x" $base_addr) +kernel_offset=$(printf "%08x" $kernel_offset) +ramdisk_offset=$(printf "%08x" $ramdisk_offset) +second_offset=$(printf "%08x" $second_offset) +tags_offset=$(printf "%08x" $tags_offset) + +base_addr=0x${base_addr:0-8} +kernel_offset=0x${kernel_offset:0-8} +ramdisk_offset=0x${ramdisk_offset:0-8} +second_offset=0x${second_offset:0-8} +tags_offset=0x${tags_offset:0-8} + ######################################################### # BELOW SECTION HANDLES NON STANDARD IMAGES -non_standard_base=$((tags_addr-0x00000100)) # Need this to get the TRUE Base Address -non_standard_base_addr=$($busybox printf "0x%08x" $non_standard_base) -base_addr_verify=$($busybox printf "0x%08x" $base_addr) -base_addr=$($busybox printf "0x%08x" $base_addr) +non_standard_base_addr=$((tags_addr-0x00000100)) # Need this to get the TRUE Base Address +non_standard_base_addr=$($busybox printf "%08x" $non_standard_base_addr) +non_standard_base_addr=0x${non_standard_base_addr:0-8} -if [ $base_addr == $non_standard_base ]; then - base_addr=$($busybox printf "0x%08x" $base_addr) +if [ $base_addr == $non_standard_base_addr ]; then + base_addr=$base_addr else - base_addr=$($busybox printf "0x%08x" $non_standard_base_addr) + base_addr=$non_standard_base_addr fi # Accurate offsets used on images with non standard mkbootimg.c -kernel_offset_ns=$((kernel_addr-non_standard_base)) -ramdisk_offset_ns=$((ramdisk_addr-non_standard_base)) -second_offset_ns=$((second_addr-non_standard_base)) -tags_offset_ns=$((tags_addr-non_standard_base)) +kernel_offset_ns=$((kernel_addr-non_standard_base_addr)) +kernel_offset_ns=$($busybox printf "%08x" $kernel_offset_ns) +kernel_offset_ns=0x${kernel_offset_ns:0-8} +ramdisk_offset_ns=$((ramdisk_addr-non_standard_base_addr)) +ramdisk_offset_ns=$($busybox printf "%08x" $ramdisk_offset_ns) +ramdisk_offset_ns=0x${ramdisk_offset_ns:0-8} +second_offset_ns=$((second_addr-non_standard_base_addr)) +second_offset_ns=$($busybox printf "%08x" $second_offset_ns) +second_offset_ns=0x${second_offset_ns:0-8} +tags_offset_ns=$((tags_addr-non_standard_base_addr)) +tags_offset_ns=$($busybox printf "%08x" $tags_offset_ns) +tags_offset_ns=0x${tags_offset_ns:0-8} # Do the Offsets match with the Base Address for standard mkbootimg.c? kernel_offset_s=$((kernel_addr-0x00008000)) +kernel_offset_s=$($busybox printf "%08x" $kernel_offset_s) +kernel_offset_s=0x${kernel_offset_s:0-8} ramdisk_offset_s=$((ramdisk_addr-0x01000000)) +ramdisk_offset_s=$($busybox printf "%08x" $ramdisk_offset_s) +ramdisk_offset_s=0x${ramdisk_offset_s:0-8} second_offset_s=$((second_addr-0x00f00000)) +second_offset_s=$($busybox printf "%08x" $second_offset_s) +second_offset_s=0x${second_offset_s:0-8} tags_offset_s=$((tags_addr-0x00000100)) +tags_offset_s=$($busybox printf "%08x" $tags_offset_s) +tags_offset_s=0x${tags_offset_s:0-8} -if [ $non_standard_base -eq $kernel_offset_s ]; then - kernel_offset=$($busybox printf "0x%08x" $kernel_offset) +if [ $non_standard_base_addr == $kernel_offset_s ]; then + kernel_offset=$kernel_offset else - kernel_offset_ns=$($busybox printf "0x%08x" $kernel_offset_ns) - kernel_offset=$($busybox printf "0x%08x" $kernel_offset_ns) - kernel_offset_warning=$kernel_offset_ns + kernel_offset=$kernel_offset_ns + kernel_offset_warning=$kernel_offset fi -if [ $non_standard_base -eq $ramdisk_offset_s ]; then - ramdisk_offset=$($busybox printf "0x%08x" $ramdisk_offset) +if [ $non_standard_base_addr == $ramdisk_offset_s ]; then + ramdisk_offset=$ramdisk_offset else - ramdisk_offset_ns=$($busybox printf "0x%08x" $ramdisk_offset_ns) - ramdisk_offset=$($busybox printf "0x%08x" $ramdisk_offset_ns) - ramdisk_offset_warning=$ramdisk_offset_ns + ramdisk_offset=$ramdisk_offset_ns + ramdisk_offset_warning=$ramdisk_offset fi -if [ $non_standard_base -eq $second_offset_s ]; then - second_offset=$($busybox printf "0x%08x" $second_offset) +if [ $non_standard_base_addr == $second_offset_s ]; then + second_offset=$second_offset else - second_offset_ns=$($busybox printf "0x%08x" $second_offset_ns) - second_offset=$($busybox printf "0x%08x" $second_offset_ns) - second_offset_warning=$second_offset_ns + second_offset=$second_offset_ns + second_offset_warning=$second_offset fi -if [ $base_addr_verify != $non_standard_base_addr ]; then +if [ $base_addr != 0x10000000 ]; then base_warning=$non_standard_base_addr fi -tags_offset=$($busybox printf "0x%08x" $tags_offset_ns) +if [ $non_standard_base_addr == $tags_offset_s ]; then + tags_offset=$tags_offset +else + tags_offset=$tags_offset_ns + tags_offset_warning=$tags_offset +fi # Below are the known offsets for non standard mkbootimg.c -if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]]; then +if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]] ; then pout "****** WARNING ******* WARNING ******* WARNING ******\n" pout "This image is built using NON-standard mkbootimg!\n" fi @@ -307,7 +347,10 @@ fi if [ ! -z $second_offset_warning ]; then pout "SECOND_OFFSET is $second_offset_ns" fi -if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]]; then +if [ ! -z $tags_offset_warning ]; then + pout "TAGS_OFFSET is $tags_offset_ns" +fi +if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]]; then pout "\nYou can modify mkbootimg.c with the above value(s)" pout "\n****** WARNING ******* WARNING ******* WARNING ******\n" fi @@ -327,17 +370,29 @@ d_offset=$((s_offset+s_count)) #zImage $busybox dd if=$bootimg of=zImage_tmp bs=$page_size skip=$k_offset count=$k_count 2>/dev/null $busybox dd if=zImage_tmp of=zImage bs=$kernel_size count=1 2>/dev/null + #ramdisk.gz $busybox dd if=$bootimg of=ramdisk_tmp bs=$page_size skip=$r_offset count=$r_count 2>/dev/null $busybox dd if=ramdisk_tmp of=ramdisk.gz bs=$ramdisk_size count=1 2>/dev/null + +#second image +if [ $second_size -gt 0 ]; then + $busybox dd if=$bootimg of=second.img_tmp bs=$page_size skip=$s_offset count=$s_count 2>/dev/null + $busybox dd if=second.img_tmp of=second.img bs=$second_size count=1 2>/dev/null + second="$tempdir/second.img" + second=$($busybox basename $second) + secondb_name="second=$second" + secondb_size="second_size=$second_size" +fi + #dtb if [ $dtb_size -gt 0 ]; then $busybox dd if=$bootimg of=dt.img_tmp bs=$page_size skip=$d_offset count=$d_count 2>/dev/null $busybox dd if=dt.img_tmp of=dt.img bs=$dtb_size count=1 2>/dev/null dt="$tempdir/dt.img" dt=$($busybox basename $dt) - dt_name="dt=$dt\n" - dt_size="dtb_size=$dtb_size\n" + dt_name="dt=$dt" + dt_size="dtb_size=$dtb_size" fi $busybox rm -f *_tmp $($busybox basename $1) $bootimg @@ -347,10 +402,14 @@ ramdisk=ramdisk #print boot.img info print_info +# Properly escape double quotes +# Keep double quotes intact +cmd_line=$(echo $cmd_line | sed -e "s/'/'\\\\''/g; 1s/^/'/; \$s/\$/'/") + #write info to img_info,decompression ramdisk.gz -$busybox printf "kernel=zImage\nramdisk=ramdisk\n${dt_name}page_size=$page_size\n\ -kernel_size=$kernel_size\nramdisk_size=$ramdisk_size\n${dt_size}base_addr=$base_addr\nkernel_offset=$kernel_offset\n\ -ramdisk_offset=$ramdisk_offset\ntags_offset=$tags_offset\ncmd_line=\"$cmd_line\"\n" > img_info +$busybox printf "kernel=zImage\nramdisk=ramdisk\n${secondb_name}\n${dt_name}\npage_size=$page_size\n\ +kernel_size=$kernel_size\nramdisk_size=$ramdisk_size\n${secondb_size}\n${dt_size}\nbase_addr=$base_addr\nkernel_offset=$kernel_offset\n\ +ramdisk_offset=$ramdisk_offset\nsecond_offset=$second_offset\ntags_offset=$tags_offset\ncmd_line=$cmd_line\nboard=\"$board\"\n" > img_info $busybox mkdir ramdisk cd ramdisk @@ -364,7 +423,7 @@ case $compression_type in lz4) compression_ext=lz4; decomp_ramdisk="$lz4 -d"; extra="< ../ramdisk.cpio";; esac; -if [[ $compression_ext != "lz4" ]]; then +if [[ $compression_ext != lz4 ]]; then decomp_ramdisk="$compression_type -d -c" fi decomp_ramdisk2="$cpio -i -d -m --no-absolute-filenames" @@ -384,7 +443,3 @@ $decomp_ramdisk "../ramdisk.$compression_ext" | $decomp_ramdisk2 $extra #Unpack Finish to exit. pout "Unpack completed.\n" exit - - - - diff --git a/ARM/mkbootfs b/ARM/mkbootfs index b53321bf8a601183802b4dead406b76e63c8fe98..c177ea6fab96b055423047b7ed35d1f59c2f8865 100755 GIT binary patch literal 89460 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 ew9>}8!>(>dEQm-S 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 W==UlNmCf_hP2#Y-dF|&3_kREfd!usz literal 8579 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 Date: Fri, 24 Jul 2015 11:28:26 -0400 Subject: [PATCH 2/5] Cosmetic detailing: - Compare original image size with new size and let user know if it's larger. - Bug fix for usage displayed in terminal - Other changes --- ARM/mkboot | 80 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 20 deletions(-) diff --git a/ARM/mkboot b/ARM/mkboot index 36b9a60..967534e 100755 --- a/ARM/mkboot +++ b/ARM/mkboot @@ -37,6 +37,7 @@ file=$tooldir/file old_bootimg=true C_OUT="\033[0;1m" C_ERR="\033[31;1m" +C_CAUT="\033[33;1m" C_CLEAR="\033[0;0m" pout() { @@ -45,6 +46,9 @@ pout() { perr() { $busybox printf "${C_ERR}${*}${C_CLEAR}\n" } +pcaut() { + $busybox printf "${C_CAUT}${*}${C_CLEAR}\n" +} clean() { $busybox rm -rf /tmp/mkboot.* @@ -54,18 +58,17 @@ clean() # Check for busybox if [ -z $busybox ]; then - clear; pout "Busybox is NOT installed!\nThis may cause issues with the script!\nUse at your own risk or install busybox!"; sleep 3 + clear; pcaut "Busybox is NOT installed!\nThis may cause issues with the script!\nUse at your own peril or install busybox!"; sleep 2 fi usage() { - pout "" - pout "----------------------------------------------------------------------" - pout "Not enough parameters or parameter error!" - pout "unpack boot.img & decompress ramdisk:\n $($busybox basename $0) [img] [output dir]" - pout " $($busybox basename $0) boot.img boot20130905" - pout "Use the unpacked directory repack boot.img(img_info):\n $($busybox basename $0) [unpacked dir] [newbootfile]" - pout " $($busybox basename $0) boot20130905 newboot.img" + pcaut "\n" + perr "Not enough parameters or parameter error!\n" + pout "Unpack Image & Decompress Ramdisk : \n $($busybox basename $0) [image] [output dir]" + pout " $($busybox basename $0) boot.img project_folder\n" + pout "Repack Image & Compress Ramdisk : \n $($busybox basename $0) [unpacked dir] [new image]" + pout " $($busybox basename $0) project_folder newboot.img\n" clean } @@ -80,12 +83,31 @@ print_info() [ ! -z $second_size ] && [ $second_size -gt 0 ] && \ pout " second size : $second_size" [ $dtb_size -gt 0 ] && pout " dtb size : $dtb_size" +if [ ! -z $base_warning ]; then + pcaut " base : $base_addr (Non Standard)" +else pout " base : $base_addr" +fi +if [ ! -z $kernel_offset_warning ]; then + pcaut " kernel offset : $kernel_offset (Non Standard)" +else pout " kernel offset : $kernel_offset" +fi +if [ ! -z $ramdisk_offset_warning ]; then + pcaut " ramdisk offset : $ramdisk_offset (Non Standard)" +else pout " ramdisk offset : $ramdisk_offset" - [ ! -z $second_size ] && [ $second_size -gt 0 ] && \ - pout " second offset : $second_offset" +fi +if [ ! -z $second_offset_warning ]; then + [ -z $second_offset ] || pcaut " second offset : $second_offset (Non Standard)" +else + [ -z $second_offset ] || pout " second offset : $second_offset" +fi +if [ ! -z $tags_offset_warning ]; then + pcaut " tags offset : $tags_offset (Non Standard)" +else pout " tags offset : $tags_offset" +fi [ $dtb_size -gt 0 ] && pout " dtb img : $dt" [ $second_size -gt 0 ] && pout " second img : $second" pout " cmd line : $cmd_line" @@ -96,10 +118,11 @@ mkboot_img() error=0 [ $second_size -gt 0 ] && second="--second ${second}" [ $dtb_size -gt 0 ] && dtb="--dt ${dt}" + [ ! -z $second_offset ] && second_offset="--second_offset ${second_offset}" $mkbootimg --kernel $kernel --ramdisk $ramdisk --board "$board" \ --base $base_addr --ramdisk_offset $ramdisk_offset \ - --kernel_offset $kernel_offset --second_offset $second_offset \ + --kernel_offset $kernel_offset $second_offset \ --tags_offset $tags_offset --cmdline "$cmd_line" \ --pagesize $page_size $second $dtb -o $new_img 2>/dev/null || error=1 @@ -108,6 +131,18 @@ mkboot_img() boot_size=$($busybox stat -c "%s" $new_img) pout "\nKernel size: $kernel_size, new ramdisk size: $ramdisk_size, $($busybox basename $new_img): $boot_size." pout "\n$($busybox basename $new_img) has been created.\n" + +# Check if new build is larger than original +# Give caution if it is to insure size is not larger than the partition +# A courtesy warning +if [[ "$image_size" -lt "$boot_size" ]]; then + beefed_up=$(( $boot_size - $image_size )) + pcaut "\n****** CAUTION ******* CAUTION ******* CAUTION ******" + pout "\n$($busybox basename $new_img) is $beefed_up bytes larger than" + pout "the original build! Make sure this new" + pout "size is not larger than the actual partition!" + pcaut "\n****** CAUTION ******* CAUTION ******* CAUTION ******\n" +fi } #decide action @@ -127,13 +162,13 @@ if [ ! -z $mkboot_from_dir ]; then new_img=$2 cd $unpacked_dir if [ ! -s img_info ]; then - pout "Missing img_info file! Can't rebuild $2." + perr "Missing img_info file! Can't rebuild $2." clean fi eval $(cat img_info) if [ -z $kernel ] || [ -z $ramdisk ] || [ -z $base_addr ]; then - pout "Lacking parameters in img_info." + perr "Lacking parameters in img_info." clean fi [ -z $second_size ] && second_size=0 @@ -149,17 +184,17 @@ if [ ! -z $mkboot_from_dir ]; then lz4) compression_warning=$compression_type; compression_repack="$lz4 -l";; esac; if [ -z $compression_warning ]; then - pout "\n****** HAZARD ******* HAZARD ******* HAZARD ******" + perr "\n****** HAZARD ******* HAZARD ******* HAZARD ******" pout "\nRamdisk is $compression_type format. Can't repack ramdisk." pout "This tool currently does not support $compression_type." - pout "\n****** HAZARD ******* HAZARD ******* HAZARD ******\n" + perr "\n****** HAZARD ******* HAZARD ******* HAZARD ******\n" exit fi if [ $compression_type != "gzip" ]; then if [ $compression_type != "lzma" ]; then if [ $compression_type != "lz4" ]; then if [ $compression_type != "xz" ]; then - pout "\nRamdisk is unknown format. Can't repack ramdisk." + perr "\nRamdisk is unknown format. Can't repack ramdisk." exit 0 else # XZ @@ -332,7 +367,7 @@ fi # Below are the known offsets for non standard mkbootimg.c if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]] ; then - pout "****** WARNING ******* WARNING ******* WARNING ******\n" + perr "****** WARNING ******* WARNING ******* WARNING ******\n" pout "This image is built using NON-standard mkbootimg!\n" fi if [ ! -z $base_warning ]; then @@ -352,7 +387,7 @@ if [ ! -z $tags_offset_warning ]; then fi if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]]; then pout "\nYou can modify mkbootimg.c with the above value(s)" - pout "\n****** WARNING ******* WARNING ******* WARNING ******\n" + perr "\n****** WARNING ******* WARNING ******* WARNING ******\n" fi # ABOVE SECTION HANDLES NON STANDARD IMAGES @@ -410,6 +445,11 @@ cmd_line=$(echo $cmd_line | sed -e "s/'/'\\\\''/g; 1s/^/'/; \$s/\$/'/") $busybox printf "kernel=zImage\nramdisk=ramdisk\n${secondb_name}\n${dt_name}\npage_size=$page_size\n\ kernel_size=$kernel_size\nramdisk_size=$ramdisk_size\n${secondb_size}\n${dt_size}\nbase_addr=$base_addr\nkernel_offset=$kernel_offset\n\ ramdisk_offset=$ramdisk_offset\nsecond_offset=$second_offset\ntags_offset=$tags_offset\ncmd_line=$cmd_line\nboard=\"$board\"\n" > img_info + +# Include original image size in bytes to img_info +image_size=$($busybox stat -c "%s" '../'$1) +$busybox printf "image_size=$image_size" >> img_info + $busybox mkdir ramdisk cd ramdisk @@ -429,10 +469,10 @@ fi decomp_ramdisk2="$cpio -i -d -m --no-absolute-filenames" if [ -z $compression_ext ]; then - pout "\n****** HAZARD ******* HAZARD ******* HAZARD ******" + perr "\n****** HAZARD ******* HAZARD ******* HAZARD ******" pout "\nRamdisk is $compression_warning format. Can't unpack ramdisk." pout "This tool currently does not support $compression_warning." - pout "\n****** HAZARD ******* HAZARD ******* HAZARD ******\n" + perr "\n****** HAZARD ******* HAZARD ******* HAZARD ******\n" exit fi From 9bb055bb904e06b01663e384690024421c250b5b Mon Sep 17 00:00:00 2001 From: <> Date: Fri, 24 Jul 2015 15:05:29 -0400 Subject: [PATCH 3/5] Fix Board Arg: - If board variable is empty then ignore board arg for mkbootimg --- ARM/mkboot | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ARM/mkboot b/ARM/mkboot index 967534e..5b6787c 100755 --- a/ARM/mkboot +++ b/ARM/mkboot @@ -16,7 +16,7 @@ #original author: xiaolu #heavily modified by: Modding.MyMind -#set -x # for debugging +set -x # for debugging trap "clean" 2 3 4 workdir=$(pwd) @@ -74,7 +74,7 @@ usage() print_info() { - [ ! -z "$board" ] && pout " board : $board" + [ ! -z "$board" ] && pout " board : $board" pout " kernel : $kernel" pout " ramdisk : $ramdisk" pout " page size : $page_size" @@ -119,8 +119,9 @@ mkboot_img() [ $second_size -gt 0 ] && second="--second ${second}" [ $dtb_size -gt 0 ] && dtb="--dt ${dt}" [ ! -z $second_offset ] && second_offset="--second_offset ${second_offset}" + [ ! -z "$board" ] && board="--board $board" - $mkbootimg --kernel $kernel --ramdisk $ramdisk --board "$board" \ + $mkbootimg --kernel $kernel --ramdisk $ramdisk $board \ --base $base_addr --ramdisk_offset $ramdisk_offset \ --kernel_offset $kernel_offset $second_offset \ --tags_offset $tags_offset --cmdline "$cmd_line" \ @@ -442,9 +443,12 @@ print_info cmd_line=$(echo $cmd_line | sed -e "s/'/'\\\\''/g; 1s/^/'/; \$s/\$/'/") #write info to img_info,decompression ramdisk.gz + +[ ! -z "$board" ] && liveboard="board=\"$board\"" + $busybox printf "kernel=zImage\nramdisk=ramdisk\n${secondb_name}\n${dt_name}\npage_size=$page_size\n\ kernel_size=$kernel_size\nramdisk_size=$ramdisk_size\n${secondb_size}\n${dt_size}\nbase_addr=$base_addr\nkernel_offset=$kernel_offset\n\ -ramdisk_offset=$ramdisk_offset\nsecond_offset=$second_offset\ntags_offset=$tags_offset\ncmd_line=$cmd_line\nboard=\"$board\"\n" > img_info +ramdisk_offset=$ramdisk_offset\nsecond_offset=$second_offset\ntags_offset=$tags_offset\ncmd_line=$cmd_line\n$liveboard\n" > img_info # Include original image size in bytes to img_info image_size=$($busybox stat -c "%s" '../'$1) From bb4feeeef7844165eb16290c3b0e615a79fe473c Mon Sep 17 00:00:00 2001 From: <> Date: Fri, 24 Jul 2015 15:06:41 -0400 Subject: [PATCH 4/5] Comment out set command. --- ARM/mkboot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ARM/mkboot b/ARM/mkboot index 5b6787c..d161938 100755 --- a/ARM/mkboot +++ b/ARM/mkboot @@ -16,7 +16,7 @@ #original author: xiaolu #heavily modified by: Modding.MyMind -set -x # for debugging +#set -x # for debugging trap "clean" 2 3 4 workdir=$(pwd) From ad8b2e99dc7cbd90b4d05080a7d11ca5b8d71054 Mon Sep 17 00:00:00 2001 From: "Modding.MyMind" Date: Fri, 24 Jul 2015 21:27:48 -0400 Subject: [PATCH 5/5] Include Base Address Warning for non standard offsets --- ARM/mkboot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ARM/mkboot b/ARM/mkboot index d161938..211e0e6 100755 --- a/ARM/mkboot +++ b/ARM/mkboot @@ -367,7 +367,7 @@ else fi # Below are the known offsets for non standard mkbootimg.c -if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]] ; then +if [[ ! -z $base_warning ]] || [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]]; then perr "****** WARNING ******* WARNING ******* WARNING ******\n" pout "This image is built using NON-standard mkbootimg!\n" fi @@ -386,7 +386,7 @@ fi if [ ! -z $tags_offset_warning ]; then pout "TAGS_OFFSET is $tags_offset_ns" fi -if [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]]; then +if [[ ! -z $base_warning ]] || [[ ! -z $kernel_offset_warning ]] || [[ ! -z $ramdisk_offset_warning ]] || [[ ! -z $second_offset_warning ]] || [[ ! -z $tags_offset_warning ]] ; then pout "\nYou can modify mkbootimg.c with the above value(s)" perr "\n****** WARNING ******* WARNING ******* WARNING ******\n" fi