$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 groupadd lfs

sudo useradd –s /bin/bash –g lfs –m –k /dev/null lfs

sudo passwd lfs

sudo chown –v lfs $LFS/tools

sudo chown –v lfs $LFS/sources

切换用户:su – lfs

建立环境

首先切换到用户lfs,执行下列语句建立.bash_profile

cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
这个文件建立一个干净的环境,只有三个环境变量:HOME,TERM,PS1

执行下列语句建立.bashrc
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH

EOF
这个文件首先是禁用bash的缓存,使tools目录内编译的工具立即可用,然后声明了几个环境变量。

最后确认

$LFS已定义(OK)

echo $LFS

当前SHELL是bash(False)

sh是指向bash的链接(False)

/usr/bin/awk是指向gawk的链接(OK)

/usr/bin/yacc是指向bison的链接(OK)

Ubuntu默认使用dash作为SHELL,我们要把它改过来,改成bash

$sudo dpkg-reconfigure dash

弹出菜单中选择“否”

Changelog

2014-05-27 首次发布。

2014-05-30 增加”最后确认“。

LFS,编译自己的Linux系统 - 完成准备工作的更多相关文章

  1. LFS,编译自己的Linux系统 - 前言

    近期工作计划:1. 上班时,用Django编写一个网站:2. 下班时,用C#.WPF编写一个单机版应用软件:3. 其他时间,根据LFS编译自己的Linux系统. LFS是一本书,书中列出了从零开始编译 ...

  2. Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件

    Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统  nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...

  3. java 基础(二) 搭建Java编译环境(linux系统)

    jdk安装配置 首先下载JDK和JRE,这里你的需要看看你的Linux系统是多少位的,比如我的是64位的:下载JDK并指定到Download目录,JRE同样操作:解压并且配置环境: tar -zxvf ...

  4. ZedBoard上运行linux系统的准备工作框架

    目标:ZedBoard上运行linux系统. 需要什么:图中上色部分. 应该做哪些工作:上色部分之前的所有步骤. 由上图得知,为了顺利在zedboard上构建嵌入式Linux操作系统,我们一般需要如下 ...

  5. LFS,编译自己的Linux系统 - 准备

    概述 现在用的操作系统是Win8.1,用VMware创建一个虚拟机,3G内存(物理内存是6G,分一半),23G硬盘,其中3G用于swap分区,10G用于host system,10G用于建立LFS系统 ...

  6. LFS,编译自己的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 - ...

  7. LFS,编译自己的Linux系统 - 包和补丁

    建立工作目录 我们先建立一个工作目录,用于存放下载的源代码和对源代码进行编译. sudo mkdir –v /mnt/lfs/sources sudo chmod –v a+wt /mnt/lfs/s ...

  8. LFS,编译自己的Linux系统 - 准备分区

    分区 之前在安装ubuntu时已经分好了. 建立文件系统 sudo mkfs –v –t ext4 /dev/sda3 挂载文件系统 sudo mkdir /mnt/lfs sudo mount –v ...

  9. 《从LFS到自己的Linux发行版》系列教程:一步到位体验LFS11.0

    ​​ 目录 前言 第一节:LFS 准备工作 第二节:一步完成你的 LFS11.0 第三节:开启你的 LFS 系统 结语 前言 如果你把从源代码开始编译构建一个操作系统的工作当成厨师做一桌菜的话,Lin ...

随机推荐

  1. UVA1589 Xiangqi

    Xiangqi is one of the most popular two-player board games in China. The game represents a battle bet ...

  2. sql数据库监控语句

    --查找被阻塞进程 --查找阻塞头进程 and exists ( from master..sysprocesses where blocked =p.spid) --查找等待时间长的进程 order ...

  3. form 练习

    <form>姓:<input type="text" name="firstname" /><br />名:<inpu ...

  4. 提交 应用ID 证书

    https://developer.apple.com/account/ios/profile/profileCreate.action?formID=960914622

  5. 有关 sizeof和strlen的总结

    先看看sizeof() 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是 ...

  6. UESTC_方老师和农场 2015 UESTC Training for Graph Theory<Problem L>

    L - 方老师和农场 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  7. 【LeetCode练习题】Valid Palindrome

    Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric char ...

  8. WPF-24:绘制正多边形

    一般来说绘制正N边形,使用Blend直接画出来就好.不过可能是博主受WInform影响比较大,比较喜欢使用画出来的图形.如果要绘制正N边形,前面的绘制五角星的公式可以通用的(http://blog.c ...

  9. VPN拨号后使用本地网络上网

    网络环境大概是这样了:我在家里用ADSL上网,通过VPN连接到公司的服务器.但是连接VPN后,只能登录到公司的服务器,与INTERNET就断开了,QQ.网页都断开了.公司的服务器应该是连网的,可能被限 ...

  10. Unity 安卓下DLL热更新一(核心思想)

    大家都知道一谈起热更新的话首选是Ulua这个插件, 其实Unity可以使用dll热更新的,如果你实在不想用Lua来编写逻辑,0.0请下看Dll+AssetBundle如何实现热更新的.让你看完这个文章 ...