跟着我来一起编译lfs(六) 个性化配置及常用工具安装

这边还是比较倾向于备份一下,否则如果中间错了,那又要重来,蛋疼!!! 系统运行起来了,下面装几个常用的工具 进入centos(不是我们创建的lfs) LFS=/mnt/lfs mount -vt ext4 /dev/sdb1 $LFS mount -v –bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run if [ -h $LFS/dev/shm ]; then   mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi 下载源码到sources wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz wget http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz…

跟着我来一起编译lfs(五) LFS系统配置

这章主要是对lfs的系统进行配置,这样大家就会更了解Linux配置文件的位置和配置内容,下面我们开始。 配置系统主机名称 echo "MYOS" > /etc/hostname 输出到/etc/hostname就可以了 自定义 /etc/hosts 文件 cat > /etc/hosts << "EOF" # Begin /etc/hosts 127.0.0.1 <HOSTNAME.example.org> <HOSTNAME> localhost [alias1] [alias2] … ::1       <HOSTNAME.example.org> <HOSTNAME> localhost [alias1] [alias2] … # End /etc/hosts EOF 设备和模块管理 配置系统时间 设置本地时间 cat > /etc/adjtime << "EOF" 0.0 0 0.0 0 LOCAL EOF 配置 Linux…

跟着我来一起编译lfs(四) 构建LFS系统

现在开始建立LFS系统,也就是说现在真正开始了解Linux系统。 让我们一步一步来构建,看看每个目录到底放的是什么?有什么用呢?平时使用的命令是干什么的? 我相信只要我们一步一步做下来,你立马就摆脱linux菜鸟阵营。 开始~~~ 这里我们不用切换用户到lfs,就用root用户 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! 如果不是这个结果请执行 LFS=/mnt/lfs 创建将用来挂载文件系统的目录 mkdir -pv $LFS/{dev,proc,sys,run} 创建初始设备节点 在内核引导系统的时候,它依赖于几个设备节点,特别是 console 和 null 两个设备。 mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 挂载和激活 /dev mount -v –bind /dev $LFS/dev 挂载虚拟文件系统 mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc…

跟着我来一起编译lfs(三) 临时工具链及文件系统

接下来开始第二次工具链的编译建立一个完成临时系统,为什么要第二次,上一文中解释了,就不多啰嗦了,为了避免不必要的错误,我们先把第一次解压出来的目录文件删除,重新来。 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! cd $LFS/sources rm -rf binutils-2.27 gcc-6.2.0 linux-4.7.2 glibc-2.24 编译Binutils tar jxf binutils-2.27.tar.bz2 cd binutils-2.27 mkdir -v build cd build CC=$LFS_TGT-gcc \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ ../configure \ –prefix=/tools \ –disable-nls \ –disable-werror \ –with-lib-path=/tools/lib \ –with-sysroot make make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v…

跟着我来一起编译lfs(二) 工具链编译初识

建立交叉编译环境,这个步骤比较长及繁琐,耗时非常长,中间要准备好零食、饮料、连续剧,当然也可以LOL,尽量在娱乐中度过。 这里要理解一下交叉编译环境是干什么的?为什么要有这个环境? 首先我们最终的目的就是完成一个独立mini linux操作系统,记得前一章我们添加的那块虚拟硬盘么,这个系统将会在这块硬盘上产生,而产生这个系统的过程就是要用编译等工具生产相应的二进制文件,但是如果我们直接编译出二进制文件放在虚拟硬盘中,最终将无法运行,因为这块虚拟的硬盘上只有二进制文件,对应的依赖包等在我们的centos(及宿主机)中,所以我们先用centos(及宿主机)的编译工具和下载的源码编译出一套工具链,然后再用这个编译出来的工具链和下载的源码编译出独立的工具链。这样整个工具链及环境就都在我们的虚拟硬盘上,后面脱离宿主机一样可以运行。 好的,大概解释了一下,可能有不完整的地方,大家大概知道意思就可以。 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! 接下来开始第一次工具链编译 cd $LFS/sources 编译Binutils tar jxf binutils-2.27.tar.bz2 cd binutils-2.27 mkdir -v build cd build ../configure –prefix=/tools \ –with-sysroot=$LFS \ –with-lib-path=/tools/lib \ –target=$LFS_TGT \ –disable-nls \ –disable-werror 如果报错看看是不是GCC C++等工具没有安装?yum install 缺少的工具 make 64位系统添加一个lib64目录的软连接 case $(uname -m) in   x86_64) mkdir -v /tools/lib && ln -sv lib…

跟着我来一起编译lfs(一) 前期准备

linuxfromscratch (lsf) http://www.linuxfromscratch.org 具体是什么自行百度吧。 我编译的是7.10的版本(官方教程地址:点这里),其他版本大家可以自己去试,这个教程主要是让大家能够更清楚linux的一些目录,文件及命令。 这个过程是很漫长的,如果要跟着一起编译,要有足够的耐心,每台机器的环境都不一样,每个人所碰到的问题很有可能完全不一样,所以最终还是要靠大家自己去找答案,当然,我在编译的过程出现的问题一定会告之大家,避免碰到弯路。 先说一下我的环境 操作系统:win7 虚拟机:virtualbox 前期准备 1、在virtualbox中安装centos的系统,我用的是CentOS release 6.8,其他版本自行安装 2、添加一块虚拟硬盘,分区,创建目录 3、检测环境及下载源代码 一、安装centos 下载一个centos镜像 virtualbox 新建虚拟电脑,名称为 centos,上图 安装系统 然后启动,具体安装过程不再细说。 二、添加一块虚拟硬盘,分区,创建目录 安装好以后,关闭centos,添加一块虚拟硬盘给lfs用,上图 虚拟硬盘就添加好了。上图 启动系统,先全局更新 yum update 给虚拟硬盘分区 fdisk /dev/sdb 输入 n  (创建分区) 输入 p  (创建主分区) 输入 1  (只有一个分区) 一路回车 (确认分区大小) 最后w (写入分区信息) 环境变量及创建目录,这里命令比较多 export LFS=/mnt/lfs 请注意,以后每次重启或断开等情况都要先执行 echo $LFS /mnt/lfs 看看目录是否正确,一定要记住 创建根目录 mkdir -pv…