【问题标题】:Cross compiling "grub2" for live CD. How to use the "--prefix" option?为 live CD 交叉编译“grub2”。如何使用“--prefix”选项?
【发布时间】:2016-06-24 05:43:07
【问题描述】:

我制作了一张带有自定义 linux 和板载“grub2”的 live 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

因此,在每个脚本中,以及一些二进制文件中都有“前缀”变量存在。这使得“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}”,但保持工作?

【问题讨论】:

    标签: linux cross-compiling linux-from-scratch grub2


    【解决方案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}"
    

    相关帖子:configure “--prefix” option for cross compiling

    【讨论】:

      猜你喜欢
      • 2016-01-29
      • 2011-07-05
      • 2015-03-30
      • 2015-03-28
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 2013-03-09
      相关资源
      最近更新 更多