LCTT/LFS-BOOK

binutils 第一遍 make 完后创建链接的疑惑

GHLandy opened this issue · 3 comments

x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;;

按照指南,解压了 binutils-2.31.1, 并在其中新建 build 目录,同时再 build 目录下 configuremake,之后说要吧 lib 创建一个 符号链接 到 /tool/lib64.

只是,make 完之后,build 目录下并没有 lib 目录,试了 7.7-systemd 也一样没有, 然后执行这条就报错了。

是不是我的理解有误?

[lfs@kdmc build]$ ls -l
total 504
-rw-r--r-- 1 lfs lfs 410037 Nov  7 20:28 Makefile
drwxr-xr-x 6 lfs lfs   4096 Nov  7 20:29 bfd
drwxr-xr-x 6 lfs lfs   4096 Nov  7 20:30 binutils
-rw-r--r-- 1 lfs lfs  24450 Nov  7 20:28 config.log
-rwxr-xr-x 1 lfs lfs  32060 Nov  7 20:28 config.status
drwxr-xr-x 2 lfs lfs   4096 Nov  7 20:30 etc
drwxr-xr-x 7 lfs lfs   4096 Nov  7 20:30 gas
drwxr-xr-x 5 lfs lfs   4096 Nov  7 20:30 gprof
drwxr-xr-x 2 lfs lfs   4096 Nov  7 20:29 intl
drwxr-xr-x 7 lfs lfs   4096 Nov  7 20:30 ld
drwxr-xr-x 3 lfs lfs   4096 Nov  7 20:29 libiberty
drwxr-xr-x 5 lfs lfs   4096 Nov  7 20:29 opcodes
-rw-r--r-- 1 lfs lfs     13 Nov  7 20:28 serdep.tmp
drwxr-xr-x 3 lfs lfs   4096 Nov  7 20:29 zlib
[lfs@kdmc build]$

所以你是 x86_64 的环境吗?

对,Arch Linux x86_64

binutils并不会在tools目录下创建lib,而是会创建一个tools\x86_64-lfs-linux-gnu\(32位是i686-lfs-linux-gnu)之类的目录,这个目录下会有bin、lib,tools目录下的lib是共享库的搜索路径。

重新看了一下问题:你可能对ln软链接,理解错误了。ln -sv lib /tools/lib64会使lib64指向/tools/lib,也就是lib64的同级目录下的lib,而不是你执行这条命令的当前目录下的lib文件夹。

前几天我刚做完一次lfs-8.2-systemd,还热乎着,有问题可以相互学习下。
qq 20181203110256
qq 20181203110305
img_5358

在LFS的基础上,我添加了一个initramfs.gz,有了它便能解析root=UUID=xxxx,获取根设备。
为了便利,我也添加了openssh,这样可以使用xshell连接。
开启了cifs,这样可以让LFS虚拟机和宿主机交换文件。

内核的配置可以参考:http://www.jinbuguo.com/kernel/longterm-linux-kernel-options.html
内核配置不妥LFS是起不来的,在内核配置上我折腾了好久。