]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/simpad-utilities/genboot/simpad-make-flashimg
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / simpad-utilities / genboot / simpad-make-flashimg
1 #!/bin/sh
2 # Script to build a full (kernel+initrd) flash rom bootimage
3 # (C) 2003-2004 Michael 'Mickey' Lauer <mickey@Vanille.de>
4 # Use serload to flash the image on your SIMpad
5
6 #
7 # vars
8 #
9 GENBOOT=genboot
10 PAD=pad
11 KERNEL=$2
12 INITRD=$3
13
14 doComplete()
15 {
16     kernel=$(basename $KERNEL)
17     initrd=$INITRD
18     outfile=/tmp/tmpfile
19     padfile=/tmp/tmpfile2
20     flashfile=$kernel.initrd.flashfile
21
22     cp -f $KERNEL $padfile
23     $PAD 1048556 $padfile
24     cat $padfile $initrd >$outfile
25     set X`ls -l $outfile`
26     filelen=$5
27
28     loader_start="0xc0208000"
29     loader_entry="0xc0208000"
30
31     echo "File: $flashfile Exec: $loader_entry $filelen "
32     $GENBOOT -d3 $loader_entry 1 $loader_start $filelen >/tmp/bheader
33     cat /tmp/bheader $outfile >$flashfile
34     rm $outfile
35     rm $padfile
36     exit 0
37 }
38
39 doKernel()
40 {
41     kernel=$(basename $KERNEL)
42     outfile=/tmp/tmpfile
43     flashfile=$kernel.flashfile
44
45     cat $KERNEL >$outfile
46     set X`ls -l $outfile`
47     filelen=$5
48
49     loader_start="0xc0208000"
50     loader_entry="0xc0208000"
51
52     echo "File: $flashfile Exec: $loader_entry $filelen "
53     $GENBOOT -d3 $loader_entry 1 $loader_start $filelen >/tmp/bheader
54     cat /tmp/bheader $outfile >$flashfile
55     rm $outfile
56     exit 0
57 }
58
59 doKernelInPlace()
60 {
61     kernel=$(basename $KERNEL)
62     outfile=/tmp/tmpfile
63     flashfile=$kernel.flashfile
64
65     cat $KERNEL >$outfile
66     set X`ls -l $outfile`
67     filelen=$5
68
69     loader_start="0xc0080000"
70     loader_entry="0xc0080000"
71
72     echo "File: $flashfile Exec: $loader_entry $filelen "
73     $GENBOOT $loader_entry 1 $loader_start $filelen >/tmp/bheader
74     cat /tmp/bheader $outfile >$flashfile.inplace
75     rm $outfile
76     exit 0
77 }
78
79 if [ $# -lt 2 ]
80     then echo "Usage: ./simpad-make-flashimg [kernel|complete|inplace] <kernel> [rootfs.jffs2]" && exit -1
81 fi
82
83 case "$1" in
84 kernel) doKernel;;
85 complete) doComplete;;
86 inplace) doKernelInPlace;;
87 *) echo "Usage: ./simpad-make-flashimg [kernel|complete|inplace] <kernel> [rootfs.jffs2]"; exit;;
88 esac
89