设为首页 加入收藏

TOP

移植XFree86(Tinyx)到Linux Arm嵌入式系统
2014-11-24 08:22:42 来源: 作者: 【 】 浏览:0
Tags:移植 XFree86 Tinyx Linux Arm 嵌入式 系统

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 tcp


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于Linux端php实现守护进程 下一篇mini2440开发板安装ssh

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)
·MySQL 数据类型:从 (2025-12-26 18:20:03)
·Linux Shell脚本教程 (2025-12-26 17:51:10)
·Qt教程,Qt5编程入门 (2025-12-26 17:51:07)