根目录下的冲突是什么(ld-linux.so位置)解决方案
根目录(ld-linux.so位置)解决冲突解决办法之一:不要追求标准
启动方法1
在这个例子中,在Linux分区 / mylinux文件夹,分区中的新结构,从外部文件指向对应的文件/ mylinux链接,如Mount指挥/ sbin / init程序。Chroot为 / mnt / LFS文件夹时使目标在LFS系统,所做的工作为chroot和我想说的是类似的,我不明白。
启动方法
你也可以把 / mylinux含量为分区,然后做一个链接到 / / / lib mylinux LD Linux。所以。2链接到/ lib / LD Linux。所以。2。
上面的方法是维护链接器的正确位置,但这不是标准的Linux。
解决方案二:临时工具链
这种方法的思想是建立一个根Linux系统,并使用这个系统来制作标准的Linux系统,这样就不会有根冲突。
什么是Linux系统做的实际上是在 / mylinux以上系统,在LFS的 /工具系统。
上述解决方案在第一部分中是已知的。root不可以启动Linux系统。第一个解决方案中的引导方法用于启动系统。在这个系统的Linux,它可以占用根目录/。因为启动系统在目录/ mylinux(LFS是 /工具)。Linux是这样的标准结构。
解决方案三:sysroot
根冲突问题也可以理解为GCC和binutils的搜索路径和编译器的根路径之间的冲突。后的第一步是编译目标系统的C库(通常glibc),recompilers使用新编译的目标系统的C库,搜索编译的C库最新编制的目标系统,但是编译的程序中的路径不是相对于根目录 /。
如果我们可以指定GCC和binutils的搜索路径,不改变编译设置这样的问题不解决
这个功能可以设置添加——sysroot,sysroot =配置参数编译GCC和binutils时。它可以设置搜索路径,以便编译后的C库被使用,而编译后的程序与根目录相关。
在编译过的Linux中程序链接器的路径是正确的。
这是一种从CLFS sysroot学习以及clfs3.0。
这种方法的优点是,只要交叉编译GCC和binutils都做不好,它被编译的源system.sysroot使用辅助工具通常用于交叉编译。同一平台上的本地编译是交叉编译的一个子集。它可以用于交叉编译,也可以用于本地编译。