mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
Move mkamsboot into the rbutil/mkamsboot/ directory - no other changes, so this should still work the same as before.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18706 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
d16fe2d36a
commit
c6be818212
8 changed files with 68 additions and 63 deletions
56
rbutil/mkamsboot/Makefile
Normal file
56
rbutil/mkamsboot/Makefile
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# Change INFILE to point to your original firmware file
|
||||||
|
INFILE=$(HOME)/FW/AMS/CLIP/m300a-1.1.17A.bin
|
||||||
|
|
||||||
|
# OUTFILE is the file you copy to your device's root and rename to
|
||||||
|
# (e.g.) m300a.bin
|
||||||
|
OUTFILE=patched.bin
|
||||||
|
|
||||||
|
# The uclpack command
|
||||||
|
UCLPACK=../../tools/uclpack
|
||||||
|
|
||||||
|
all: $(OUTFILE)
|
||||||
|
|
||||||
|
mkamsboot: mkamsboot.c
|
||||||
|
gcc -o mkamsboot -W -Wall mkamsboot.c
|
||||||
|
|
||||||
|
extract_fw: extract_fw.c
|
||||||
|
gcc -o extract_fw -W -Wall extract_fw.c
|
||||||
|
|
||||||
|
# Rules for our test ARM application - assemble, link, then extract
|
||||||
|
# the binary code
|
||||||
|
|
||||||
|
test.o: test.S
|
||||||
|
arm-elf-as -o test.o test.S
|
||||||
|
|
||||||
|
test.elf: test.o
|
||||||
|
arm-elf-ld -e 0 -Ttext=0 -o test.elf test.o
|
||||||
|
|
||||||
|
test.bin: test.elf
|
||||||
|
arm-elf-objcopy -O binary test.elf test.bin
|
||||||
|
|
||||||
|
# Rules for the ucl unpack function - this is inserted in the padding at
|
||||||
|
# the end of the original firmware block
|
||||||
|
nrv2e_d8.o: nrv2e_d8.S
|
||||||
|
arm-elf-gcc -DPURE_THUMB -c -o nrv2e_d8.o nrv2e_d8.S
|
||||||
|
|
||||||
|
# NOTE: this function has no absolute references, so the link address (-e)
|
||||||
|
# is irrelevant. We just link at address 0.
|
||||||
|
nrv2e_d8.elf: nrv2e_d8.o
|
||||||
|
arm-elf-ld -e 0 -Ttext=0 -o nrv2e_d8.elf nrv2e_d8.o
|
||||||
|
|
||||||
|
nrv2e_d8.bin: nrv2e_d8.elf
|
||||||
|
arm-elf-objcopy -O binary nrv2e_d8.elf nrv2e_d8.bin
|
||||||
|
|
||||||
|
firmware_block.ucl: firmware_block.bin
|
||||||
|
$(UCLPACK) --best --2e firmware_block.bin firmware_block.ucl
|
||||||
|
|
||||||
|
firmware_block.bin: $(INFILE) extract_fw
|
||||||
|
./extract_fw $(INFILE) firmware_block.bin
|
||||||
|
|
||||||
|
$(OUTFILE): mkamsboot firmware_block.ucl test.bin nrv2e_d8.bin $(INFILE)
|
||||||
|
./mkamsboot $(INFILE) firmware_block.ucl test.bin nrv2e_d8.bin $(OUTFILE)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -fr amsinfo mkamsboot test.o test.elf test.bin extract_fw \
|
||||||
|
nrv2e_d8.o nrv2e_d8.elf nrv2e_d8.bin firmware_block.bin \
|
||||||
|
firmware_block.ucl $(OUTFILE) *~
|
10
rbutil/mkamsboot/README
Normal file
10
rbutil/mkamsboot/README
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
mkamsboot
|
||||||
|
---------
|
||||||
|
|
||||||
|
A tool to inject some code (contained in test.S) into a firmware file.
|
||||||
|
|
||||||
|
Edit the INFILE variable in the Makefile to point to the original
|
||||||
|
firmware file you want to patch, edit "test.S" appropriately, and then
|
||||||
|
type "make".
|
||||||
|
|
||||||
|
|
|
@ -1,59 +1,7 @@
|
||||||
# Change INFILE to point to your original firmware file
|
all: amsinfo
|
||||||
INFILE=$(HOME)/FW/AMS/CLIP/m300a-1.1.17A.bin
|
|
||||||
|
|
||||||
# OUTFILE is the file you copy to your device's root and rename to
|
|
||||||
# (e.g.) m300a.bin
|
|
||||||
OUTFILE=patched.bin
|
|
||||||
|
|
||||||
# The uclpack command
|
|
||||||
UCLPACK=../../../tools/uclpack
|
|
||||||
|
|
||||||
all: amsinfo $(OUTFILE)
|
|
||||||
|
|
||||||
amsinfo: amsinfo.c
|
amsinfo: amsinfo.c
|
||||||
gcc -o amsinfo -W -Wall amsinfo.c
|
gcc -o amsinfo -W -Wall amsinfo.c
|
||||||
|
|
||||||
mkamsboot: mkamsboot.c
|
|
||||||
gcc -o mkamsboot -W -Wall mkamsboot.c
|
|
||||||
|
|
||||||
extract_fw: extract_fw.c
|
|
||||||
gcc -o extract_fw -W -Wall extract_fw.c
|
|
||||||
|
|
||||||
# Rules for our test ARM application - assemble, link, then extract
|
|
||||||
# the binary code
|
|
||||||
|
|
||||||
test.o: test.S
|
|
||||||
arm-elf-as -o test.o test.S
|
|
||||||
|
|
||||||
test.elf: test.o
|
|
||||||
arm-elf-ld -e 0 -Ttext=0 -o test.elf test.o
|
|
||||||
|
|
||||||
test.bin: test.elf
|
|
||||||
arm-elf-objcopy -O binary test.elf test.bin
|
|
||||||
|
|
||||||
# Rules for the ucl unpack function - this is inserted in the padding at
|
|
||||||
# the end of the original firmware block
|
|
||||||
nrv2e_d8.o: nrv2e_d8.S
|
|
||||||
arm-elf-gcc -DPURE_THUMB -c -o nrv2e_d8.o nrv2e_d8.S
|
|
||||||
|
|
||||||
# NOTE: this function has no absolute references, so the link address (-e)
|
|
||||||
# is irrelevant. We just link at address 0.
|
|
||||||
nrv2e_d8.elf: nrv2e_d8.o
|
|
||||||
arm-elf-ld -e 0 -Ttext=0 -o nrv2e_d8.elf nrv2e_d8.o
|
|
||||||
|
|
||||||
nrv2e_d8.bin: nrv2e_d8.elf
|
|
||||||
arm-elf-objcopy -O binary nrv2e_d8.elf nrv2e_d8.bin
|
|
||||||
|
|
||||||
firmware_block.ucl: firmware_block.bin
|
|
||||||
$(UCLPACK) --best --2e firmware_block.bin firmware_block.ucl
|
|
||||||
|
|
||||||
firmware_block.bin: $(INFILE) extract_fw
|
|
||||||
./extract_fw $(INFILE) firmware_block.bin
|
|
||||||
|
|
||||||
$(OUTFILE): mkamsboot firmware_block.ucl test.bin nrv2e_d8.bin $(INFILE)
|
|
||||||
./mkamsboot $(INFILE) firmware_block.ucl test.bin nrv2e_d8.bin $(OUTFILE)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -fr amsinfo mkamsboot test.o test.elf test.bin extract_fw \
|
rm -fr amsinfo
|
||||||
nrv2e_d8.o nrv2e_d8.elf nrv2e_d8.bin firmware_block.bin \
|
|
||||||
firmware_block.ucl $(OUTFILE) *~
|
|
||||||
|
|
|
@ -5,12 +5,3 @@ This directory contains the following tools related to the Sansa V2
|
||||||
|
|
||||||
A tool that dumps information from an AMS firmware file.
|
A tool that dumps information from an AMS firmware file.
|
||||||
|
|
||||||
2) mkamsboot
|
|
||||||
|
|
||||||
A tool to inject some code (contained in test.S) into a firmware file.
|
|
||||||
|
|
||||||
Edit the INFILE variable in the Makefile to point to the original
|
|
||||||
firmware file you want to patch, edit "test.S" appropriately, and then
|
|
||||||
type "make".
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue