LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 青铜镜

[大话LFS/BLFS]从LFS到BLFS轻松上手——关于编译LFS/BLFS的可行性报告

[复制链接]
发表于 2007-5-29 09:35:33 | 显示全部楼层
建议加精或置顶,用jhalfs的方法,确实很方便

期待后续
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 10:02:05 | 显示全部楼层
至此,我们的LFS算是完美收工了。省心,省事,少麻烦……特点是:方便快捷。好了,好话我就不多说了,下面请出我们伟大的、光荣的、正确的唐师父致闭幕词!唐师父激动了一阵子,忘词了,说:“悟空,看看……”怎么样?够简单、快速、有效吧?如果你耐心看到这里,你曾经受到LFS长时间编译的折腾,一定会对上面的介绍方法心动了,心动不如行动,还不赶紧回去试试!有什么动静回来跟贴……

什么?你还在手工输入命令?那你一定是飞豹大侠的铁杆粉丝!你看上面4楼的那位大哥,飞豹大侠一定是到过你的心里,并在你的心里面留下一滴眼泪吧?突然想起齐天大圣一个跟斗云翻到五指山后,想证明自己曾经到过五指山,于是便题词:齐天大圣,至此一游。还顺便撒了一泡尿……呵呵,孙大圣这个习惯不好啊!

号外:你想知道飞豹大侠的书叫什么名字吗?
据《江湖小报》非著名记者青铜镜和《八卦周刊》资深记者金步国共同掌握的可靠消息,可以给大伙一个小小的提示:倪萍出了一本书叫做《日子》,白云大妈也出了一本书叫做《月子》……下面,大家应该知道我们飞豹大侠的书名了吧?就是《星子》!啥?星子?白天见星星,跌倒……这不晕了吗?呵呵……

[color="Red"]下 集  轻松搞定BLFS


第一次LFS收工后正确无误启动时,着实让青铜镜激动了老一阵子,太有成就感了!连盖着被子都想偷笑,太不容易了。后来,听说飞豹大侠编译LFS的次数竟然达到了108次!而且每一次几乎都是手工完成的。顿时,俺的成就感一下了消失得无影无踪,好象白天见星星,那些星星竟然在偶面前飘来飘去……
下面是《江湖小报》非著名记者青铜镜独家专访飞豹大侠的报导:
青铜镜:飞豹大侠您好!我是《江湖小报》的记者青铜镜,非常感谢您老人家能在百忙之中抽出时间接受我们的专访。
飞豹大侠:你好!(我们俩握手,入座。)只要不涉及个人隐私问题,我一定如实回答你的提问。请大家多多支持我!
青铜镜:请问,飞豹大侠您做LFS的时间有多少年了?
飞豹大侠数数手指脚趾:我做LFS已好多年……(画外音乐轻轻响起:我不做大哥好多年……谁在唱反调?)
青铜镜:请问你做LFS的次数有没有100次?请问你做LFS是不是个人爱好?请问你做LFS的目的是什么?请问是不是为了全世界广大劳苦人民得解放?请问你做了多少次BLFS?请问你做BLFS是不是编译KDE?请问你喜欢KDE还是GNOME?请问你有没有从做LFS中得到过好处?请问你每次做LFS都是手工输入命令吗?请问你做LFS时使用的脚工是什么门派的?请问你是不是使用佛山无影脚?请问你能不能教我?……
(下面请出我们的嘉宾主持人唐师父!唐师父闪亮登场!由唐师父继续访问飞豹大侠。)
唐师父:请问你喜欢什么颜色?请问你喜欢什么水果?为何你起名叫飞豹呢?飞豹这个名字太平常了,建议你改名金钱豹!金钱豹,多好听的名字,多吉祥,多喜庆。想想都让人感受到如沐春风呀!而且呢,这个金钱呀,实在是太好用了。王朔说过,金钱不是万能的,但没有钱是万万不能D。你要是改了名啊,那你就鸟生鱼汤,玉树临风,千秋万载,一统江湖了@#$%&*
咋不见了飞豹大侠呢?一看地下,飞豹大侠不省人事,崩溃了……哈哈哈!


下面是广告时间:
小郭拖地,忽然闪到腰,扶腰呼痛。
祝无双:怎么啦?又闪到腰了?
郭芙蓉:老啦,看来不服老是不行喽。
祝无双:年纪大了,骨质疏松,身体提醒你,缺钙啦(展示)白驼山壮骨粉,北宋欧阳锋独家秘方,专为武林中人研制。
郭芙蓉:可我已经退出江湖啦!
祝无双:一样用得上,俗话说人在江湖飘,谁能不挨刀?白驼山壮骨粉,内用外服均有奇效。挨了刀,涂一包,还想再挨第二刀,闪了腰,吃一包,二百多岁不显老。
祝/郭:白驼山壮骨粉,青春的粉,友谊的粉白驼山壮骨粉,北宋欧阳锋独家秘制,看着很像面粉,吃着更像面粉!
白展堂:华山论剑指定营养品,本镇各大药铺医馆均有销售,购买时,请认准黑蛤蟆防伪标志。无双、芙蓉:呱呱~~

