mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-05 00:08:05 +03:00
90 lines
3.3 KiB
Diff
90 lines
3.3 KiB
Diff
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" \
|