Кросс-компиляция grub2 для live CD. Как использовать параметр --prefix?

Я делаю live CD с кастомным linux и "grub2" на борту.

Я компилирую "grub2" из исходного кода:

HOST=x86_64-linux-gnu
TARGET=x86_64-unknown-linux-uclibc

CPPFLAGS="-I${INST_CROSS_TOOLS}/usr/include" LDFLAGS="-L${PREFIX_PATH}/usr/lib" \
./configure \
--prefix="${PREFIX_PATH}" \
--host="${HOST}" \
--target="${TARGET}"

make
make install

В результате в каждом скрипте и некоторых бинарных файлах присутствует переменная «префикс». Это делает "grub2" неработающим.

$ grep -n abradox rootfs/sbin/*
rootfs/sbin/x86_64-unknown-linux-uclibc-grub-install:22:prefix="/home/abradox/data/work/x86_64_installer/x86_64_installer/rootfs"
rootfs/sbin/x86_64-unknown-linux-uclibc-grub-mkconfig:21:prefix="/home/abradox/data/work/x86_64_installer/x86_64_installer/rootfs"
rootfs/sbin/x86_64-unknown-linux-uclibc-grub-mkconfig:25:prefix="/home/abradox/data/work/x86_64_installer/x86_64_installer/rootfs"
rootfs/sbin/x86_64-unknown-linux-uclibc-grub-mknetdir:22:prefix="/home/abradox/data/work/x86_64_installer/x86_64_installer/rootfs"
rootfs/sbin/x86_64-unknown-linux-uclibc-grub-reboot:22:prefix=/home/abradox/data/work/x86_64_installer/x86_64_installer/rootfs
rootfs/sbin/x86_64-unknown-linux-uclibc-grub-set-default:22:prefix=/home/abradox/data/work/x86_64_installer/x86_64_installer/rootfs

Пожалуйста, скажи Я. Как установить «grub2» в «$ {PREFIX_PATH}», но сохранить его работу?


person Abradox    schedule 09.03.2016    source источник


Ответы (1)


Решение: используйте переменную среды "DESTDIR" вместо "--prefix".

HOST=x86_64-linux-gnu
TARGET=x86_64-unknown-linux-uclibc

CPPFLAGS="-I${INST_CROSS_TOOLS}/usr/include" LDFLAGS="L${PREFIX_PATH}/usr/lib" \
./configure \
--host="${HOST}" \
--target="${TARGET}"

make
make install DESTDIR="${PREFIX_PATH}"

Связанный пост: настроить параметр --prefix для кросс-компиляции

person Abradox    schedule 16.03.2016