]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/cray/L1/bootscript.hush
f2f78ad5c30f3f01d2917bf100f725fb931b26b5
[karo-tx-uboot.git] / board / cray / L1 / bootscript.hush
1 # $Header$
2 # hush bootscript for PPCBOOT on L1
3 # note: all #s are in hex, do _NOT_ prefix it with 0x
4
5 flash_rfs=ffc00000
6 flash_krl=fff00000
7 tftp_addr=100000
8 tftp2_addr=1000000
9
10 if printenv booted
11 then
12         echo already booted before
13 else
14         echo first boot in environment, create and save settings
15         setenv booted OK
16         saveenv
17 fi
18
19 setenv autoload no
20 # clear out stale env stuff, so we get fresh from dhcp.
21 for setting in initrd fromflash kernel rootfs rootpath
22 do
23 setenv $setting
24 done
25
26 dhcp
27
28 # if host provides us with a different bootscript, us it.
29 if printenv bootscript
30         then
31         tftp $tftp_addr $bootcript
32         if imi $tftp_addr
33         then
34                 source $tftp_addr
35         fi
36 fi
37
38 # default base kernel arguments.
39 setenv bootargs $xbootargs devfs=mount ip=$ipaddr:$serverip:$gatewayip:$netmask:L1:eth0:off wdt=120
40
41 # Have a kernel in flash?
42 if imi $flash_krl
43 then
44         echo ok kernel to boot from $flash_krl
45         setenv kernel $flash_krl
46 else
47         echo no kernel to boot from $flash_krl, need tftp
48 fi
49
50 # Have a rootfs in flash? 
51 echo test for SQUASHfs at $flash_rfs
52
53 if imi $flash_rfs
54 then
55         echo appears to be a good initrd image at base of flash OK
56         setenv rootfs $flash_rfs
57 else
58         echo no image at base of flash, need nfsroot or initrd
59 fi
60
61 # I boot from flash if told to and I can.
62 if printenv fromflash && printenv kernel && printenv rootfs
63 then
64         echo booting entirely from flash
65         setenv bootargs root=/dev/ram0 rw $bootargs
66         bootm $kernel $rootfs
67         echo oh no failed so I try some other stuff
68 fi
69
70 # TFTP down a kernel
71 if printenv bootfile
72 then 
73         tftp $tftp_addr $bootfile
74         setenv kernel $tftp_addr
75         echo I will boot the TFTP kernel
76 else
77         if printenv kernel
78         then
79                 echo no bootfile specified, will use one from flash
80         else
81                 setenv bootfile /opt/crayx1/craymcu/l1/flash/linux.image
82                 echo OH NO! we have no bootfile,nor flash kernel! try default: $bootfile
83                 tftp $tftp_addr $bootfile
84                 setenv kernel $tftp_addr
85         fi
86 fi
87
88 # the rootfs.
89 if printenv rootpath
90 then
91         echo rootpath is $rootpath
92         if printenv initrd
93         then 
94                 echo initrd is also specified, so use $initrd
95                 tftp $tftp2_addr $initrd
96                 setenv bootargs root=/dev/ram0 rw cwsroot=$serverip:$rootpath $bootargs
97                 bootm $kernel $tftp2_addr
98         else
99                 echo initrd is not specified, so use NFSROOT $rootpat
100                 setenv bootargs root=/dev/nfs ro nfsroot=$serverip:$rootpath $bootargs
101                 bootm $kernel
102         fi
103 else
104         echo we have no rootpath check for one in flash
105         if printenv rootfs
106         then
107                 echo I will use the one in flash
108                 setenv bootargs root=/dev/mtdblock/0 ro rootfstype=squashfs $bootargs
109                 bootm $kernel
110         else
111                 setenv rootpath /export/crayl1
112                 echo OH NO! we have no rootpath,nor flash kernel! try default: $rootpath
113                 setenv bootargs root=/dev/mtdblock/0 ro rootfstype=squashfs $bootargs
114                 bootm $kernel
115         fi
116 fi
117 reset