Skip to content

Commit

Permalink
Merge pull request #390 from aafeijoo-suse/059-livenet-tftp-feat
Browse files Browse the repository at this point in the history
feat(livenet): get live image size from TFTP servers
  • Loading branch information
aafeijoo-suse authored Jan 17, 2025
2 parents cd143fd + 1049976 commit 307c9d3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 11 deletions.
33 changes: 22 additions & 11 deletions modules.d/90livenet/livenetroot.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,32 @@ liveurl="${netroot#livenet:}"
info "fetching $liveurl"

if getargbool 0 'rd.writable.fsimg'; then
imgheader=$(curl -sIL "$liveurl")

# shellcheck disable=SC2181
ret=$?
if [ $ret != 0 ]; then
warn "failed to get live image header: error $ret"
else
imgheaderlen=$(echo "$imgheader" | sed -n 's/[cC]ontent-[lL]ength: *\([[:digit:]]*\).*/\1/p')
if str_starts "$liveurl" "tftp"; then
# we need to pass -v to get tftp tsize value in stderr
imgheader=$(curl -vsIL "$liveurl" 2>&1)
# curl returns a non-zero exit status in this case
ret=$?
imgheaderlen=$(echo "$imgheader" | sed -n 's/\* got option=(tsize) value=(*\([[:digit:]]*\).*/\1/p')
if [ -z "$imgheaderlen" ]; then
warn "failed to get 'Content-Length' header from live image"
warn "failed to get 'tsize' header from TFTP live image: error $ret"
fi
else
imgheader=$(curl -sIL "$liveurl")
ret=$?
if [ $ret != 0 ]; then
warn "failed to get live image header: error $ret"
else
imgsize=$((imgheaderlen / (1024 * 1024)))
check_live_ram $imgsize
imgheaderlen=$(echo "$imgheader" | sed -n 's/[cC]ontent-[lL]ength: *\([[:digit:]]*\).*/\1/p')
if [ -z "$imgheaderlen" ]; then
warn "failed to get 'Content-Length' header from live image"
fi
fi
fi

if [ -n "$imgheaderlen" ]; then
imgsize=$((imgheaderlen / (1024 * 1024)))
check_live_ram $imgsize
fi
fi

imgfile=
Expand Down
1 change: 1 addition & 0 deletions suse/README.susemaint
Original file line number Diff line number Diff line change
Expand Up @@ -389,3 +389,4 @@ ad36b61e fix(dracut.sh): omit compressed kernel modules from find searching exec
bfa00c2a fix(pcsc): add libpcsclite_real.so.*
0df92885 fix(systemd-tmpfiles): copy 20-systemd-stub.conf into the initrd
c79fc8fd fix(dracut): rework timeout for devices added via --mount and --add-device
93df9ad2 feat(livenet): get live image size from TFTP servers

0 comments on commit 307c9d3

Please sign in to comment.