没有账号?3秒注册
『直播』菜鸟的LFS历程

xiaosun

2014/5/28 20:38:55LV.连长



用GNU/Linux很久了, 一直没有什么长进, 所以我决定自己LFS一把, 顺便做一个直播贴骗点儿经验

据说LFS是很需要耐力的一个过程, 所以虽说是准备长期更新, 可也说不好哪天就tj了. 而且由于平时时间的原因, 即使坚持更新也不可能有很快的速度.

一想到我科用Linux的大牛千千万, 我这个学化学的在此献丑心里就抖啊...欢迎各位大牛拍砖, 我LFS的目的主要就是学习Linux, 所以还希望大家多多指教啊~



评论 20

发表

此楼留作目录, 不过先简单说一下我做lfs的环境和一些资源:
lfs book版本: 6.3(之所以选用这么老的版本是因为它是最后一个提供livecd的版本...)
宿主机: VirtualBox下用livecd做
livecd: lfslivecd-x86-6.3-r2145

另外还有一个中文的网页: http://www.ha97.com/887.html
基本就这么多了吧
以后就再这里加小楼的方式做目录啦~



2014/5/29 6:02:41

准备工作
1. 进入livecd
在设置了语言和时区之后, 就进入了lfslivecd的live系统. 这些都是菜单操作加回车, 没什么好说的.
进入之后直接就是root用户. 不过后面肯定不会用root用户做lfs的, 太不安全了.






2014/5/29 19:41:51

2.分区
我给虚拟机分配了512M的内存, 觉得应该够用了, 不过为了避免意外, 还是又给了它1G的swap空间. 另外虚拟磁盘的7G空间被分成了一个分区来做工作分区.

分区使用的是cfdisk, 用户界面还是很友好的, 命令:
cfdisk /dev/hda


写入更改之后就开始设置分区的格式:
首先是把第一个分区设成swap格式
mkswap /dev/hda1
然后把第二个分区设成ext3格式(这个纯属个人喜好...)
mke2fs -jv /dev/hda2

接下来把这些分区挂载到工作目录, 我就直接按照那个中文教程的方法做啦~
激活swap分区:
swapon /dev/hda1
为了后面用的方便, 先加一条环境变量:
export LFS=/mnt/lfs
然后建立这个目录...
mkdir -pv $LFS
把工作分区挂载到工作目录:
mount -v -t ext3 /dev/hda2 $LFS

这样分区工作就大功告成啦~



2014/5/30 8:57:26

好久不见技术贴…
——来自 诺基亚 Lumia 800



2014/5/30 23:18:03

3. 创建工作需要的目录

从头编译总得有放源码的地方吧, 所以先建一个目录放源码:
mkdir -v $LFS/sources
因为将来咱们不用root来做, 所以要把这个目录的属性改一下:
chmod -v a+wt $LFS/sources
这是会显示目录的属性改成了1777. 这点我在本层的小楼里解释含义~

接着呢, 如果不用livecd需要把所需要的源码包全都下载到这个目录里, wget可以帮你达到这个目的, 不过鉴于我用的是livecd, 下载这步就省了.

然后, 按照LFSbook上说, 他建议我们检查一下LFS是不是真的设成了/mnt/lfs这个目录, 好吧, 那就检查一下:
echo $LFS
这是系统显示: /mnt/lfs. 如果有人显示的不是这个, 就要按照5楼的方法重新设置一下环境变量.就是export那句.

接下来建立tools目录, 用来存放第一步编译出来的工具链:
mkdir -v $LFS/tools
然后给tools目录建符号链, 在之后的编译就用这里的东西:
ln -sv $LFS/tools /
这个命令我也小楼里说吧, ln是挺有用的一个命令.

这样工作目录就建完了~



2014/5/31 15:56:22

蒽哼,顶贴!



2014/6/1 7:33:06

4. 创建用户
之前已经说过啦, 肯定不会一直用root来做事的, 太危险了...所以我们下面就准备创建一个用户, 然后切换过去. 不过在此之前要把权限什么的都设置好.

创建新的用户组:
groupadd lfs
创建新用户, 和book里写的一样叫lfs吧:
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
更改密码:
passwd lfs
我就把密码留空了, 这样比较省事...反正是虚拟机

接下来就是把文件的权限改一下, chown是change owner的简写:
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources

然后登录lfs这个用户就好啦~
su - lfs

这时候shell的提示符已经从#变成了$...好失落啊



2014/6/1 18:14:13

5. 设置环境变量
先写.bash_profile文件, 这个设置大概的意思就是让刚刚登陆后的shell除了HOME, TERM和PS1变量外都是未设置的, 以防止意外:
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF

然后写.bashrc文件, 这里除了设置了一些变量之外, 还用set +h保证了新编译出来的工具就可以立刻投入使用, 和设置了创建的文件权限(umask 022)
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
EOF
注意在PATH设置里面一定要把/tools/bin放在最前面, 以保证新编译出来的东西就立刻能用上.

最后让这些东西生效
source ~/.bash_profile

好了, 到目前为止, 还一直在做准备工作, 而且一点编译都没有做...不过好日子就要结束了...后面就要开始编译东西啦, 期待啊~~





2014/6/2 11:13:13

技术贴留名



2014/6/2 22:19:40
上一页1/3 下一页>
20
0
收藏
分享