美文网首页
Linux for Scratch(第一章~第五章)

Linux for Scratch(第一章~第五章)

作者: gaojichengxu | 来源:发表于2017-08-21 14:25 被阅读49次

    1.首先检查主机系统工具链是否满足版本的需求,运行version-check.sh脚本。由于我的主机系统是刚刚安装的系统,系统版本ubuntu16.04.3 LTS,因此执行version-check.sh脚本之后,会出现command not found,如下图所示:

    version-check-result.png

    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

    library-check-result.png

    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

    相关文章

      网友评论

          本文标题:Linux for Scratch(第一章~第五章)

          本文链接:https://www.haomeiwen.com/subject/duecdxtx.html