decrease tftp-based PXE boot time to ~ 1/3rd
parent
0e4c7bf8a3
commit
8b29e4f485
19
livekitlib
19
livekitlib
|
|
@ -452,7 +452,7 @@ mount_data_http()
|
||||||
download_data_pxe()
|
download_data_pxe()
|
||||||
{
|
{
|
||||||
debug_log "download_data_pxe" "$*"
|
debug_log "download_data_pxe" "$*"
|
||||||
local IP CMD CLIENT SERVER GW MASK PORT PROTOCOL
|
local IP CMD CLIENT SERVER GW MASK PORT PROTOCOL JOBS
|
||||||
|
|
||||||
mkdir -p "$1/$LIVEKITNAME"
|
mkdir -p "$1/$LIVEKITNAME"
|
||||||
IP="$(cmdline_value ip)"
|
IP="$(cmdline_value ip)"
|
||||||
|
|
@ -477,14 +477,17 @@ download_data_pxe()
|
||||||
|
|
||||||
echo "* Downloading files from the list" >&2
|
echo "* Downloading files from the list" >&2
|
||||||
|
|
||||||
cat "$1/PXEFILELIST" | while read FILE; do
|
if [ "$PROTOCOL" = "http" ]; then
|
||||||
if [ "$PROTOCOL" = "http" ]; then
|
cat "$1/PXEFILELIST" | while read FILE; do
|
||||||
wget -O "$1/$LIVEKITNAME/$FILE" "http://$SERVER:$PORT/$FILE"
|
wget -O "$1/$LIVEKITNAME/$FILE" "http://$SERVER:$PORT/$FILE"
|
||||||
else
|
done
|
||||||
echo "* $FILE ..." >&2
|
else
|
||||||
tftp -g -r $FILE -l "$1/$LIVEKITNAME/$FILE" $SERVER
|
JOBS=3
|
||||||
fi
|
for i in `seq 0 $((JOBS-1))`; do
|
||||||
done
|
awk "$i == NR % $JOBS"'{print("* "$0" ...") > "/dev/stderr";system("tftp -b 1486 -g -r "$0" -l '"$1/$LIVEKITNAME/"'"$0" '"$SERVER"'")}' < "$1/PXEFILELIST" &
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "$1/$LIVEKITNAME"
|
echo "$1/$LIVEKITNAME"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue