# $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