广告之后,欢迎回来!
其实,LFS只是一个基本系统而已,还不能跟我们平时安装、使用的LINUX发行版那样,只要装上就可以使用了。我们还得装上相应的工具软件,装上桌面管理软件,才能够让LFS满足我们的日常工作、学习、娱乐等应用。下面,我们就在已经完美收工的LFS上继续BLFS,朝着KDE轻松出发!当然啦,青铜镜的方法跟比较简单,容易做得到,只要照着下面的步骤慢慢做,就可以很快装上KDE了。说白了,青铜镜在这里放一个葫芦,大伙可以照着这个葫芦慢慢画。
画自己的瓢,让别人说去吧……

此乃武林密笈,传男不传不女!小心记好了:
1、把下面所有列出来的软件包先都下载好。
2、按照编号顺序写好脚本文件。
3、将脚本文件和软件包分组放在文件夹里面。
4、利用LiveCD将所有下载好的软件包和脚本文件加载进入LFS系统。
5、退出LiveCD,重新进入LFS,转到存放软件包和脚本的目录里。
6、将所有脚本的属性设置为可执行,例如:chmod +x 01libpng-1.2.12。
7、按编号先后顺序执行脚本文件。

这样,机器就自动给你安装软件包了!要注意软件包的版本号!包的安装顺序是排好的。当然,俺还是喜欢这样做:
./01libpng-1.2.12 && ./02expat-2.0.0 && ./03freetype-2.1.10 && 厖
哈哈,这种方法,老少皆宜!童叟无欺!下面是需要下载的软件包和相关脚本文件。
回复 支持 反对

使用道具 举报

发表于 2007-5-29 18:54:48 | 显示全部楼层
狂汗中......
回复 支持 反对

使用道具 举报

发表于 2007-5-29 20:10:25 | 显示全部楼层

镜镜真搞笑

呵呵......
不错

就是有一点,不知道镜镜是在夸豹哥还是在贬豹哥.......
^_^
回复 支持 反对

使用道具 举报

发表于 2007-5-29 20:40:08 | 显示全部楼层
豹哥莫生气,我想是因为青铜镜想找LFS界最为人熟悉的人来开玩笑才会找豹哥的。

BTW,不见下载文件呢?
回复 支持 反对

使用道具 举报

发表于 2007-5-29 20:46:08 | 显示全部楼层
我没生气,哈哈,就是流了点汗~
回复 支持 反对

使用道具 举报

发表于 2007-5-30 01:16:23 | 显示全部楼层
哇。。。好。。。爽。。。我。。。一。。。般。。。喜。。。欢。。。先。。。自。。。己。。。来。。。不。。。过。。。还。。。是。。。谢。。。了。。。你。。。真。。。是。。。精。。。力。。。充。。。沛。。。啊
回复 支持 反对

使用道具 举报

发表于 2007-5-30 02:48:59 | 显示全部楼层
最关心的是BLFS和CBLFS的内容。
由于本系英文盲,在看BLFS和CBLFS手册时感到十分吃力。
LFS和CLFS没有那么多的依赖性问题,比较简单。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-30 08:38:24 | 显示全部楼层
Post by borry502
呵呵......
不错

就是有一点,不知道镜镜是在夸豹哥还是在贬豹哥.......
^_^



这就是传说中的炒作……

爆炒!

不是炖!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-30 16:14:40 | 显示全部楼层
[color="Red"]第一章 装x


建立一个文件夹,取名01X,将本章所有的软件包和脚本放在里面,安装时,只要进入该文件夹,按先后顺序执行脚本文件便可以了。主要安装的软件包有:libpng-1.2.12.tar.bz2; expat-2.0.0.tar.gz; freetype-2.1.10.tar.bz2;fontconfig-2.3.2.tar.gz;Linux-PAM-0.99.4.0.tar.bz2;X11R6.9.0-src.tar.bz2等六个包。


01.01
libpng-1.2.12
http://downloads.sourceforge.net/libpng/libpng-1.2.12.tar.bz2
脚本编号:01libpng-1.2.12
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -xvf [color="Red"]libpng-1.2.12.tar.tar
cd libpng-1.2.12
./configure --prefix=/usr &&
make
make install &&
install -v -m755 -d /usr/share/doc/libpng-1.2.12 &&
install -v -m644 README libpng.txt /usr/share/doc/libpng-1.2.12
cd ..
rm -rf libpng-1.2.12
exit
------------------------------------------------------------------------------------


