linearize-hashes.py properly creates hashlist within given min_height and max_height on a pruned node.
linearize-data.py expects to find blk00000.dat (which may be missing on pruned node along with additional subsequent blk files) and throws error:
$ ./linearize-data.py linearize.cfg
Read 15000 hashes
Input file <some-dir>/blocks/blk00000.dat
Premature end of block data
even though blocks in the range min_height-max_height are not pruned.
To avoid this error and allow for proper linearize-data run on pruned node it is enough to start with first non-pruned blk file. Attached code does exactly this.