|
heyrick
|
 |
« on: February 13, 2011, 03:59:00 pm » |
|
Here's a copy of the ReadMe, which will explain all: deupk v0.02 ===========
Tool for extracting the contents of Neuros OSD update (UPK) files.
Syntax: deupk [-i] [-v] <upk file>
Options:
-i Info only - just report on the UPK, don't extract anything. -v Verbose output.
There are four possible behaviours:
deupk <upkfile> Extract files, saying only what has been extracted, in the form: Extracting "root.cramfs"...done.
deupk -i <upkfile> List the contents of the file, in the form: env.img u-boot.bin [etc] But be aware that larger installs may require cramfs to be split in two, so if you machine-parse, you will need to cope with dupes.
deupk -v <upkfile> Extract files with a lengthy running commentary.
deupk -i -v <upkfile> Give the lengthy running commentary, but don't extract anything.
Notes -----
While the files tested seem to match the input, WinZip reports there is garbage at the end of the tar.gz files in the OSDng distribution (I have not tested Arizona, same?). Is this a factor of the way the files were written, or a fault in deupk? I won't know without having some originals to test.
There is no CRC checking of the file integrity. It's complicated. (refer to source comments for more info)
I would like to be kind to Neuros, as their little OSD is a lovely bit of kit, and as for domestic video equipment, they seem to pretty much stand alone in making all of the stuff required to build the firmware available. My older PVR (based around the same chipset) had so many bugs it wasn't funny, plus a Chinese manufacturer who exercised more effort in giving me the brush-off than in fixing up their code. However... the UPK file format... is... and here I have a number of words in my head, none of them polite. ;-)
Bundle contents ---------------
deupk.c Source code, generic C deupk.exe Executable for Windows (XP or later, not 95/98/ME) deupk.ico Icon file for Windows build deupk.rc Resource description for Windows build deupk.wpj OpenWatcom project file eupl_v1-1_en.pdf The licence readme.txt This file :-) linux_i386/deupk Executable for 32 bit x86 versions of Ubuntu neuros_osd/deupk Executable that runs directly on the OSD riscos/deupk.abs Executable for RISC OS (26/32 bit neutral)
To use:
...under Windows: Just extract deupk.exe and use from the command line.
...under Ubuntu: Just extract linux_i386/deupk, chmod it to be executable, and run it with the "./" prefix.
...under other Unixes: If it can run a shared-library ELF, it might work. Otherwise, chuck the file at gcc and it'll build an executable for you.
...on the OSD: Yeah, you can poke UPK files directly on the OSD! Just extract the neuros_osd/deupk executable, chmod it, and then run it as ./deupk [options] <file>
...under RISC OS: Put riscos.deupk/abs somewhere. If you see the "/abs" suffix (i.e. your software didn't map it to a filetype), remove it and SetType the file to Absolute (&FF8). Then run it from the command line as previously described. This program is 26/32 neutral, so will work on older 26 bit (PC+PSR) RISC OS (3.7, 4.../RiscPC) as well as newer 32 bit (PC, sep. PSR) versions (5,ROOpen/RiscPC,Iyonix,Beagleboard). Support for ancient versions (RISC OS 3.1x on ARM2/ARM3 CPUs) depends upon SharedCLib support. But then you have the source to roll your own should this be necessary for older setups.
Licence -------
Please refer to the EUPL document supplied with the source bundle (the PDF). Or to http://ec.europa.eu/idabc/en/document/7774.html
Copyright (c) 2011 Rick Murray. Released under the EUPL v1.1 (only).
Please note that in the case of GPLisation of your modifications to this code, you *MUST* specify GPL v2 *ONLY* (not the usual boilerplate of "...and later versions"), because GPL v3 is NOT a compatible licence and, indeed, part of the reason for the EUPL is to make a licence that was properly "free" and not tied up in all of the GPL it-isn't-as-free-as-people-think-it-is restrictions. You will note in the code that in some cases I have gone to lengths to avoid using anything GPL. Because then my project would need to follow in the GPL spirit. If you think that is bad form, then please take a moment to consider if YOU merge GPL code into this project, it will require either a licence nightmare, or the GPLisation of your version of this project [not EVERY version]. Well, provided that you avoid GPL v3, the EUPL actually permits this. [so, who's the free licence now, huh?]
Versions --------
v0.01 2011/02/12
Original version. Slow.
v0.02 2011/02/13
Reworkings to the output, cosmetic mostly.
Chunk copier. Does it in 64K chunks. And it flies compared to v0.01!
Tweaks to the file size (refer to source for details). Now should save the expected file exactly as written with no junk bytes at the end.
Revisions to the file write system so it can cope with files (root.cramfs, mostly) written in two parts.
Contact -------
Website: http://www.heyrick.co.uk/osd/
Email : heyrick1973 -at- yahoo -dot- co -dot- uk
|