diff --git a/dracut-functions.sh b/dracut-functions.sh index 84a34fafd..617ccf91c 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -1042,7 +1042,7 @@ get_dev_module() { pe_file_format() { if [[ $# -eq 1 ]]; then local magic - magic=$(objdump -p "$1" \ + magic=$("${OBJDUMP:-objdump}" -p "$1" \ | awk '{if ($1 == "Magic"){print $2}}') # 010b (PE32), 020b (PE32+) [[ $magic == "020b" || $magic == "010b" ]] && return 0 @@ -1055,7 +1055,7 @@ pe_get_header_data() { local data_header [[ $# -ne "2" ]] && return 1 [[ $(pe_file_format "$1") -eq 1 ]] && return 1 - data_header=$(objdump -p "$1" \ + data_header=$("${OBJDUMP:-objdump}" -p "$1" \ | awk -v data="$2" '{if ($1 == data){print $2}}') echo "$data_header" } diff --git a/dracut.sh b/dracut.sh index 45373efb7..b53d72924 100755 --- a/dracut.sh +++ b/dracut.sh @@ -1649,7 +1649,7 @@ if [[ ! $print_cmdline ]]; then fi if [[ $uefi == yes ]]; then - if ! command -v objcopy &> /dev/null; then + if ! command -v "${OBJCOPY:-objcopy}" &> /dev/null; then dfatal "Need 'objcopy' to create a UEFI executable" exit 1 fi @@ -2638,7 +2638,7 @@ clean_sbat_string() { get_sbat_string() { local inp=$1 local out=$uefi_outdir/$2 - objcopy -O binary --only-section=.sbat "$inp" "$out" + "${OBJCOPY:-objcopy}" -O binary --only-section=.sbat "$inp" "$out" clean_sbat_string "$out" } @@ -2656,7 +2656,7 @@ if [[ $uefi == yes ]]; then fi fi - offs=$(($(objdump -h "$uefi_stub" 2> /dev/null | awk 'NF==7 {size=$3; + offs=$(($("${OBJDUMP:-objdump}" -h "$uefi_stub" 2> /dev/null | awk 'NF==7 {size=$3; offset=$4} END {print "16#"size" + 16#"offset}'))) if [[ $offs -eq 0 ]]; then dfatal "Failed to get the size of $uefi_stub to create UEFI image file" @@ -2719,7 +2719,7 @@ if [[ $uefi == yes ]]; then tmp_uefi_stub=$uefi_outdir/elf.stub cp "$uefi_stub" "$tmp_uefi_stub" - objcopy --remove-section .sbat "$tmp_uefi_stub" &> /dev/null + "${OBJCOPY:-objcopy}" --remove-section .sbat "$tmp_uefi_stub" &> /dev/null if command -v ukify &> /dev/null; then dinfo "*** Using ukify to create UKI ***" @@ -2749,7 +2749,7 @@ if [[ $uefi == yes ]]; then exit 1 fi else - if objcopy \ + if "${OBJCOPY:-objcopy}" \ ${SOURCE_DATE_EPOCH:+--enable-deterministic-archives --preserve-dates} \ ${uefi_osrelease:+--add-section .osrel="$uefi_osrelease" --change-section-vma .osrel=$(printf 0x%x "$uefi_osrelease_offs")} \ ${uefi_cmdline:+--add-section .cmdline="$uefi_cmdline" --change-section-vma .cmdline=$(printf 0x%x "$uefi_cmdline_offs")} \ diff --git a/lsinitrd.sh b/lsinitrd.sh index 86b2c5a67..fd0633dfa 100755 --- a/lsinitrd.sh +++ b/lsinitrd.sh @@ -358,11 +358,11 @@ unpack_files() { read -r -N 2 bin < "$image" if [ "$bin" = "MZ" ]; then - command -v objcopy > /dev/null || { + command -v "${OBJCOPY:-objcopy}" > /dev/null || { echo "Need 'objcopy' to unpack an UEFI executable." exit 1 } - objcopy \ + "${OBJCOPY:-objcopy}" \ --dump-section .linux="$TMPDIR/vmlinuz" \ --dump-section .initrd="$TMPDIR/initrd.img" \ --dump-section .cmdline="$TMPDIR/cmdline.txt" \