标签:bin TERM Chroot Scratch LFS11.0 环境 chroot LFS bash
现在已经准备好了所有继续构建其余工具时必要的软件包,可以进入 chroot 环境并完成剩余临时工具的安装。在安装最终的系统时,会继续使用这个 chroot 环境。
以 root 用户身份,运行以下命令以进入当前只包含临时工具的 chroot 环境:
chroot "$LFS" /usr/bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/usr/bin:/usr/sbin \
/bin/bash --login +h
通过传递 -i 选项给 env 命令,可以清除 chroot 环境中的所有环境变量。
随后,只重新设定 HOME,TERM,PS1,以及 PATH 变量。参数 TERM=$TERM 将 chroot 环境中的 TERM 变量设为和 chroot 环境外相同的值。一些程序需要这个变量才能正常工作,例如 vim 和 less。如果需要设定其他变量,例如 CFLAGS 或 CXXFLAGS,也可以在这里设定。
从现在开始,就不再需要使用 LFS 环境变量,因为所有工作都被局限在 LFS 文件系统内。这是由于 Bash 被告知 $LFS 现在是根目录 (/)。
注意 /tools/bin 不在 PATH 中。这意味着交叉工具链在 chroot 环境中不被再使用。这还需要保证 shell 不“记忆”执行过的程序的位置 —— 因此需要传递 +h 参数给 bash 以关闭散列功能。
注意 bash 的提示符会包含 I have no name!。这是正常的,因为现在还没有创建 /etc/passwd 文件。
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
标签:bin,TERM,Chroot,Scratch,LFS11.0,环境,chroot,LFS,bash 来源: https://blog.csdn.net/m0_50546016/article/details/120623859
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。