1.首先检查主机系统工具链是否满足版本的需求,运行version-check.sh脚本。由于我的主机系统是刚刚安装的系统,系统版本ubuntu16.04.3 LTS,因此执行version-check.sh脚本之后,会出现command not found,如下图所示:
ERROR:/bin/sh does not point to bash
$ sudo ln -sf bash /bin/sh
yacc not found
$ sudo apt-get install bison
gawk not found
$ sudo apt-get install gawk
makeinfo: command not found
$sudo apt-get install texinfo
从https://gmplib.org/下载gmp的安装包
$ tar -xvf gmp-6.1.2.tar.xz
$ ./configure --prefix=/usr/lib
$ make && sudo make install
下载mpfr
$ ./configure --prefix=/usr/lib
$ make && sudo make install
发现gmp.h无法找到,执行以下命令
$ sudo apt-get install libgmp-dev
$ sudo apt-get install libmpfr-dev
下载mpc
http://www.multiprecision.org/index.php?prog=mpc&page=download
$ ./configure --prefix=/usr/lib
$ make && sudo make install
运行 library-check.sh 所有的库被找到
将sda硬盘格式化一个新的分区,例如硬盘为sda2
在目录/mnt下新建lfs目录,将sda2挂在/mnt/lfs下
$ sudo mount -v -t ext4 /dev/sda2 /mnt/lfs
在root用户下,创建sources文件夹,用来存放下载的软件包
root@pc $ mkdir -v /mnt/lfs/sources
root@pc $ chmod -v a+wt /mnt/lfs/sources
将软件包拷贝到sources文件目录下
$ cp -v /mnt/lfs/lfs-8.0.tar /mnt/lfs/sources
在root用户下,创建tools文件夹,用来存放编译
root@pc $ mkdir -v /mnt/lfs/tools
root@pc $ ln -sv /mnt/lfs/tools /
添加一个LFS用户
$ groupadd lfs
$ useradd -s /bin/bash -g lfs -m -k /dev/null lfs
$ passwd lfs
修改 tools 和 sources 文件夹的所有者为lfs
$ chown -R lfs /mnt/lfs/sources
$ chown -v lfs /mnt/lfs/tools
注意:新安装的系统可能由于许多库没有安装完整,automake需要安装
$ sudo apt-get install automake
注意:bash_profile 和 bash_rc中添加相应的环境变量,然后运行compile.sh
脚本,测试gcc, 第五章准备工作即可完成。
gcc not found
$ ln -sv /tools/lib/ld-linux-x86-64.so.2 /lib64