mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-14 23:52:26 -05:00
The sansa build now uses this new mi4 creation script, working as a frontend
to the mi4code tool to do all steps from raw binary to complete mi4 file git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10429 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
bb5330cb88
commit
ca4bd6f599
3 changed files with 100 additions and 3 deletions
|
|
@ -20,3 +20,4 @@ ucl/src/Makefile
|
||||||
ucl/include/ucl/*.h
|
ucl/include/ucl/*.h
|
||||||
profile_reader/*.pl
|
profile_reader/*.pl
|
||||||
rockboxdev.sh
|
rockboxdev.sh
|
||||||
|
mkmi4.sh
|
||||||
|
|
|
||||||
5
tools/configure
vendored
5
tools/configure
vendored
|
|
@ -921,11 +921,10 @@ toolsdir='\$(ROOTDIR)/tools'
|
||||||
target="-DSANSA_E200"
|
target="-DSANSA_E200"
|
||||||
memory=32 # supposedly
|
memory=32 # supposedly
|
||||||
arm7tdmicc
|
arm7tdmicc
|
||||||
#tool="$rootdir/tools/ -add=iax5"
|
tool="$rootdir/tools/mkmi4.sh e200"
|
||||||
tool="$rootdir/tools/mi4code build"
|
|
||||||
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
|
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
|
||||||
bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
|
bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
|
||||||
output="rockbox.sansa"
|
output="PP5022.mi4"
|
||||||
appextra="recorder:gui"
|
appextra="recorder:gui"
|
||||||
archosrom=""
|
archosrom=""
|
||||||
flash=""
|
flash=""
|
||||||
|
|
|
||||||
97
tools/mkmi4.sh
Executable file
97
tools/mkmi4.sh
Executable file
|
|
@ -0,0 +1,97 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# __________ __ ___.
|
||||||
|
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
# \/ \/ \/ \/ \/
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# Purpose of this script:
|
||||||
|
#
|
||||||
|
# Inputs: music player model name and a file name
|
||||||
|
#
|
||||||
|
# Action: Build a valid mi4 file (prepending and appending magic)
|
||||||
|
# Encrypt the file with TEA encryption so that the model's own
|
||||||
|
# bootloader accepts this file.
|
||||||
|
# Sign the file with a DSA signature the bootloader accepts
|
||||||
|
#
|
||||||
|
# Output: A built, encrypted and signed mi4 file image.
|
||||||
|
#
|
||||||
|
# Requirement:
|
||||||
|
#
|
||||||
|
# This script assumes that you have the mi4code tool in your path, that
|
||||||
|
# you have the environment variable MI4CODE pointing to the tool or that you
|
||||||
|
# have it in the same dir that you invoke this script with.
|
||||||
|
#
|
||||||
|
# mi4 info and tool are here: http://daniel.haxx.se/sansa/mi4.html
|
||||||
|
#
|
||||||
|
|
||||||
|
mkmi4=$0
|
||||||
|
target=$1
|
||||||
|
input=$2
|
||||||
|
output=$3
|
||||||
|
|
||||||
|
# scan the $PATH for the given command
|
||||||
|
findtool(){
|
||||||
|
file="$1"
|
||||||
|
|
||||||
|
IFS=":"
|
||||||
|
for path in $PATH
|
||||||
|
do
|
||||||
|
# echo "checks for $file in $path" >&2
|
||||||
|
if test -f "$path/$file"; then
|
||||||
|
echo "$path/$file"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
help () {
|
||||||
|
echo "Usage: mi4fix.sh <e200/h10> <input> <output>"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
if test -z "$output"; then
|
||||||
|
help
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $target in
|
||||||
|
e200)
|
||||||
|
tea=sansa
|
||||||
|
;;
|
||||||
|
h10)
|
||||||
|
tea=20gc_eng
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "unsupported target"
|
||||||
|
help
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -z "$MI4CODE"; then
|
||||||
|
tool=`findtool mi4code`
|
||||||
|
if test -z "$tool"; then
|
||||||
|
# not in path
|
||||||
|
tool=`dirname $mkmi4`/mi4code
|
||||||
|
if ! test -f $tool; then
|
||||||
|
echo "Couldn't find mi4code"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
tool=$MI4CODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# build a 010301 version
|
||||||
|
echo "$tool build $input $output.raw"
|
||||||
|
$tool build $input $output.raw
|
||||||
|
# encrypt
|
||||||
|
echo "$tool encrypt $output.raw $output.encrypt $tea"
|
||||||
|
$tool encrypt $output.raw $output.encrypt $tea
|
||||||
|
# sign
|
||||||
|
echo "$tool sign $output.encrypt $output"
|
||||||
|
$tool sign $output.encrypt $output
|
||||||
Loading…
Add table
Add a link
Reference in a new issue