移植Linux到嵌入式系统,移植XFree86(Tinyx)到Linux Arm嵌入式系统

本文详细介绍了如何从XFree86仓库获取源码,并使用Crosstools构建TinyX服务器。步骤包括设置构建系统、配置TinyX与XFree86、编译XFree86以及启动TinyX。过程中涉及到的配置文件如host.def和cross.def用于定义编译选项和工具路径。最后,通过make install安装并启动TinyX服务器。
摘要由CSDN通过智能技术生成

1). Get source code from XFree86 repository (www.XFree86.org)

XFree86-4.8.0-src-1.tgz

XFree86-4.8.0-src-2.tgz

XFree86-4.8.0-src-3.tgz

XFree86-4.8.0-src-4.tgz

XFree86-4.8.0-src-5.tgz

XFree86-4.8.0-src-6.tgz

XFree86-4.8.0-src-7.tgz

2).Setup building system

Cross tools like gcc, binutility.

Export your cross tools directory by the command

export CROSSTOOLS=/opt/crosstools/arm

PATH=$PATH:$(CROSSTOOLS)/bin

3).Configure Tinyx with XFree86

Extract files from src tgz

tar xfz XFree86-4.8.0-src-1.tgz

tar xfz XFree86-4.8.0-src-2.tgz

tar xfz XFree86-4.8.0-src-3.tgz

.

.

tar xfz XFree86-4.8.0-src-7.tgz

Two configuration files of tinyx with XFree86

config/cf/host.def        tinyx settings

config/cf/cross.def       cross tools settings

The host.def configuration file

#undef CrossCompiling

#define CrossCompiling        YES

#define BuildServer              YES

#define BuiltinRGB                YES

#define BuildServerOnly         NO

#define BuildClients            !BuildServerOnly

#define BuildLibraries                YES

#define HasSharedLibraries      YES

#define TinyXServer              YES

#define XfbdevServer           YES

#define BuildBuiltinFonts        YES

#define BuildFonts                YES    /* 各种点阵和矢量字库需要定制 */

#define XF86CardDrivers       fbdev

#define XInputDriver             mouse keyboard

The cross.def configuration file

#undef i386Architecture

#define Arm32Architecture

#undef OptimizedCDebugFlags

#define OptimizedCDebugFlags     -O2

#define ServerCDebugFlags          -O2

#undef StandardDefines

#define StandardDefines        -Dlinux -D__arm__ -D_POSIX_SOURCE \

-D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE

#undef StdIncDir

#define StdIncDir /opt/crosstools/arm/eldk/armVFP/usr/include  /* C 库头文件目录 */

#define PostIncDir

/opt/crosstools/arm/eldk/armVFP/usr/lib/gcc/arm-linux-gnueabi/4.2.2/include

#define CppCmd arm-linux-cpp        /* 各种编译器 */

#define CplusplusCmd arm-linux-g++

#define HostCcCmd gcc -m32 -O2

#include

4). Build XFree86

cd xc

make World  /* 若有类似 "Unsupported size of `int' type!" 的错误,查看系统 limits.h 包含关系;出现编译错误,一定是编译环境出问题 */

make install  /* 会生成 bin , lib , include 相关目标对象 */

5).Startup Tinyx

Xfbdev ?  /* help */

Xfbdev :0 -nolisten tcp -mouse /dev/input/mice,5 -br >/dev/null 2>&1

xinit /usr/bin/xclock -geometry 80x66+0+0 -- /usr/bin/Xfbdev :0 -br -nolisten tcp0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值