| Index: tools/install-classic.sh | 
| — | — | @@ -0,0 +1,77 @@ | 
|  | 2 | +#!/bin/bash | 
|  | 3 | +# | 
|  | 4 | +# | 
|  | 5 | +#    Copyright 2012 user890104 | 
|  | 6 | +# | 
|  | 7 | +# | 
|  | 8 | +#    This file is part of emCORE. | 
|  | 9 | +# | 
|  | 10 | +#    emCORE is free software: you can redistribute it and/or | 
|  | 11 | +#    modify it under the terms of the GNU General Public License as | 
|  | 12 | +#    published by the Free Software Foundation, either version 2 of the | 
|  | 13 | +#    License, or (at your option) any later version. | 
|  | 14 | +# | 
|  | 15 | +#    emCORE is distributed in the hope that it will be useful, | 
|  | 16 | +#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | 17 | +#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  | 18 | +#    See the GNU General Public License for more details. | 
|  | 19 | +# | 
|  | 20 | +#    You should have received a copy of the GNU General Public License | 
|  | 21 | +#    along with emCORE.  If not, see <http://www.gnu.org/licenses/>. | 
|  | 22 | +# | 
|  | 23 | +# | 
|  | 24 | + | 
|  | 25 | +# Quick README: | 
|  | 26 | +# 1. place this script in your home dir | 
|  | 27 | +# 2. checkout our SVN to $HOME/freemyipod | 
|  | 28 | +# 3. build the tree (or use precompiled binaries) | 
|  | 29 | +# 4. adjust the paths below | 
|  | 30 | +# 5. plug your iPod and enter DFU mode | 
|  | 31 | +# 6. run the script | 
|  | 32 | +# 7. enjoy! | 
|  | 33 | + | 
|  | 34 | +# works for both initial installs and updating | 
|  | 35 | + | 
|  | 36 | +#################################### | 
|  | 37 | +# IMPORTANT!!! EDIT THESE BELOW!!! # | 
|  | 38 | +#################################### | 
|  | 39 | + | 
|  | 40 | +if [ -z "${1}" ] | 
|  | 41 | +then | 
|  | 42 | +	FMI_TARGET_DEVICE='/dev/sdc' | 
|  | 43 | +else | 
|  | 44 | +	FMI_TARGET_DEVICE="${1}" | 
|  | 45 | +fi | 
|  | 46 | + | 
|  | 47 | +FMI_IPODDFU="${HOME}/freemyipod/tools/ipoddfu/ipoddfu.py" | 
|  | 48 | +FMI_BOOTSTRAP="${HOME}/freemyipod/apps/installer-ipodclassic/build/bootstrap-ipodclassic.dfu" | 
|  | 49 | +#FMI_BOOTSTRAP="${HOME}/dfu-images/bootstrap-ipodclassic-r708-20110424.dfu" | 
|  | 50 | +#FMI_INSTALLER="${HOME}/freemyipod/emcore/trunk/build/ipodclassic/emcore.bin" | 
|  | 51 | +FMI_INSTALLER="${HOME}/freemyipod/apps/installer-ipodclassic/build/installer-ipodclassic.ubi" | 
|  | 52 | +#FMI_INSTALLER="${HOME}/installers/installer-ipodclassic-r708-20110424.ubi" | 
|  | 53 | + | 
|  | 54 | +######################## | 
|  | 55 | +# DO NOT EDIT BELOW!!! # | 
|  | 56 | +######################## | 
|  | 57 | + | 
|  | 58 | +FMI_MOUNTPOINT="$(mktemp --directory --tmpdir freemyipod.XXXXXXXX)"/ | 
|  | 59 | +trap "echo; rm -vrf '${FMI_MOUNTPOINT}'" EXIT | 
|  | 60 | + | 
|  | 61 | +python3 "${FMI_IPODDFU}" "${FMI_BOOTSTRAP}" && \ | 
|  | 62 | + | 
|  | 63 | +( \ | 
|  | 64 | +	echo -n 'Please wait' | 
|  | 65 | + | 
|  | 66 | +	while [ ! -e "${FMI_TARGET_DEVICE}" ] | 
|  | 67 | +	do | 
|  | 68 | +		echo -n . | 
|  | 69 | +		sleep 1 | 
|  | 70 | +	done | 
|  | 71 | + | 
|  | 72 | +	echo | 
|  | 73 | +) && \ | 
|  | 74 | +sudo mount "${FMI_TARGET_DEVICE}" "${FMI_MOUNTPOINT}" && \ | 
|  | 75 | +sudo cp "${FMI_INSTALLER}" "${FMI_MOUNTPOINT}"/init.ubi && \ | 
|  | 76 | +sudo eject "${FMI_TARGET_DEVICE}" && \ | 
|  | 77 | +rm -vrf "${FMI_MOUNTPOINT}" && \ | 
|  | 78 | +echo 'Installer has been launched!' | 
| Property changes on: tools/install-classic.sh | 
| ___________________________________________________________________ | 
| Added: svn:executable | 
| ## -0,0 +1 ## | 
|  | 79 | +* | 
| \ No newline at end of property | 
| Index: tools/build-tree.sh | 
| — | — | @@ -0,0 +1,120 @@ | 
|  | 2 | + #!/bin/bash | 
|  | 3 | +# | 
|  | 4 | +# | 
|  | 5 | +#    Copyright 2012 user890104 | 
|  | 6 | +# | 
|  | 7 | +# | 
|  | 8 | +#    This file is part of emCORE. | 
|  | 9 | +# | 
|  | 10 | +#    emCORE is free software: you can redistribute it and/or | 
|  | 11 | +#    modify it under the terms of the GNU General Public License as | 
|  | 12 | +#    published by the Free Software Foundation, either version 2 of the | 
|  | 13 | +#    License, or (at your option) any later version. | 
|  | 14 | +# | 
|  | 15 | +#    emCORE is distributed in the hope that it will be useful, | 
|  | 16 | +#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | 17 | +#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  | 18 | +#    See the GNU General Public License for more details. | 
|  | 19 | +# | 
|  | 20 | +#    You should have received a copy of the GNU General Public License | 
|  | 21 | +#    along with emCORE.  If not, see <http://www.gnu.org/licenses/>. | 
|  | 22 | +# | 
|  | 23 | +# | 
|  | 24 | + | 
|  | 25 | +# Builds the installers | 
|  | 26 | +# Adjust the path below, it needs to point to the root of our svn tree | 
|  | 27 | +# You also need a rockbox tree at the same level as our svn tree, that | 
|  | 28 | +# includes builds for ipodnano2g and ipod6g, in build-ipodnano2g and | 
|  | 29 | +# build-ipod6g, respectively. | 
|  | 30 | + | 
|  | 31 | +ROOT_PATH='/home/venci/freemyipod/' | 
|  | 32 | + | 
|  | 33 | +# what to build? builds the classic installer by default | 
|  | 34 | + | 
|  | 35 | +DIRS=(\ | 
|  | 36 | +	'tools/ucl' \ | 
|  | 37 | +	'tools/elf2emcoreapp' \ | 
|  | 38 | +	'apps/installer-ipodclassic' \ | 
|  | 39 | +) | 
|  | 40 | +#	'apps/installer-ipodnano2g' \ | 
|  | 41 | + | 
|  | 42 | +# end of configuration | 
|  | 43 | + | 
|  | 44 | +cd "${ROOT_PATH}" || exit 1 | 
|  | 45 | + | 
|  | 46 | +for i in $(seq 0 $[${#DIRS[@]} - 1]) | 
|  | 47 | +do | 
|  | 48 | +        echo '== [begin] '"${DIRS[${i}]}"': make clean ==' | 
|  | 49 | + | 
|  | 50 | +        cd "${ROOT_PATH}${DIRS[${i}]}" && \ | 
|  | 51 | +	\ | 
|  | 52 | +        if [ 'apps/installer-ipodnano2g' = "${DIRS[${i}]}" ] \ | 
|  | 53 | +        || [ 'apps/installer-ipodclassic' = "${DIRS[${i}]}" ] | 
|  | 54 | +        then | 
|  | 55 | +		echo | 
|  | 56 | +                #rm -vf 'flashfiles.built' && \ | 
|  | 57 | +                #find flashfiles -maxdepth 1 -type f |xargs rm -vrf | 
|  | 58 | +	elif [ 'tools/elf2emcoreapp' = "${DIRS[${i}]}" ] | 
|  | 59 | +	then | 
|  | 60 | +		rm -vf '../arm-elf-eabi-elf2emcoreapp' | 
|  | 61 | +	fi | 
|  | 62 | + | 
|  | 63 | +        echo '== [end] '"${DIRS[${i}]}"': make clean ==' | 
|  | 64 | +done | 
|  | 65 | + | 
|  | 66 | +cd "${ROOT_PATH}" || exit 2 | 
|  | 67 | + | 
|  | 68 | +if [ -n "${1}" ] | 
|  | 69 | +then | 
|  | 70 | +	if [ '0' = "${1}" ] | 
|  | 71 | +	then | 
|  | 72 | +		exit | 
|  | 73 | +	fi | 
|  | 74 | + | 
|  | 75 | +	svn -r "${1}" update || exit 3 | 
|  | 76 | +else | 
|  | 77 | +	svn update || exit 3 | 
|  | 78 | +fi | 
|  | 79 | + | 
|  | 80 | +rm -vf "${ROOT_PATH}emcore/trunk/build/version.h" | 
|  | 81 | + | 
|  | 82 | +for i in $(seq 0 $[${#DIRS[@]} - 1]) | 
|  | 83 | +do | 
|  | 84 | +        echo '== [begin] '"${DIRS[${i}]}"': make ==' | 
|  | 85 | + | 
|  | 86 | +        cd "${ROOT_PATH}${DIRS[${i}]}" && \ | 
|  | 87 | + | 
|  | 88 | +        if [ 'apps/installer-ipodnano2g' = "${DIRS[${i}]}" ] | 
|  | 89 | +	then | 
|  | 90 | +                make flashfiles && \ | 
|  | 91 | +		'../../tools/ucl2e10singleblk' '../../../rockbox/build-ipodnano2g/rockbox.ipod' 'flashfiles/rockbox.ipod.ucl' && \ | 
|  | 92 | +		make | 
|  | 93 | +        elif [ 'apps/installer-ipodclassic' = "${DIRS[${i}]}" ] | 
|  | 94 | +        then | 
|  | 95 | +                make flashfiles && \ | 
|  | 96 | +		'../../tools/ucl2e10singleblk' '../../../rockbox/build-ipod6g/rockbox.ipod' 'flashfiles/rockbox.ipod.ucl' && \ | 
|  | 97 | +		make | 
|  | 98 | +        elif [ 'tools/elf2emcoreapp' = "${DIRS[${i}]}" ] | 
|  | 99 | +	then | 
|  | 100 | +		#make | 
|  | 101 | +		ln -vs 'elf2emcoreapp/arm-elf-eabi-elf2emcoreapp' '../' | 
|  | 102 | +	else | 
|  | 103 | +                make | 
|  | 104 | +        fi | 
|  | 105 | + | 
|  | 106 | +        STATUSES[${i}]=$? | 
|  | 107 | + | 
|  | 108 | +        echo '== [end] '"${DIRS[${i}]}"': make ==' | 
|  | 109 | +done | 
|  | 110 | + | 
|  | 111 | +for i in $(seq 0 $[${#DIRS[@]} - 1]) | 
|  | 112 | +do | 
|  | 113 | +        echo -n "${DIRS[${i}]}"': ' | 
|  | 114 | + | 
|  | 115 | +        if [ -n "{STATUSES[${i}]}" ] && [ '0' = "${STATUSES[${i}]}" ] | 
|  | 116 | +        then | 
|  | 117 | +                echo 'SUCCESS!' | 
|  | 118 | +        else | 
|  | 119 | +                echo 'ERROR!' | 
|  | 120 | +        fi | 
|  | 121 | +done | 
| Property changes on: tools/build-tree.sh | 
| ___________________________________________________________________ | 
| Added: svn:executable | 
| ## -0,0 +1 ## | 
|  | 122 | +* | 
| \ No newline at end of property |