|
X.org7.3安装笔记
花了三天的时间才安装好了X.org7.3,现在做个总结
你需要找个大点的分区建立一个目录将源代码全放在这个目录下面
- mkdir /home/blfs/xorg7.3
- mkdir /home/blfs/org
复制代码
我建立了两个目录,xorg7.3用来存放xorg7.3的代码,org用来存放与xorg相关的源代码
在- http://xorg.freedesktop.org/releases/X11R7.3/src/
复制代码 上下载xorg7.3的源代码,除了everything这个目录以外,其它的目录全部下载,然后存到/home/xorg7.3,当然driver目录下的文件你可以只下载你需要的。顺便再说一下,下个月xorg7.4就要放出来了,不过目前已经有很多程序已经完成了,你可以在- http://www.x.org/wiki/Releases/7.4/
复制代码 这里下载,替换掉xorg7.3中的包。
如果你不明白怎么编译xorg可以看这里- [url]http://cblfs.cross-lfs.org/index.php/Xorg7/Intro[/url
复制代码 ],CBLFS上有详细的说明,BLFS好像目前只更新到了xorg7.2。
1、先做安装前的准备工作
- export XORG_PREFIX="/usr/X11R7"
复制代码
设置你的Xorg安装目录我用的是/usr/X11R7
- cat >> /etc/ld.so.conf << EOF
- # Begin Xorg addition to /etc/ld.so.conf
- ${XORG_PREFIX}/lib
- # End Xorg addition to /etc/ld.so.conf
- EOF
复制代码
将/usr/X11R7/lib加入到你的ld.sc.conf文件中去
[color="red"]安装pkg-config
pkgconfig是用来在编译脚本中向编译器传递头文件包含路径或库文件路径的程序。
PKG_CONFIG_PATH 的缺省设置是 /lib/pkgconfig, /usr/lib/pkgconfig 和 /usr/local/lib/pkgconfig。它将在这些目录下面搜索库文件的元信息文件,当然我们也可以使用PKG_CONFIG_PATH来定义pkg-config的搜索路径。
先下载pkg-config
- wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.22.tar.gz
复制代码
然后安装它
- tar xvf pkg-config-0.22.tar.gz
- cd pkg-config-0.22
- ./configure --prefix=/usr &&
- make
- make install
复制代码
将/usr/X11R7/lib加入到pkg-config的搜索路径中去。
- export PKG_CONFIG_PATH=/usr/X11R7/lib:/lib/pkgconfig:/usr/lib/pkgconfig
复制代码
现在开始正式安装Xorg了
[color="red"]先要安装的是Xorg7/Protocol Headers
需求:Protocol Headers的安装需要前面安装的pkg-config
进入到存有Protocol Headers的目录下面,以后的操作都在是存有Xorg源代码的目录下,所以后面就不再写什么cd...了
运行下面的程序,将所有的包全部解开,如果你下的是gz的包哪么自己改一下吧。
- for i in *.tar.bz2; do
- tar xvf $i;
- done
复制代码
开始编译,和上面一样,用脚本来做,要不然一个一个编译要累死的。
- for dir in `find . -maxdepth 1 -mindepth 1 -type d`; do
- cd $dir &&
- PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
- make install
- cd ..;
- done
复制代码
[color="red"]安装Xorg7/Utilities
需求:Utilities的安装需要前面安装的两个包pkg-config和Protocol Headers,如果前面的安装没有完成,这里也安装不下去的。
进入到目录下面,和前面一样,用脚本解开所有的包
- cd /home/xorg7.3/util
- for i in *.tar.bz2; do
- tar xvf $i;
- done
复制代码
[color="red"]先安装xorg-cf-files-1.0.2.tar.bz2
- cd xorg-cf-files-1.0.2
- sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure $XORG_CONFIGN &&
- make install
复制代码
[color="red"]其次是imake-1.0.2、gccmakedep-1.0.2、imake-1.0.2、lndir-1.0.1、makedepend-1.0.1、util-macros-1.1.5
使用下面的命令就可以了。
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure $XORG_CONFIGN &&
- make &&
- make install
复制代码
现在我们开始安装Xorg7/Libraries,不过在这之前先要解决它的依赖关系,我们需要先安装一些软件,它们是:FreeType、FontConfig、expat、xcb-proto、libpthread-stubs、libxcb、xcb-utils、LibXSLT、Gperf、LibXML2
- wget http://downloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2
- wget http://downloads.sourceforge.net/freetype/freetype-doc-2.1.10.tar.bz2
- wget http://fontconfig.org/release/fontconfig-2.4.2.tar.gz
- wget http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
- wget http://xcb.freedesktop.org/dist/xcb-proto-1.0.tar.bz2
- wget http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2
- wget http://xcb.freedesktop.org/dist/libxcb-1.0.tar.bz2
- wget http://svn.cross-lfs.org/svn/repos/patches/libxcb/libxcb-1.0-sloppy_lock-1.patch
- wget http://xcb.freedesktop.org/dist/xcb-util-0.2.tar.bz2
- wget ftp://xmlsoft.org/libxml2/libxslt-1.1.22.tar.gz
- wget ftp://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.3.tar.gz
- wget ftp://xmlsoft.org/libxml2/libxml2-2.6.31.tar.gz
复制代码
其中freetype-doc-2.1.10.tar.bz2这个是freetype的方档,可以不下载的。
[color="red"]LibXML2、Gperf、LibXSLT使用下面的命令来安装。
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure --prefix=/usr &&
- make &&
- make install
复制代码
XCB系列的包则安装到/usr/X11R7目录下去,注意,Libxcb这个包需要打上补丁,命令是patch -Np1 -i libxcb-1.0-sloppy_lock-1.patch。
[color="red"]Xcb-proto、Libpthread-stubs、Libxcb、Xcb-utils的安装
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
[color="red"]安装expat-2.0.1
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure --prefix=/usr &&
- make &&
- make install
复制代码
- install -v -m755 -d /usr/share/doc/expat-2.0.1 &&
- install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-2.0.1
复制代码 和LibXML2、Gperf等的命令一样,只不过是最后多了两个安装文档的命令,可以省去
最后安装FreeType和FontConfig
[color="red"]先安装FreeType,因为FontConfig的安装需要FreeType。
- sed -i -r 's:.*(#.*BYTE.*) .*:\1:' include/freetype/config/ftoption.h
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure --prefix=/usr &&
- make &&
- make install
复制代码
如果你打算安装FreeType的文档的话,要在运行上面的命令之前就将它解压到docs目录下,命令如下:
- tar xf ../freetype-doc-2.1.10.tar.bz2 --strip-components=2 -C docs
复制代码
然后在做完make install 后安装docs
- install -v -m755 -d /usr/share/doc/freetype-2.1.10 &&
- cp -v -R docs/* /usr/share/doc/freetype-2.1.10
复制代码
[color="red"]安装FontConfig
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" \
- ./configure --prefix=/usr --sysconfdir=/etc \
- --disable-docs --localstatedir=/var --without-add-fonts \
- --with-docdir=/usr/share/doc/fontconfig-2.4.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.4.2/fontconfig-devel &&
- install -v -m644 doc/*.{html,pdf,txt} /usr/share/doc/fontconfig-2.4.2 &&
- install -v -m644 doc/fontconfig-devel/* /usr/share/doc/fontconfig-2.4.2/fontconfig-devel
复制代码
最后的5条命令是安装FontConfig的文档,可以省去这一步
在./configure运行时可选择的选项
--enable-libxml2 打开libxml2支持
[color="red"]现在安装Xorg7/Libraries的准备工作都已经完成了,可以安装Libraries了
先下载软件列表
- wget http://cblfs.cross-lfs.org/index.php/Special:Filepath/Lib-7.3.wget
复制代码
老规矩先解开所有的包
- for i in *.tar.bz2; do
- tar xjvf $i;
- done
复制代码
然后用下面的脚本开始编译,Lib-7.3.wget就是刚才用wget下载的文件,我将它和lib的包放在一起所以没有指定目录
- for dir in `sed "s/.tar.bz2//g" Lib-7.3.wget`; do
- cd ${dir} &&
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
- make &&
- make install &&
- cd ..;
- done
复制代码
可以加的参数太多了,说点有用的
libX11这个包可以使用--enable-loadable-i18n这个参数,它将打开i18n的国际化支持。所以建议打开,你可以单独编译一下这个包。其它的参数可以通过./configure --help来查看。
[color="red"]安装Xorg7/libdrm
命令如下:
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
[color="red"]安装Xorg7/MesaLib
MesaLib是一套类似于openGL或是DX的接口程序。目前BLFS手册上使用的是6.5的版本,而我们要安装的是MesaLib-7.0.2。
先下载所需要的代码:
- wget http://downloads.sourceforge.net/mesa3d/MesaLib-7.0.2.tar.bz2
- wget http://downloads.sourceforge.net/mesa3d/MesaDemos-7.0.2.tar.bz2
- wget http://downloads.sourceforge.net/mesa3d/MesaGLUT-7.0.2.tar.bz2
- wget http://svn.mandriva.com/svn/packages/cooker/mesa/current/SOURCES/mesa-7.0.2-build-config.patch
复制代码
将它们全部解压
- tar xvf MesaLib-7.0.2.tar.bz2
- tar xvf MesaDemos-7.0.2.tar.bz2
- tar xvf MesaGLUT-7.0.2.tar.bz2
复制代码
然后进入到目录中打上补丁
- patch -Np1 -i ../mesa-7.0.2-build-config.patch
复制代码
连接目录
- ln -sf linux-dri configs/current
复制代码
再做一点小小的设置,主要是路径
- echo 'X11_INCLUDES = $(shell pkg-config --cflags-only-I x11)' >> configs/current &&
- echo 'CFLAGS += $(X11_INCLUDES)' >> configs/current &&
- echo 'EXTRA_LIB_PATH = $(shell pkg-config --libs-only-L x11)' >> configs/current &&
- echo "DRI_DRIVER_INSTALL_DIR = ${XORG_PREFIX}/lib/xorg/modules/dri" >> configs/current &&
- echo "INSTALL_DIR = /usr" >> configs/current &&
- echo "LIB_DIR = lib" >> configs/current
复制代码
最后可以开始编译和安装了
- make default &&
- make install &&
- make -C progs/xdemos glxinfo glxgears &&
- install -m755 -v progs/xdemos/{glxinfo,glxgears} /usr/bin
复制代码
[color="red"]安装Xorg7/xbitmaps
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
[color="red"]安装Libpng
Libpng:png的库,Xcursorgen这个包需要它的支持,所以要先安装上。
取得Libpng
- wget http://downloads.sourceforge.net/libpng/libpng-1.2.24.tar.bz2
复制代码
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
文档的安装,可以省去。
- install -v -m755 -d /usr/share/doc/libpng-1.2.24 &&
- install -v -m644 README libpng-1.2.24.txt /usr/share/doc/libpng-1.2.24
复制代码
[color="red"]安装Xorg7/Apps
Apps是Xorg的一部分,主要是一些程序像启动Xorg的startx、时钟等。
先取得文件列表
[HTML]wget http://cblfs.cross-lfs.org/index.php/Special:Filepath/App-7.3.wget[/HTML]
然后解开全部的包
- for i in *.tar.bz2; do
- tar xvf $i;
- done
复制代码
最后开始编译
- for dir in `sed "s/.tar.bz2//g" ../App-7.3.wget`; do
- cd ${dir} &&
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
- make &&
- make install &&
- cd ..;
- done
复制代码
这个列表是官方的列表,但是好像有点问题,我编译完Xorg并配置好了xorg.conf后输入startx发现居然没有startx这个命令,
只好手动编译了一次。至于Apps目录下的其它包没有试过,不知道是不是全部编译了。
[color="red"]安装Perl Module XML:arser
这个是Xorg7/Data需要的支持,所以要先安装上,顺便说一下Perl Module XML:arser需要Expat的支持,不过我们在前面已经安装过了.
取得XML-Parser-2.36.tar.gz
- wget http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz
复制代码
解压
- tar xvf XML-Parser-2.36.tar.gz
复制代码
进入刚才解压的目录运行下面的命令
- sed -i 's@<PERL_DESTDIR>@@g' Makefile
复制代码
然后开始编译,最后一个命令是做个测试。
- perl Makefile.PL &&
- make &&
- make test
复制代码
如果测试没有问题,就可以安装了。
[color="red"]安装Xorg7/Data
一共就两个包。
xcursor-themes的编译命令如下:
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
xkeyboard-config的编译命令如下:
- PKG_CONFIG_PATH="${PKG_CONFIG_PATHN}" ./configure $XORG_CONFIG \
- --with-xkb-base=${XORG_PREFIX}/share/X11/xkb \
- --with-xkb-rules-symlink=xorg --enable-compat-rules &&
- make &&
- make install
复制代码
[color="red"]安装Xorg7/Fonts
38个字体,Xorg全是内置的
取得包列表
- wget http://cblfs.cross-lfs.org/index.php/Special:Filepath/Font-7.3.wget
复制代码
解开所有的包
- for i in *.tar.bz2; do
- tar xvf $i;
- done
复制代码
然后开始安装
- for dir in `sed "s/.tar.bz2//g" ../Font-7.3.wget`; do
- cd ${dir} &&
- sed -i 's:${libdir}/X11/fonts:/usr/share/fonts:g' configure &&
- PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
- make &&
- make install &&
- cd ..;
- done
复制代码
这个要花点时间,不过也不太长,可能是我的电脑慢了吧。
[color="red"]安装Pixman
因为Xorg7/Xserver需要它。
取得
- wget http://xorg.freedesktop.org/archive/individual/lib/pixman-0.9.5.tar.bz2
复制代码
编译的命令基本上都是一样的
- PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
[color="red"]安装Xorg7/Xserver这个是Xorg最主要的东东了,核心的家当全在这里了
先解压出来,然后打上补丁
- patch -Np1 -i ../xorg-server-1.4-paint_it_black-1.patch
复制代码
最后一行指定了Mesa的安装目录,如果你先前安装Mesa时没有吧源代码目录删除的话,这里可以指定它的位置,如果你已经安装了Mesa的话可以吧最后一行删除。
- sed -i '/xpconfigdir=/s@=.*@=$datadir/X11/xserver@' configure &&
- sed -i '/-DXPRINTDIR/s/libdir/datadir/' hw/xprint/Makefile.in &&
- ./configure $XORG_CONFIG --enable-install-setuid \
- --with-dri-driver-path="${XORG_PREFIX}/lib/xorg/modules/dri" \
- --with-fontdir="/usr/share/fonts" \
- --with-mesa-source="${PWD}/../Mesa-7.0.2"
复制代码
编译并安装它
快完了,忍赖一下
[color="red"]安装Xorg7/Drivers主要是Xorg的驱动,可以选择你需要安装,别傻乎傻乎的全装了,因为哪没有什么用。
我只安装了下面三个驱动。
xf86-input-mouse
xf86-input-keyboard
xf86-video-nv
顺便说一下所有的驱动都是用下面的命令编译。
- PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG &&
- make &&
- make install
复制代码
[color="red"]安装Xorg7/xterm
说实话,你可安装一个对中文支持更好的终端机,不过偶一般比较懒,所以直接用这个了
取得xterm
- wget ftp://invisible-island.net/xterm/xterm-231.tgz
复制代码
- PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" ./configure $XORG_CONFIG \
- --enable-wide-chars \
- --with-app-defaults=${XORG_PREFIX}/share/X11/app-defaults &&
- make
- make install &&
- make install-ti
复制代码
还有一个Xorg7/rman,这个东西很少用,基本上我都是开个终端看man的,所以没有安装。
[color="Red"]配置XorgOK,需要编译的东西到这里基本上就完了,现在只需要配置一下就可以看见桌面了
做目录连接
- ln -sv ${XORG_PREFIX}/bin /usr/bin/X11
- ln -sv ${XORG_PREFIX}/include/X11 /usr/include/X11
- ln -sv ${XORG_PREFIX}/lib/X11 /usr/lib/X11
复制代码
回到用户目录,然后开始配置Xorg并生成一个名为xorg.conf.new的配置文件
修改一下你的xorg.conf.new,具体内容自己改
然后使用新的配置文件启动X,如果没有问题,就可以安装到/etc/X11/目录中了
- X -config ~/xorg.conf.new
- install -v -m755 -D ~/xorg.conf.new /etc/X11/xorg.conf
复制代码
完成,收工
[color="Red"]安装一个桌面fluxbox,最喜欢它了,又小,又快,功能也不错。
取得fluxbox
- wget http://prdownloads.sourceforge.net/fluxbox/fluxbox-1.0rc2.tar.bz2
复制代码
编译命令:你可以不加上打开imlib2的参数,这样也可以正常编译,同时你也可以指定安装的位置到/usr/X11R7下面,都可以在这里指定。如果需要安装imlib2的话,它将需要reeType、 libpng 、libjpeg包的支持,你也可以选择性的加上LibTIFF、GifLib、libid3tag这三个包
安装fluxbox
- ./configure --prefix=/usr --enable-imlib2 &&
- make
- make install
复制代码
[color="red"]imlib2的编译命令
其它包的编译命令同fluxbox一样除不用指定--enable-imlib2
- CPPFLAGS="-I${XORG_PREFIX}/include" \
- ./configure --prefix=/usr &&
- make
复制代码
现在启动X吧,几秒钟以后你将会看到一个超简洁的桌面。
[color="Red"]最后问个问题,有哪位懂menu这个程序,就是以前debian下的menu可以在安装新的程序后自己更新桌面菜单的,我已经折腾了2天了,还没有搞定,主要是不会设置,man已经看过了也没有办法:mad::mad::mad::mad::mad: |
|