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