sbsv1_os/e32toolp/e32util/omapsig.pl
changeset 0 83f4b4db085c
child 2 99082257a271
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv1_os/e32toolp/e32util/omapsig.pl	Tue Feb 02 01:39:43 2010 +0200
@@ -0,0 +1,45 @@
+# e32toolp\e32util\omapsig.pl
+#
+# Copyright (c) 2008 Symbian Ltd. All rights reserved.
+#
+# Prepend OMAP boot signature to miniboot binaries
+#
+# Syntax:
+#	perl omapsig.pl <load address in hex> <input miniboot> <output minboot with sig>
+#
+
+use warnings;
+use strict;
+use IO::Handle;
+use File::Copy;
+
+if (scalar(@ARGV)!=3) {
+	die "perl omapsig.pl <load address in hex> <input miniboot> <output minboot with sig>\n";
+}
+
+my ($load_address, $infile, $outfile) = @ARGV;
+
+$load_address = pack('L', hex($load_address));
+
+my $filesize_in_bytes = -s $infile;
+
+print "miniboot input ", $filesize_in_bytes, " bytes\n";
+
+$filesize_in_bytes = pack('L', $filesize_in_bytes);
+
+open my $in, "< $infile" or die "Can't open $infile for input: $!";
+binmode($in);
+open my $out, "> $outfile" or die "Can't open $outfile for output: $!";
+binmode($out);
+$out->autoflush(1);
+
+print $out $filesize_in_bytes;
+print $out $load_address;
+
+copy($in, $out) or die "Couldn't copy from $infile to $outfile: $!";
+
+close $in;
+close $out;
+
+print "signed miniboot output ", -s $outfile, " bytes\n";
+exit;
\ No newline at end of file