文章背景:
http://www.linuxfromscratch.org/lfs/view/stable/index.html
创建分区:
parted /dev/sda mkpart primary ext4 50G 100%
参考:
https://blog.csdn.net/songpeng26/article/details/105180694
格式化分区:
mkfs /dev/sda3 -t ext4
参考:
https://blog.csdn.net/songpeng26/article/details/105180694
环境变量:
export LFS=/mnt/lfs
echo $LFS
挂载:
mkdir -pv $LFS
mount -v -t ext4 /dev/sda3 $LFS
注意:
必须将分区/dev/sda3挂载到目录数上才能访问。
即 能访问的是目录树 单独的设备只要不在树上 就无法访问。
检查host软件:
新建version-check.sh,加入下面内容,运行检查host系统的软件版本:
#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
unset MYSH
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -h /usr/bin/yacc ]; then
echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
echo yacc is `/usr/bin/yacc --version | head -n1`
else
echo "yacc not found"
fi
bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -h /usr/bin/awk ]; then
echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
echo awk is `/usr/bin/awk --version | head -n1`
else
echo "awk not found"
fi
gcc --version | head -n1
g++ --version | head -n1
ldd --version | head -n1 | cut -d" " -f2- # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
python3 --version
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1 # texinfo version
xz --version | head -n1
if [ -x dummy ]
then echo "g++ compilation OK";
else echo "g++ compilation failed"; fi
rm -f dummy.c dummy
下载所有需要包:
http://www.linuxfromscratch.org/lfs/downloads/9.1/wget-list
or
http://www.linuxfromscratch.org/lfs/view/stable/chapter03/packages.html
链接:https://pan.baidu.com/s/1b0ga6oUl30bcKuqGFbcewQ 密码:sbz3
下载包校验文件:
http://www.linuxfromscratch.org/lfs/downloads/9.1/md5sums
or
http://www.linuxfromscratch.org/lfs/view/stable/md5sums
校验:
md5sum -c md5sums
5.4 编译binutils:
…/configure --prefix=/tools
–with-sysroot=KaTeX parse error: Undefined control sequence: \ at position 12: LFS \̲ ̲ --…LFS_TGT
–disable-nls
–disable-werror
计算时间:
time {
…/configure --prefix=/tools
–with-sysroot=KaTeX parse error: Undefined control sequence: \ at position 12: LFS \̲ ̲ --…LFS_TGT
–disable-nls
–disable-werror;
}
用命令过滤出binutils都生成了什么文件(我是在后面才想看的,所以需要过滤):
lfs@peng:/mnt/lfs/tools$ tree -aft --timefmt '%y%m%d %H:%M' -L 2 | grep '23:12'
|-- [200504 23:12] ./share
| |-- [200504 23:12] ./share/man
| `-- [200504 23:12] ./share/info
|-- [200504 23:12] ./bin
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-addr2line
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ar
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-as
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-c++filt
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-elfedit
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-gprof
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-nm
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-objcopy
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-objdump
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ranlib
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-readelf
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-size
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-strings
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-strip
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ld
| `-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ld.bfd
`-- [200504 23:12] ./x86_64-lfs-linux-gnu
|-- [200504 23:12] ./x86_64-lfs-linux-gnu/bin
`-- [200504 23:12] ./x86_64-lfs-linux-gnu/lib
根据结果网上搜索了下,这里可以查看binutils会产生的文件:
https://manpages.debian.org/jessie/binutils/index.html
不过考虑到binutils是分段编译到,所以这个网址只能做参考。
按这个输出的内容,imho, 就是生成了 as ld 等,可以编译/链接出 gcc 和 g++的工具。
5.5 编译gcc pass1
这里同样过滤出,gcc编译出的内容,可以看出由于加了--enable-languages=c,c++命令,这里只产生了gcc g++ c++ 几个命令
lfs@peng:/mnt/lfs/tools$ tree -aft --timefmt '%y%m%d %H:%M' -L 2 | grep 23:17
| |-- [200504 23:17] ./share/man
| `-- [200504 23:17] ./share/info
|-- [200504 23:17] ./include
|-- [200504 23:17] ./bin
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-c++
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-g++
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcov
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcov-dump
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcov-tool
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-cpp
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcc
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcc-9.2.0
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcc-ar
| |-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcc-nm
| `-- [200504 23:17] ./bin/x86_64-lfs-linux-gnu-gcc-ranlib
`-- [200504 23:17] ./lib
|-- [200504 23:17] ./lib/libcc1.la
|-- [200504 23:17] ./lib/libcc1.so -> libcc1.so.0.0.0
|-- [200504 23:17] ./lib/libcc1.so.0 -> libcc1.so.0.0.0
`-- [200504 23:17] ./lib/libcc1.so.0.0.0
5.6 linux header
用linux kernel 的包生成头文件,并copy到tools/include里
5.7 glibc: it's GNU C library
lfs@peng:/mnt/lfs/tools$ tree -aft --timefmt '%y%m%d %H:%M' -L 2 | grep 23:4
| `-- [200504 23:41] ./var/db
|-- [200503 23:46] ./x86_64-pc-linux-gnu
| |-- [200503 23:46] ./x86_64-pc-linux-gnu/bin
| `-- [200503 23:46] ./x86_64-pc-linux-gnu/lib
| |-- [200504 23:40] ./share/info
| `-- [200504 23:40] ./share/locale
|-- [200504 23:40] ./libexec
| `-- [200504 23:40] ./libexec/getconf
|-- [200504 23:41] ./etc
| `-- [200504 23:41] ./etc/rpc
|-- [200504 23:41] ./include
| |-- [200503 23:46] ./include/ansidecl.h
| |-- [200503 23:46] ./include/bfd.h
| |-- [200503 23:46] ./include/bfd_stdint.h
| |-- [200503 23:46] ./include/bfdlink.h
| |-- [200503 23:46] ./include/diagnostics.h
| |-- [200503 23:46] ./include/plugin-api.h
| |-- [200503 23:46] ./include/symcat.h
| |-- [200503 23:46] ./include/dis-asm.h
| |-- [200503 23:46] ./include/ctf-api.h
| |-- [200503 23:46] ./include/ctf.h
| |-- [200504 23:40] ./include/setjmp.h
| |-- [200504 23:40] ./include/signal.h
...................
| |-- [200504 23:41] ./include/rpc
| |-- [200504 23:41] ./include/lastlog.h
| |-- [200504 23:41] ./include/pty.h
| |-- [200504 23:41] ./include/utmp.h
| |-- [200504 23:41] ./include/utmpx.h
| |-- [200504 23:41] ./include/bits
| |-- [200504 23:41] ./include/elf.h
| |-- [200504 23:41] ./include/gnu
| `-- [200504 23:41] ./include/link.h
|-- [200504 23:41] ./bin
| |-- [200504 23:40] ./bin/mtrace
| |-- [200504 23:40] ./bin/tzselect
| |-- [200504 23:40] ./bin/getconf
| |-- [200504 23:40] ./bin/catchsegv
| |-- [200504 23:40] ./bin/pcprofiledump
| |-- [200504 23:40] ./bin/xtrace
| |-- [200504 23:41] ./bin/getent
| |-- [200504 23:41] ./bin/makedb
| |-- [200504 23:41] ./bin/ldd
| |-- [200504 23:41] ./bin/pldd
| |-- [200504 23:41] ./bin/sotruss
| `-- [200504 23:41] ./bin/sprof
|-- [200504 23:41] ./lib
| |-- [200504 23:40] ./lib/libm-2.31.a
| |-- [200504 23:40] ./lib/libm.a
| |-- [200504 23:40] ./lib/libdl-2.31.so
| |-- [200504 23:40] ./lib/libdl.a
| |-- [200504 23:40] ./lib/libdl.so -> libdl.so.2
| |-- [200504 23:40] ./lib/libdl.so.2 -> libdl-2.31.so
| |-- [200504 23:40] ./lib/libpthread-2.31.so
| |-- [200504 23:40] ./lib/libpthread.so -> libpthread.so.0
| |-- [200504 23:40] ./lib/libpthread.so.0 -> libpthread-2.31.so
| |-- [200504 23:40] ./lib/libmcheck.a
| |-- [200504 23:40] ./lib/libmemusage.so
| |-- [200504 23:40] ./lib/libpthread.a
| |-- [200504 23:40] ./lib/libg.a
| |-- [200504 23:40] ./lib/libc.a
| |-- [200504 23:40] ./lib/libc.so.6 -> libc-2.31.so
| |-- [200504 23:40] ./lib/libc_nonshared.a
| |-- [200504 23:40] ./lib/librt-2.31.so
| |-- [200504 23:40] ./lib/librt.so -> librt.so.1
| |-- [200504 23:40] ./lib/librt.so.1 -> librt-2.31.so
| |-- [200504 23:40] ./lib/librt.a
| |-- [200504 23:40] ./lib/libSegFault.so
| |-- [200504 23:40] ./lib/libpcprofile.so
| |-- [200504 23:40] ./lib/libmvec-2.31.so
| |-- [200504 23:40] ./lib/libmvec.so -> libmvec.so.1
| |-- [200504 23:40] ./lib/libmvec.so.1 -> libmvec-2.31.so
| |-- [200504 23:40] ./lib/libmvec.a
| |-- [200504 23:40] ./lib/libcrypt-2.31.so
| |-- [200504 23:40] ./lib/libcrypt.so -> libcrypt.so.1
| |-- [200504 23:40] ./lib/libcrypt.so.1 -> libcrypt-2.31.so
| |-- [200504 23:40] ./lib/libcrypt.a
| |-- [200504 23:41] ./lib/libthread_db-1.0.so
| |-- [200504 23:41] ./lib/libthread_db.so -> libthread_db.so.1
| |-- [200504 23:41] ./lib/libthread_db.so.1 -> libthread_db-1.0.so
| |-- [200504 23:41] ./lib/libresolv-2.31.so
| |-- [200504 23:41] ./lib/libresolv.so -> libresolv.so.2
| |-- [200504 23:41] ./lib/libresolv.so.2 -> libresolv-2.31.so
| |-- [200504 23:41] ./lib/libnss_dns-2.31.so
| |-- [200504 23:41] ./lib/libnss_dns.so -> libnss_dns.so.2
| |-- [200504 23:41] ./lib/libnss_dns.so.2 -> libnss_dns-2.31.so
| |-- [200504 23:41] ./lib/libanl-2.31.so
| |-- [200504 23:41] ./lib/libanl.so -> libanl.so.1
| |-- [200504 23:41] ./lib/libanl.so.1 -> libanl-2.31.so
| |-- [200504 23:41] ./lib/libanl.a
| |-- [200504 23:41] ./lib/libresolv.a
| |-- [200504 23:41] ./lib/libnss_files-2.31.so
| |-- [200504 23:41] ./lib/libnss_files.so -> libnss_files.so.2
| |-- [200504 23:41] ./lib/libnss_files.so.2 -> libnss_files-2.31.so
| |-- [200504 23:41] ./lib/libnss_db-2.31.so
| |-- [200504 23:41] ./lib/libnss_db.so -> libnss_db.so.2
| |-- [200504 23:41] ./lib/libnss_db.so.2 -> libnss_db-2.31.so
| |-- [200504 23:41] ./lib/libnss_compat-2.31.so
| |-- [200504 23:41] ./lib/libnss_compat.so -> libnss_compat.so.2
| |-- [200504 23:41] ./lib/libnss_compat.so.2 -> libnss_compat-2.31.so
| |-- [200504 23:41] ./lib/libnss_hesiod-2.31.so
| |-- [200504 23:41] ./lib/libnss_hesiod.so -> libnss_hesiod.so.2
| |-- [200504 23:41] ./lib/libnss_hesiod.so.2 -> libnss_hesiod-2.31.so
| |-- [200504 23:41] ./lib/libnsl-2.31.so
| |-- [200504 23:41] ./lib/libnsl.so.1 -> libnsl-2.31.so
| |-- [200504 23:41] ./lib/libutil-2.31.so
| |-- [200504 23:41] ./lib/libutil.so -> libutil.so.1
| |-- [200504 23:41] ./lib/libutil.so.1 -> libutil-2.31.so
| |-- [200504 23:41] ./lib/libutil.a
| |-- [200504 23:41] ./lib/audit
| |-- [200504 23:41] ./lib/ld-2.31.so
| |-- [200504 23:41] ./lib/ld-linux-x86-64.so.2 -> ld-2.31.so
| `-- [200504 23:41] ./lib/libc-2.31.so
`-- [200504 23:41] ./sbin
|-- [200504 23:40] ./sbin/zdump
|-- [200504 23:40] ./sbin/zic
|-- [200504 23:41] ./sbin/nscd
|-- [200504 23:41] ./sbin/sln
`-- [200504 23:41] ./sbin/ldconfig
5.8 libstdc++: it's standard c++ library from gcc
基本上在tools/$LFS_TGT/include/c++/9.2.0里面生成了一堆 .h .hpp文件 还有程序,然后在lib里生成了libstdc++.so库文件
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/c++locale.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/cpu_defines.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/ctype_base.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/ctype_inline.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/cxxabi_tweaks.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/error_constants.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/extc++.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/gthr-default.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/gthr-posix.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/gthr-single.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/gthr.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/messages_members.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/opt_random.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/os_defines.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/stdc++.h
| | |-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/stdtr1c++.h
| | `-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/bits/time_members.h
| `-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/ext
| `-- [200504 23:51] ./x86_64-lfs-linux-gnu/include/c++/9.2.0/x86_64-lfs-linux-gnu/ext/opt_random.h
|-- [200504 23:51] ./lib
| |-- [200504 23:51] ./lib/libstdc++.la
| |-- [200504 23:51] ./lib/libstdc++.so -> libstdc++.so.6.0.27
| |-- [200504 23:51] ./lib/libstdc++.so.6 -> libstdc++.so.6.0.27
| |-- [200504 23:51] ./lib/libstdc++.so.6.0.27
| |-- [200504 23:51] ./lib/libstdc++fs.a
| |-- [200504 23:51] ./lib/libstdc++fs.la
| |-- [200504 23:51] ./lib/libsupc++.a
| |-- [200504 23:51] ./lib/libsupc++.la
| |-- [200504 23:51] ./lib/libstdc++.a
| `-- [200504 23:51] ./lib/libstdc++.so.6.0.27-gdb.py
`-- [200504 23:51] ./share
`-- [200504 23:51] ./share/gcc-9.2.0
`-- [200504 23:51] ./share/gcc-9.2.0/python
`-- [200504 23:51] ./share/gcc-9.2.0/python/libstdcxx
|-- [200504 23:51] ./share/gcc-9.2.0/python/libstdcxx/__init__.py
`-- [200504 23:51] ./share/gcc-9.2.0/python/libstdcxx/v6
|-- [200504 23:51] ./share/gcc-9.2.0/python/libstdcxx/v6/__init__.py
|-- [200504 23:51] ./share/gcc-9.2.0/python/libstdcxx/v6/printers.py
`-- [200504 23:51] ./share/gcc-9.2.0/python/libstdcxx/v6/xmethods.py
5.9 binutils pass2: ??? , remove old ld , make new ld with normal search path for next chapter
照惯例过滤了下,看生成了什么文件。
看起来像是把原来binutils生成的工具链,用cross compile工具
CC=$LFS_TGT-gcc
AR=$LFS_TGT-ar
RANLIB=$LFS_TGT-ranlib
重新生成了一遍。
lfs@peng:/mnt/lfs/tools$ tree -aft --timefmt '%m%d %H:%M' | grep '13:'
| | `-- [0505 13:05] ./share/man/man1
| | |-- [0505 13:05] ./share/man/man1/addr2line.1
.......
| | `-- [0505 13:05] ./share/man/man1/ld.1
| `-- [0505 13:05] ./share/info
| |-- [0505 13:04] ./share/info/bfd.info
| |-- [0505 13:05] ./share/info/as.info
| |-- [0505 13:05] ./share/info/binutils.info
| |-- [0505 13:05] ./share/info/gprof.info
| `-- [0505 13:05] ./share/info/ld.info
|-- [0505 13:05] ./x86_64-pc-linux-gnu
| |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/ar
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/nm
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/objcopy
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/objdump
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/ranlib
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/readelf
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/strip
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/as
| | |-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/ld
| | `-- [0505 13:05] ./x86_64-pc-linux-gnu/bin/ld.bfd
| `-- [0505 13:05] ./x86_64-pc-linux-gnu/lib
| `-- [0505 13:05] ./x86_64-pc-linux-gnu/lib/ldscripts
| |-- [0505 13:05] ./x86_64-pc-linux-gnu/lib/ldscripts/elf32_x86_64.x
......
| |-- [0505 13:05] ./x86_64-pc-linux-gnu/lib/ldscripts/elf_x86_64.xu
| |-- [0505 13:05] ./x86_64-pc-linux-gnu/lib/ldscripts/elf_x86_64.xw
| `-- [0505 13:05] ./x86_64-pc-linux-gnu/lib/ldscripts/elf_x86_64.xwe
|-- [0505 13:05] ./include
| |-- [0505 13:04] ./include/ansidecl.h
| |-- [0505 13:04] ./include/bfd.h
| |-- [0505 13:04] ./include/bfd_stdint.h
| |-- [0505 13:04] ./include/bfdlink.h
| |-- [0505 13:04] ./include/diagnostics.h
| |-- [0505 13:04] ./include/plugin-api.h
| |-- [0505 13:04] ./include/symcat.h
| |-- [0505 13:05] ./include/dis-asm.h
| |-- [0505 13:05] ./include/ctf-api.h
| `-- [0505 13:05] ./include/ctf.h
|-- [0505 13:05] ./lib
| |-- [0505 13:04] ./lib/libbfd.la
| |-- [0505 13:05] ./lib/libbfd.a
| |-- [0505 13:05] ./lib/libopcodes.a
| |-- [0505 13:05] ./lib/libopcodes.la
| |-- [0505 13:05] ./lib/libctf-nobfd.a
| |-- [0505 13:05] ./lib/libctf-nobfd.la
| |-- [0505 13:05] ./lib/libctf.a
| `-- [0505 13:05] ./lib/libctf.la
`-- [0505 13:05] ./bin
|-- [0505 13:05] ./bin/addr2line
|-- [0505 13:05] ./bin/ar
|-- [0505 13:05] ./bin/c++filt
|-- [0505 13:05] ./bin/elfedit
|-- [0505 13:05] ./bin/nm
|-- [0505 13:05] ./bin/objcopy
|-- [0505 13:05] ./bin/objdump
|-- [0505 13:05] ./bin/ranlib
|-- [0505 13:05] ./bin/readelf
|-- [0505 13:05] ./bin/size
|-- [0505 13:05] ./bin/strings
|-- [0505 13:05] ./bin/strip
|-- [0505 13:05] ./bin/as
|-- [0505 13:05] ./bin/gprof
|-- [0505 13:05] ./bin/ld
|-- [0505 13:05] ./bin/ld.bfd
`-- [0505 13:05] ./bin/ld-new
对比洗面原来bin里面的工具:
这些新生成的工具,貌似是为了下一章的新环境准备的。
|-- [200504 23:12] ./bin
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-addr2line
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ar
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-as
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-c++filt
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-elfedit
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-gprof
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-nm
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-objcopy
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-objdump
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ranlib
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-readelf
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-size
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-strings
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-strip
| |-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ld
| `-- [200504 23:12] ./bin/x86_64-lfs-linux-gnu-ld.bfd