1#!/bin/sh 2 3#generate a u-boot u-env. 4list="0x80200000 kernel.bin 50x82000000 ds.elf 60x82800000 rs.elf 70x83000000 pm.elf 80x83800000 sched.elf 90x84000000 vfs.elf 100x84800000 memory.elf 110x85000000 tty.elf 120x85800000 mfs.elf 130x86000000 vm.elf 140x86800000 pfs.elf 150x87000000 init.elf" 16 17# 18# PREFIX for loading file over tftp to allow hosting multiple 19# version/devices. 20NETBOOT_PREFIX="" 21NETBOOT="no" 22BOOT="mmcbootcmd" 23 24#default for the beagleboard-xM 25CONSOLE=tty02 26#verbosity 27VERBOSE=0 28HZ=1000 29 30while getopts "c:v:h:p:n?" c 31do 32 case "$c" in 33 \?) 34 echo "Usage: $0 [-p netboot_prefix] -n [-c consoletty] [-v level] " >&2 35 exit 1 36 ;; 37 n) 38 # genrate netbooting uEnv.txt 39 BOOT="netbootcmd" 40 NETBOOT="yes" 41 ;; 42 p) 43 NETBOOT_PREFIX=$OPTARG 44 ;; 45 c) 46 CONSOLE=$OPTARG 47 ;; 48 v) 49 VERBOSE=$OPTARG 50 ;; 51 h) 52 # system hz 53 HZ=$OPTARG 54 ;; 55 esac 56done 57 58fill_cmd() { 59 #load == load method like fatload mmc 0:1 60 #prefix is an optional directory containing the ending / 61 load=$1 62 prefix=$2 63 export IFS=" " 64 echo $list | while true 65 do 66 if ! read -r mem addr 67 then 68 break 69 fi 70 #e.g. ; fatloat mmc 0:1 0x82000000 mydir/ds.elf 71 echo -n "; $load $mem $prefix$addr" 72 done 73} 74 75 76echo "# Set the command to be executed" 77echo "uenvcmd=run $BOOT" 78echo "bootargs=console=$CONSOLE rootdevname=c0d0p1 verbose=$VERBOSE hz=$HZ" 79echo 80echo 'bootminix=setenv bootargs \$bootargs board_name=\$board_name ; echo \$bootargs; go 0x80200000 \\\"$bootargs\\\"' 81echo 82echo "mmcbootcmd=echo starting from MMC ; mmc part 0; $(fill_cmd "fatload mmc 0:1" "") ; run bootminix" 83echo 84echo "# Netbooting." 85echo "serverip=192.168.12.10" 86echo "ipaddr=192.168.12.62" 87echo "usbnet_devaddr=e8:03:9a:24:f9:10" 88echo "usbethaddr=e8:03:9a:24:f9:11" 89echo "netbootcmd=echo starting from TFTP; $(fill_cmd "tftp" "$NETBOOT_PREFIX") ; run bootminix" 90exit 0 91