[英]Cross compiling “grub2” for live CD. How to use the “--prefix” option?
我制作了带有定制linux和板载“ grub2”的现场CD。
我从源代码编译“ 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
结果,在每个脚本中,某些二进制文件都具有“ prefix”变量。 这使“ 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}”,但保持其正常工作?
解决方案:使用环境变量“ 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”选项进行交叉编译
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.