decrease tftp-based PXE boot time to ~ 1/3rd

pull/72/head
samunders-core 2019-06-22 14:32:46 +02:00 committed by GitHub
parent 0e4c7bf8a3
commit 8b29e4f485
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 8 deletions

View File

@ -452,7 +452,7 @@ mount_data_http()
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"
IP="$(cmdline_value ip)"
@ -477,14 +477,17 @@ download_data_pxe()
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"
else
echo "* $FILE ..." >&2
tftp -g -r $FILE -l "$1/$LIVEKITNAME/$FILE" $SERVER
fi
done
done
else
JOBS=3
for i in `seq 0 $((JOBS-1))`; do
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
echo "$1/$LIVEKITNAME"