01.02
expat-2.0.0
http://downloads.sourceforge.net/expat/expat-2.0.0.tar.gz
脚本编号:02expat-2.0.0
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -zxvf expat-2.0.0.tar.gz
cd expat-2.0.0
./configure --prefix=/usr &&
make
make install &&
install -v -m755 -d /usr/share/doc/expat-2.0.0 &&
install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-2.0.0
cd ..
rm -rf expat-2.0.0
exit
------------------------------------------------------------------------------------


01.03
freetype-2.1.10
http://downloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2
http://downloads.sourceforge.net ... -doc-2.1.10.tar.bz2
脚本编号:03freetype-2.1.10
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -jxvf freetype-2.1.10.tar.bz2
cd freetype-2.1.10
tar xf ../freetype-doc-2.1.10.tar.bz2 \
--strip-components=2 -C docs
sed -i -r 's:.*(#.*BYTE.*) .*:\1:' \
include/freetype/config/ftoption.h &&
./configure --prefix=/usr &&
make
make install &&
install -v -m755 -d /usr/share/doc/freetype-2.1.10 &&
cp -v -R docs/* /usr/share/doc/freetype-2.1.10
cd ..
rm -rf freetype-2.1.10
exit
------------------------------------------------------------------------------------


01.04
fontconfig-2.3.2
http://fontconfig.org/release/fontconfig-2.3.2.tar.gz
脚本编号:04fontconfig-2.3.2
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -zxvf fontconfig-2.3.2.tar.gz
cd fontconfig-2.3.2
./configure --prefix=/usr --sysconfdir=/etc \
--disable-docs --without-add-fonts \
--with-docdir=/usr/share/doc/fontconfig-2.3.2 &&
make
make install &&
install -v -m644 doc/*.3 /usr/share/man/man3 &&
install -v -m644 doc/*.5 /usr/share/man/man5 &&
install -v -m755 \
-d /usr/share/doc/fontconfig-2.3.2/fontconfig-devel &&
install -v -m644 doc/*.{html,pdf,txt} \
/usr/share/doc/fontconfig-2.3.2 &&
install -v -m644 doc/fontconfig-devel/* \
/usr/share/doc/fontconfig-2.3.2/fontconfig-devel
cd ..
rm -rf fontconfig-2.3.2
exit
------------------------------------------------------------------------------------


01.05
linux-pam-0.99.4.0
http://www.kernel.org/pub/linux/ ... AM-0.99.4.0.tar.bz2
http://www.kernel.org/pub/linux/ ... 99.4.0-docs.tar.bz2
脚本编号:05linux-pam-0.99.4.0
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -jxvf Linux-PAM-0.99.4.0.tar.bz2
cd Linux-PAM-0.99.4.0
tar -xf ../Linux-PAM-0.99.4.0-docs.tar.bz2 -C doc
./configure --libdir=/usr/lib \
--sbindir=/lib/security \
--enable-securedir=/lib/security \
--enable-docdir=/usr/share/doc/Linux-PAM-0.99.4.0 \
--enable-read-both-confs &&
make
make install &&
chmod -v 4755 /lib/security/unix_chkpwd &&
mv -v /lib/security/pam_tally /sbin &&
mv -v /usr/lib/libpam*.so.0* /lib &&
ln -v -sf ../../lib/libpam.so.0.81.3 /usr/lib/libpam.so &&
ln -v -sf ../../lib/libpamc.so.0.81.0 /usr/lib/libpamc.so &&
ln -v -sf ../../lib/libpam_misc.so.0.81.2 /usr/lib/libpam_misc.so
for DOCTYPE in html pdf ps txts
do
cp -v -R doc/$DOCTYPE /usr/share/doc/Linux-PAM-0.99.4.0
done
cd ..
rm -rf Linux-PAM-0.99.4.0
exit
------------------------------------------------------------------------------------


01.06
Xorg-6.9.0
http://xorg.freedesktop.org/rele ... 1R6.9.0-src.tar.bz2
http://www.linuxfromscratch.org/ ... 0-luit_race-1.patch
http://www.linuxfromscratch.org/ ... .0-security-4.patch

01.06.01 Xorg-6.9.0
脚本编号:06.01Xorg-6.9.0
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -jxvf X11R6.9.0-src.tar.bz2
cd xc
patch -Np1 -i ../xorg-6.9.0-luit_race-1.patch &&
patch -Np1 -i ../xorg-6.9.0-security-4.patch
sed -i 's@/usr/X11R6@</usr>@' programs/luit/parser.h
sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile
pushd config/util &&
make -f Makefile.ini lndir
popd
mkdir ../xcbuild &&
cd ../xcbuild &&
../xc/config/util/lndir ../xc
cat > config/cf/host.def << "EOF" (特别说明,host.def是俺青铜镜修改过的,俺手痒!建议使用原来的官方文件!)
/* Begin Xorg host.def file */

