最近做了一个系统,要求系统只保留firefox,开机后直接启动firefox进行网络浏览,X尽可能的小,试验了几种方法,最后选择debootstrap+TinyX+GTK+Firefox的方案。小弟是新手,有不正确的地方请指出。
------------------------------------------------------
本系统完成总共分三大步:
我使用的RAYS LX(基于debian的一个发行版本),这里大家可以用debian/ubuntu.
一、使用debootstrap创建基本系统
1.安装debootstrap
apt-get install debootstrap
2.创建一个目录
mkdir /root/minisys
说明:这里推荐使用一个空余分区,然后mount过来,这样后期处理启动的时候比较方便。
3.创建基本系统
debootstrap --arch i386 sarge /root/minisys
4.删除临时文件
apt-get clean
基本系统即完成,大概为113M;
安装内核、修改GRUB中,从基本系统启动。
二、编译安装tinyx
1.从 下载源码包:
X43src-1~5.tgz,其中X43src-6.tgz和X43src-7.tgz是文档相关的包,可以不进行编译,这里我没有编译这2个包。
2.建立编译环境
apt-get install gcc
apt-get install make
apt-get install autoconf
apt-get install gcc-3.3
apt-get install pkg-config
3.安装相关依赖库
apt-get install bison
apt-get install flex
apt-get install zlib1g-dev
apt-get install libpam0g-dev
apt-get install libncurses5-dev
apt-get install freetype6
apt-get install libpng12-dev
4.准备编译tinyx
mkdir tinyx
mv X430src-*.tgz tinyx
tar zxf X430src-*.tgz
cd xc/config/util
make -f Makefile.ini lndir
cd ../../../
mkdir build
cd build
../sc/config/util/lndir ../xc
cd config/cf/
cp TinyX.cf host.def
5.编辑host.def文件,将其修改为:
#define KDriveXServer YES
#define TinyXServer YES
#define XfbdevServer YES
#define BuildLBX YES
#define BuildFonts YES
#define BuildDBE NO
#define BuildXCSecurity YES
#define FontServerAccess NO
#undef BuildXF86RushEXt
#define BuildXF86RushEXt NO
#undef BuildRender
#define BuildRender YES
#define UseRgbTxt YES
#define BuildFontServer NO
6.cd ../../
touch xf86Date.h
touch Xf86Version.h
7.make World
8. make install
所有文件都被安装在/usr/X11R6和/etc/x11两个目录下
三、安装firefox
这里我用了偷懒的方法,直接安装,如果不直接安装,需要自己编译GTK和Firefox.
apt-get install firefox
然后根据自己的需要安装其他软件包,如果做小型系统,根据实际需求,进行内核和相关库的裁减,这里小弟还在研究,就不班门弄斧了。
四、FAQ
1.启动Xfbdev
需要使用framebuffer,所以实际使用时,需要grub中设置vga=XXX即可
export DISPLAY=:0
/usr/X11R6/bin/Xfbdev &
2.实际使用时鼠标驱动未加载
修改/etc/modules
添加:
modprobe mousedev
modprobe psmouse
启动X时加入参数-mouse /dev/psaux
同理,如果有其他硬件未加载,可以将对应设备加到/etc/modules下。
3.整体启动firefox
编写脚本firefox.sh
#!/bin/sh
export DISPLAY=:0
/usr/X11R6/bin/Xfbdev -mouse /dev/psaux &
firefox
然后保存后,chmod +x firefox.sh
cd /etc/rc2.d
ln -s /root/firefox.sh S90firefox
重新启动系统即可。
阅读(1554) | 评论(0) | 转发(0) |