编译LFS】的更多相关文章

成功编译并运行linux from scratch 7.7 system,有必要作下总结.本次用的编译LFS的环境是: 虚拟机是virtalbox宿主系统为CentOS 7.0 x86_64 (core版本)LFS版本为 7.7 system我用两块硬盘,一块安装宿主系统,另一个作为LFS的编译安装盘,编译成功后,脱离宿主系统那块硬盘,单独引导启动LFS linux的那块硬盘,登录进入LFS linux.虚拟机上安装好centos后,在虚拟机上加一块硬盘,大小20G左右,分区如下 磁盘驱动器:/…
在第一部分,我们编译了一个工具链及临时系统,然后在第二部分我们chroot到/mnt/lfs下面,利用临时系统的工具编译了我们最终的LFS系统.不过此时,我们的LFS系统还是不完整的,因为我们还没有安装LFS的内核和引导程序,同时系统的引导脚本和一些必要的配置文件也都还没有配置.这一部分我们就来解决这些问题. 首先,进入chroot环境: chroot "$LFS" /usr/bin/env -i \ HOME=/root TERM="$TERM" PS1=&quo…
转自:http://www.ha97.com/3927.html Linux From Scratch (LFS) 及其后代代表一种新方法,向用户揭示 Linux 操作系统是如何工作的.LFS 基于这样的假设,即一部分一部分地编译完整的操作系统不仅能够揭示操作系统是如何工作的,也允许独立的操作人员为速度.内存占用或安全性而构建系统. 许多作家已经编写了有关 UNIX 风格的书籍,深入研究了调度.内存管理.多进程和线程.文件系统,以及用户与内核之间的交互.写作 Linux 书籍的作家相对于 UNI…
[+]查看原图http://www.ituring.com.cn/article/119401 来北京工作已经一个多月,大都市的生活比起读大学要忙碌得多,尤其是出行,基本以小时为基本的计时单位.有时茫然看着窗外车水马龙,会有些迷茫自己选择的是对还是错. 题外话不多说,回归这次的主题,扒一扒我看过的那些Linux相关的书籍. 对于Linux的了解和接触,缘起自大一时候的Linux限选课,老师说这门课可选可不选,但是选修后考试挂了的话需要补考.当时的我还比较爱学习,于是兴冲冲地选修了这门课,用的是清…
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/wireless_tools.html wpa_supplicant项目地址:http://www.linuxfromscratch.org/blfs/view/stable-systemd/basicnet/wpa_supplicant.html 1.使用wget下载…
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicnet/wireless_tools.html wpa_supplicant项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicnet/wpa_supplicant.html 1.使用wget下载wireless包和补丁并校验md5 wge…
基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: 1.最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件.这是因为往正在使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件.而使用install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了: 2.…
基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: .最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件.这是因为往正在 使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件.而使用 install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了: .…
目的:深入了解以Linux内核为基础的系统是如何组成,运行,以构建一个最基础的,纯净的系统. LFS构建步骤宿主机准备- linux操作系统安装- 使用独立硬盘,创建分区- 配置用户和组- 下载所有需要的软件包源代码准备开发环境构建一个基本开发环境构造完整的目标系统配置系统启动脚本启动系统 一.宿主系统准备1.1.安装所需要依赖包 [root@node ~]# yum install -y bash binutils bison bzip2 coreutils diffutils finduti…
转载请标明出处:https://www.cnblogs.com/kelamoyujuzhen/articles/9161515.html 实验环境: Host:Windows10 + WMWare Workstation14.1.1 build-7528167 LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.5.1804 (Core) R…
在我初学Linux系统时,虽然已经掌握了一些命令,但总觉得还是很混乱.大家新买的笔记本如果是Windows系统,那么第一件事往往就是分区,目的就是将系统和软件分开.然而Linux却没有类似于Windows分区的概念,取而代之的是挂载点.此外,Windows上安装软件一般即装即用,在linux上又有了软件依赖的概念,这更加让Linux新手摸不着头脑了.Linux的众多发行版也让Linux小白们陷入了选择困难症.虽然Linux发行版众多,但都万变不离其宗.下面从几个不同的角度来描述Linux系统来加…
编译GCC-4.8.2 PASS 1 解压并重命名 cd /mnt/lfs/sources tar -Jxf ../mpfr-3.1.2.tar.xz mv mpfr-3.1.2 mpfr tar -Jxf ../gmp-5.1.3.tar.zx mv gmp-5.1.3 gmp tar -zxf ../mpc-1.0.2.tar.gz mv mpc-1.0.2 mpc 修改GCC的配置文件 for file in \ $(find gcc/config -name linux64.h -o -…
$LFS 确保环境变量$LFS已被定义. 定义:export LFS=/mnt/lfs 检查:echo $LFS 建立目录 $LFS/tools $LFS/tools目录用于存放和编译一些临时使用的工具,这些工具不是最终LFS系统的一部分. sudo mkdir –v $LFS/tools 建立一个软链接,这样在host system和LFS里可以使用同样的路径访问tools目录. sudo ln –sv $LFS/tools / 创建用户 创建一个用户用于编译,防止不小心破坏系统. sudo…
建立工作目录 我们先建立一个工作目录,用于存放下载的源代码和对源代码进行编译. sudo mkdir –v /mnt/lfs/sources sudo chmod –v a+wt /mnt/lfs/sources 下载软件包 首先下载软件包的列表. http://www.linuxfromscratch.org/lfs/view/stable/wget-list 将这个列表中的文件下载到本地. wget -i wget-list –P /mnt/lfs/sources Changelog 201…
概述 现在用的操作系统是Win8.1,用VMware创建一个虚拟机,3G内存(物理内存是6G,分一半),23G硬盘,其中3G用于swap分区,10G用于host system,10G用于建立LFS系统. 创建虚拟机 使用VMware7.1.2创建一个虚拟机,硬盘23G,内存3G. 硬盘分区 分3个区,sda1,3G,用于swap:sda2,10G,用于ubuntu:sda3,10G,用于LFS.之所以要安装ubuntu,是因为需要有一个系统执行分区.建立文件系统.下载源代码.编译源代码等工作.分…
近期工作计划:1. 上班时,用Django编写一个网站:2. 下班时,用C#.WPF编写一个单机版应用软件:3. 其他时间,根据LFS编译自己的Linux系统. LFS是一本书,书中列出了从零开始编译一个Linux系统的步骤和资源,我看的是最新的7.5版本,更新日期是2014年3月2日. LFS官方网站:http://www.linuxfromscratch.org/ LFS下载地址:http://www.linuxfromscratch.org/lfs/downloads/stable/ LF…
分区 之前在安装ubuntu时已经分好了. 建立文件系统 sudo mkfs –v –t ext4 /dev/sda3 挂载文件系统 sudo mkdir /mnt/lfs sudo mount –v –t ext4 /dev/sda3 /mnt/lfs Changelog 2014-05-25 首次发布.…
脚本共享在这 http://pan.baidu.com/s/1nt6yiH7 version-check.sh : 这个是检查HOST机器的软件依赖情况 host-dep.sh:针对ubuntu10_64的缺少的包的安装[开发环境已安装] comp.sh:LFS7.5的图书大量的编译代码的整理脚本 ,可参数运行,如 ./comp.sh -s=5.1表示对应章节的执行步骤 如下是comp.sh的内容 #!/bin/bash :<<EOF安装依赖的包在这些独立的文件中,不用独立下载ftp://ft…
八. 构建LFS系统 1. 准备虚拟内核文件系统 内核会挂载几个文件系统用于自己和用户空间程序交换信息.这些文件系统是虚拟的,并不占用实际磁盘空间, 它们的内容会放在内存里. mkdir -pv $LFS/{dev,proc,sys,run} mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/…
七. 构建临时系统 1. 通用编译指南 a. 确认是否正确设置了 LFS 环境变量 echo $LFS b. 假定你已经正确地设置了宿主系统的符号链接: 1)shell 使用的是 bash. 2)sh 是到 bash 的符号链接. 3)/usr/bin/awk 是到 gawk 的符号链接. 4)/usr/bin/yacc 是到 bison 的符号链接或者一个执行 bison 的小脚本. c. 构建临时系统中,确保解压软件包时你使用的是 lfs 用户. d. 除非特别说明,删除解压出来的目录和所有…
一. 准备工作 1. 需要一个Linux宿主系统,例如早先版本的 LFS,Ubuntu/Fedora,SuSE 或者是在你的架构上可以运行的其它发行版 如果想实现Win7与Linux双系统,可参考我的上一篇博文:Win7下硬盘安装Ubuntu 12.04.3双系统 2. 参考网址:Linux From Scratch Version 7.7-systemd (简体中文版) 3. 参考文档:LFS-BOOK-7.7-systemd.pdf 4. 参考命令:lfs-7.4-command.txt 二…
内容来自LinuxSir: 如果不出意外的话,会出现say.so => not found. 这时的./test是不能运行的.但至少说明程序运行时是需要这个库的.那为什么找不到这个库呢?那就让我们看看系统是怎样寻找这些库的吧. 首先是ld-linux.so.2这个不能不说,它太重要了,以至于也决定了后面的搜索方式. 先是程序内部决定的. strings test 还好我们这个test程序不大,不用过滤输出,好,你看见什么, /lib/ld-linux.so.2, say.so, libc.so.…
流程: 1.  下载并解压源码包2.  运行:configure3.  编译:make4.  安装:make install 编译时需要注意一个原则:不要在解压的包中直接执行./configure.make.make install等命令,需要在源码目录下另外新建一个目录,在新建的目录中执行以上命令. 例子:这里以源码编译安装Xz这个工具为例 1.  下载源码包:wget http://tukaani.org/xz/xz-5.2.2.tar.gz     //版本请自行选择2.  解压源码包:t…
GCC 编译优化指南(转) http://www.jinbuguo.com/linux/optimize_guide.html 作者:金步国 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布. 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失. 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件. 名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留作者署名并注明出处. 其他作品 本文作者十分愿意…
Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统  nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦想.……我梦想有一天,这个国家会站起来,并真正实现其信条的真谛:‘我们认为这些真理是不言而喻的:人人生而平等.’……我梦想有一天,幽谷上升.高山下降,坎坷曲折之路成坦途,圣光披露.照满人间.——马丁·路德·金这有点扯远了,我肯定是比不上马丁·路德·金的.不过我曾经也有一个梦想,就是:当我的电脑一开机…
自从在大学知道了Linux这玩意是可以定制的之后,一直想做出一版属于自己的Linux系统.最近工作比较闲,终于塌下心来好好学习了一下.   目前来说,我接触的定制Linux的方法主要有两种:   1.以busybox为核心,通过构建initrd+busybox做出的fs+内核这三大块,构建Linux   2.采用更底层方式,基于源代码级,通过编译&构建自己的工具链+编译&构建自己的lfs+内核这三大块,构建Linux,其中最典型的就是我刚刚完成的LFS系统.   关于两种方法的优缺点呢,由…
上一篇我们已经搭建好了临时系统,这一篇我们就开始正式构建我们的最终LFS系统. 首先切换到root,准备虚拟内核文件系统并挂载: su - export LFS=/mnt/lfs mkdir -pv $LFS/{dev,proc,sys} mknod -m $LFS/dev/console c mknod -m $LFS/dev/ mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts -o gid=,mode= mo…
由于第一次编译,花了不少时间,也不知道能不能成功,所以就没有记笔记,现在重新编译一次,这次不装U盘而是装到我的移动硬盘上面.步骤差不多,因为我感觉硬盘的速度会比U盘快. 至于LFS的优点,我就不多说了,相信你只要听过LFS这个词,就一定会知道它的优点的.这里我用的是最新版的LFS7.4,因为最新版的都会修复一些错误,或者编译方法会更合理一些. 下面就是我的安装之路: 1.首先就是分区,建立文件系统,挂载文件系统 我的分区如下: /dev/sdb是我的移动硬盘,大概有80G大小吧.上图中的/dev…
转自: http://www.jinbuguo.com/linux/optimize_guide.html GCC 编译优化指南 作者:金步国[www.jinbuguo.com] 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布. 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失. 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件. 名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留作者署名并…
我希望自己的LFS运行在U盘上,远期目标是要制作一个基于LFS的编程练习U盘,方便自己的编程练习.今天算是工作的第一步,先把LFS做到U盘上. 把Linux做到U盘上通常的做法是采用两步启动法:先生成initrd文件,系统启动的时候是先在内存中启动一个小型系统,再把控制权交给U盘上的根系统.我不喜欢这种做法----虽然这种做法的好处很多----而且我觉得制作initrd文件.编译busybox等比较麻烦.我希望自己U盘上的LFS能够一步启动,这就需要打个补丁.今天试了一下,成功,记录于下,供大家…