/* System Related Information. If you read and configure only one
* section then it should be this one. The Intel architecture defaults
* are set for a i686 and higher. If that happens, try
* building without the DefaultGcc2PpcOpt line. ***********/

/* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing -march=athlon-xp */

#define HasFreetype2 YES
#define HasFontconfig YES
#define HasExpat YES
#define HasLibpng YES
#define HasZlib YES

/* Uncomment the following define if you'd like
* xdm to use Linux-PAM
#define HasPam YES
*/

/*
* Which drivers to build. When building a static server, each of
* these will be included in it. When building the loadable server
* each of these modules will be built.
*
#define XF86CardDrivers mga glint nv tga vesa vga \
XF86OSCardDrivers XF86ExtraCardDrivers
*/

/*
* Select the XInput devices you want by uncommenting this.
*
#define XInputDrivers mouse keyboard acecad calcomp citron \
digitaledge dmc dynapro elographics \
microtouch mutouch penmount spaceorb \
summa wacom void magictouch aiptek
*/

/* Most installs will only need this */

#define XInputDrivers mouse keyboard

/* Xterm is no longer built by default */
#define BuildXterm YES

/* Disable building Xprint server and clients until we get them figured
* out but build Xprint libraries to allow precompiled binaries such as
* Acrobat Reader to run.
*/

#define XprtServer NO
#define BuildXprintClients NO

/* Uncomment the following define if you would prefer to install X into
* /usr or change it to any other location that you prefer.
* The GL related defines disable compatibility symlinks (the links
* are not needed when X is installed in /usr).
#define ProjectRoot /usr
#define LinkGLToUsrInclude NO
#define LinkGLToUsrLib NO
*/

/* End Xorg host.def file */
EOF
sed -i -e "s@^#include <linux/config.h>@/* & */@" \
`grep -lr linux/config.h *` &&
( make World 2>&1 | tee xorg-compile.log && exit $PIPESTATUS )
make install &&
make install.man
ln -v -s ../X11R6/bin /usr/bin/X11 &&
ln -v -s ../X11R6/lib/X11 /usr/lib/X11 &&
ln -v -s ../X11R6/include/X11 /usr/include/X11
install -v -d -m755 /usr/share/fonts &&
ln -svn /usr/X11R6/lib/X11/fonts/TTF /usr/share/fonts/X11-TTF

cat >> /etc/ld.so.conf << "EOF" &&
/usr/X11R6/lib
EOF
ldconfig &&
cat >> /etc/profile << "EOF" &&
export PATH=$PATH:/usr/X11R6/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/X11R6/lib/pkgconfig
EOF
/sbin/ldconfig &&
cd ~ &&
Xorg -configure
exit
------------------------------------------------------------------------------------

输入命令测试:
X -config ~/xorg.conf.new
按Ctrl+Alt+backspace退出


01.06.02 Xorg-6.9.0
脚本编号:06.02Xorg-6.9.0
------------------------------------------------------------------------------------
#!/bin/sh
set -e

install -v -m755 -D ~/xorg.conf.new /etc/X11/xorg.conf
cat > ~/.xinitrc << "EOF" &&
# Begin .xinitrc file
xterm -g 80x40+0+0 &
xclock -g 100x100-0+0 &
twm
EOF
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.ICE-unix dir 1777 root root
EOF
exit
------------------------------------------------------------------------------------

    至此,停下来测试你的Xorg是不是可以正常工作了。运行命令:startx
    看到TWM和一个时钟没有?你还可以在TWM里面输入命令:xcalc &
    这样,你还能看到一个计算器!如果你没看到TWM、时钟和计算器,那么青铜镜强烈建议:你一定要好好检查一下,看看哪里出了问题。先把问题解决了再继续进行下去。因为,如果X没装好,那么下面的工作是无意义的。



[color="Red"]补充说明:

[color="Red"]
1
执行下面的命令以后,
cat >> /etc/ld.so.conf << "EOF"
/usr/X11R6/lib
EOF
系统会把/usr/X11R6/lib这一行写入到/etc/ld.so.conf文件里面,
但是,/usr/X11R6/lib只是追加到# End of ld.so.conf这一行后面.
必须得修改一下,把/usr/X11R6/lib放到# End of ld.so.conf这一行的前面!

2
同样,执行下面的命令以后,
cat >> /etc/profile << "EOF"
export PATH=$PATH:/usr/X11R6/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/X11R6/lib/pkgconfig
EOF
系统会把
export PATH=$PATH:/usr/X11R6/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/X11R6/lib/pkgconfig
这两行写入到/etc/profile文件里面,
但是,这两行只是追加到# End of profile这一行后面.
必须得修改一下,把上面的这两行代码放到# End of profile这一行的前面!

修改后,
执行命令:
source /etc/profile
ldconfig
要不然系统会找不到命令.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表