file="$1"
# URL? use as-is.
- tmp=${file#://*}
+ tmp=${file%://*}
if [ "$tmp" != "$file" ]
then
echo "$file"
+ return
fi
# Otherwise, TFTP using an appropriate host. Start with the
params="conf@/net/${interface} method=dhcp"
# first, try by MAC
- mac=$(cat /sys/class/net/$interface/address)
- pb-event $params url=$basedir/$mac
+ mac=$(tr ':' '-' < /sys/class/net/$interface/address)
+ pb-event $params url=$basedir/01-$mac
# try decreasing fragments of IP lease
ip_hex=$(printf '%02X%02X%02X%02X' $(echo $ip | tr '.' ' '))
for i in $(seq 8 -1 1)
do
- frag=${hex_ip:0:$i}
+ frag=${ip_hex:0:$i}
pb-event $params url=$basedir/$frag
done
# Look for an explicit config file location in the DHCP config-file
# parameter
- if [ -n ${conffile} ]
+ if [ -n "${conffile}" ]
then
url=$(resolve_url ${conffile})
pb-event conf@/net/${interface} url=$url method=dhcp
# Otherwise, we'll need the boot-file parameter. Looks like udhcpc
# will give us different names, depending if the parameter was in
# the header, or specified by options
- [ -n "$bootfile" ] && bootfile=${boot_file}
+ [ -z "$bootfile" ] && bootfile=${boot_file}
if [ -z "$bootfile" ]
then
k_root_dir=${rootpath#*:}
args=
- if [ -n $rootpath ]
+ if [ -n "$rootpath" ]
then
[ ${k_server_ip} != ${rootpath} ] || k_server_ip=${serverid}
args="root=/dev/nfs ip=any nfsroot=${k_server_ip}:${k_root_dir}"