LFS,编译自己的Linux系统 - 完成准备工作
$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系统 - 完成准备工作的更多相关文章
- LFS,编译自己的Linux系统 - 前言
近期工作计划:1. 上班时,用Django编写一个网站:2. 下班时,用C#.WPF编写一个单机版应用软件:3. 其他时间,根据LFS编译自己的Linux系统. LFS是一本书,书中列出了从零开始编译 ...
- Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件
Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...
- java 基础(二) 搭建Java编译环境(linux系统)
jdk安装配置 首先下载JDK和JRE,这里你的需要看看你的Linux系统是多少位的,比如我的是64位的:下载JDK并指定到Download目录,JRE同样操作:解压并且配置环境: tar -zxvf ...
- ZedBoard上运行linux系统的准备工作框架
目标:ZedBoard上运行linux系统. 需要什么:图中上色部分. 应该做哪些工作:上色部分之前的所有步骤. 由上图得知,为了顺利在zedboard上构建嵌入式Linux操作系统,我们一般需要如下 ...
- LFS,编译自己的Linux系统 - 准备
概述 现在用的操作系统是Win8.1,用VMware创建一个虚拟机,3G内存(物理内存是6G,分一半),23G硬盘,其中3G用于swap分区,10G用于host system,10G用于建立LFS系统 ...
- 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 - ...
- LFS,编译自己的Linux系统 - 包和补丁
建立工作目录 我们先建立一个工作目录,用于存放下载的源代码和对源代码进行编译. sudo mkdir –v /mnt/lfs/sources sudo chmod –v a+wt /mnt/lfs/s ...
- LFS,编译自己的Linux系统 - 准备分区
分区 之前在安装ubuntu时已经分好了. 建立文件系统 sudo mkfs –v –t ext4 /dev/sda3 挂载文件系统 sudo mkdir /mnt/lfs sudo mount –v ...
- 《从LFS到自己的Linux发行版》系列教程:一步到位体验LFS11.0
目录 前言 第一节:LFS 准备工作 第二节:一步完成你的 LFS11.0 第三节:开启你的 LFS 系统 结语 前言 如果你把从源代码开始编译构建一个操作系统的工作当成厨师做一桌菜的话,Lin ...
随机推荐
- 元组:戴上了枷锁的列表 - 零基础入门学习Python013
元组:戴上了枷锁的列表 让编程改变世界 Change the world by program 元组:戴上了枷锁的列表 由于和列表是近亲关系,所以元组和列表在实际使用上是非常相似的. 我们这节课主要通 ...
- KEIL 程序定位
用Keil做51的开发也4年多了,代码量基本上维持在5~10K左右,说大不大,说小也不小,也就是个中等货色.这段期间工作上难得有稍许的空间,潜心研究了一下keil中如何在 CODE中定位C程序的方法. ...
- linux下制作共享库.a和 .so
接触linux时间不长,总是感觉底气不足,很多东西总是感到迷迷糊糊,其实是因为没找拿到linux C的两把钥匙: makefile和动态库.共享库.linux C中几乎所有的程序都是以库的形式给出,如 ...
- c++ 02
一.堆内存的动态分配与释放 malloc/calloc/realloc/free new/delete:详见memory.cpp 1.通过new运算符分配单个变量 数据类型* 指针变量 = new 数 ...
- C++关于strcpy等函数的安全版本
如下程序: #include <iostream> using namespace std; int main() { ]; strcpy(ch1,"); } 在VS2012上面 ...
- ACM1174_爆头解题思路_空间三维坐标求点到直线的距离
/* 爆头 Description gameboy是一个CS高手,他最喜欢的就是扮演警察, 手持M4爆土匪的头.也许这里有人没玩过CS,有必 要介绍一下“爆头”这个术语:所谓爆头,就是子 弹直接命中对 ...
- c、c++知识点
一. (1)在linux下类似uint8_t这样的文件定义在头文件<stdint.h>里面 (2)截取了stdint.h头文件里的一些常用部分 二.c++中c_str()用法 函数返回 ...
- Hive 3、Hive 的安装配置(本地derby模式)
这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可; $ vim hive-site.xml <configuration> <property> ...
- hdu 5432 Pyramid Split(二分搜索)
Problem Description Xiao Ming is a citizen who's good at playing,he has lot's of gold cones which ha ...
- wxpython 布局管理
一个典型的应用程序是由不同的部件.这些小部件被放进容器部件.一个程序员必须管理应用程序的布局.这不是一项容易的任务.在wxPython我们有两个选择. *absolute positioning*si ...