38 lines
658 B
Bash
38 lines
658 B
Bash
#!/bin/sh
|
|
|
|
. /env/config
|
|
|
|
if [ x$1 = xdisk ]; then
|
|
root=disk
|
|
kernel=disk
|
|
fi
|
|
|
|
if [ x$1 = xnet ]; then
|
|
root=net
|
|
kernel=net
|
|
fi
|
|
|
|
if [ x$ip = xdhcp ]; then
|
|
bootargs="$bootargs ip=dhcp"
|
|
else
|
|
bootargs="$bootargs ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:::"
|
|
fi
|
|
|
|
if [ x$root = xdisk ]; then
|
|
bootargs="$bootargs root=$rootpart_disk rootfstype=$rootpart_fs rw"
|
|
else
|
|
bootargs="$bootargs root=/dev/nfs nfsroot=$eth0.serverip:$nfsroot,v3,tcp rw"
|
|
fi
|
|
|
|
if [ $kernel = net ]; then
|
|
if [ x$ip = xdhcp ]; then
|
|
dhcp
|
|
fi
|
|
tftp $uimage uImage || exit 1
|
|
bootm uImage
|
|
else
|
|
bootargs="BOOT_IMAGE=$kernel_device auto $bootargs"
|
|
linux16 $kernel_device
|
|
fi
|
|
|