提供简要移植(交叉编译)过程

以编译arm11架构处理器为列

1)   下载并安装scratchbox

连接:h t t p://www.scratchbox.org/

以上网的文档里有教程也有相关下载

安装好scratchbox建立帐户并设定好新的target

2)  接下来的操作都在scratchbox中

下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中

按照以下顺序编译:

cd zlib-1.2.5

make distclean

./configure --shared --prefix=/usr

make

make install

cd ..

cd glib-2.26.0

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd libpng-1.2.44

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd jpeg-7

make distclean

./configure --enable-shared --enable-static --prefix=/usr

make

make install

cd ..

cd tiff-3.9.4

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd expat-2.0.0

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd freetype-2.4.4

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd atk-1.32.0

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd libxml2-2.7.8

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd fontconfig-2.8.0

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd pixman-0.21.2

make distclean

./configure --disable-arm-neon --prefix=/usr

make

make install

cd ..

cd sqlite-3.7.4

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd tslib-1.0

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd links-1.00

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd openssl-1.0.0c

make distclean

./Configure --prefix=/usr --openssldir=/usr/openssl linux-armv4

make

make install

cd ..

cd Python-2.7

make distclean

./configure --prefix=/usr

make

make install

cd ..

执行 ldconfig

3)编译X11与相关依赖库

h t t p://www.x.org/releases/X11R7.6/src/

在以上网之中把除了everything目录外其他目录中的都下下来(不是都必要,但全下下来省心)并保持原目录结构不变,解压缩

这里假设相关目录督保存在X11R76这个目录下

执行:export PYTHON=/usr/bin/python2.7

1)进入util目录

进入util-macros-1.11.0目录

make distclean

./configure --prefix=/usr

make

make install

2)进入font目录

进入font-util-1.2.0目录

make distclean

./configure --prefix=/usr

make

make install

3)进入proto目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install

目录列表(省略版本号)

bigreqsproto

compositeproto

damageproto

dmxproto

dri2proto

fixesproto

fontsproto

glproto

inputproto

kbproto

randrproto

recordproto

renderproto

resourceproto

scrnsaverproto

videoproto

x11proto

xcmiscproto

xextproto

xf86bigfontproto

xf86dgaproto

xf86driproto

xf86vidmodeproto

xineramaproto

xcb(在xcb目录中)

4)进入lib目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install

目录列表(省略版本号)

libxtrans

libXau

libXdmcp

pthread-stubs(在xcb目录中)

libxcb(在xcb目录中)

util(在xcb目录中)

libX11

libXext

libdmx

libfontenc

libFS

libICE

libSM

libXt

libXmu

libXpm

libXaw

libXfixes

libXcomposite

libXrender

libXdamage

libXcursor

libXfont

libXft

libXi

libXinerama

libxkbfile

libXrandr

libXRes

libXScrnSaver

libXtst

libXv

libXvMC

libXxf86dga

libXxf86vm

libpciaccess

5)进入data目录

进入xbitmaps-1.1.1目录

make distclean

./configure --prefix=/usr

make

make install

6)进入app目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install

目录列表(省略版本号)

bdftopcf

iceauth

luit

mkfontdir

mkfontscale

sessreg

setxkbmap

x11perf

xauth

xbacklight

xcmsdb

xcursorgen

xdpyinfo

xev

xhost

xinit

xinput

xkbcomp

xkbevd

xkbutils

xkill

xlsatoms

xmodmap

xprop

xrandr

xrdb

xrefresh

xset

xsetroot

xvinfo

xwd

xwininfo

xwud

7)进入xserver目录

进入xorg-server-1.9.3目录

make distclean

./configure --disable-glx --enable-dri=no --enable-dri2=no --prefix=/usr

make

make install

8)进入driver目录

分别进入以下目录,执行以下命令

make distclean

./configure --prefix=/usr

make

make install

目录列表(省略版本号)

xf86-input-evdev

xf86-input-keyboard

xf86-input-mouse

xf86-input-void

xf86-input-tslib

xf86-video-fbdev

至此xorg server 编译完毕

4)编译gtk与相关依赖库

接下来的操作都在scratchbox中

下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中

按照以下顺序编译:

ldconfig

cd cairo-1.10.0

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd pango-1.28.3

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd gtk+-2.20.1

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd libiconv-1.13.1

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd gtk-engines-2.20.1

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd libmatchbox-1.9

make distclean

./configure --prefix=/usr

make

make install

cd ..

cd matchbox-window-manager-1.2

make distclean

./configure --prefix=/usr

make

make install

cd ..

ldconfig

至此gtk+编译完成

到此为止X11(xorg)与gtk全部的文件都安装在scratchbox但前tatget下的/usr目录下,

可以将这个目录烧写到硬件文件系统的/usr下,或通过nfs加载

以上只是大致的步骤,交叉编译xorg是一件很繁琐的事情,需要有耐心,出现错误要多看错误信息与察看configure文件,多google

以上编译选项可在armv5,armv6下运行

另外如果是编译armv4架构的要在所有的编译选项处加上-march=armv4t

另外如果是编译armv7架构的要在所有的编译选项处加上-mthumb -march=armv7-a

以上编译出的xorg基本上具有全部功能与特性,没有经过什么裁减

可以根据实际需要查看configure的设定进行适当裁减

linux+arm+移除X11,关于ARM GTK/X11的问题,懂的指点一下相关推荐

  1. ida 反编译 linux bin,使用IDA pro逆向ARM M系核心的Bin固件

    物联网和智能设备这两年还是比较火的,我们的手中或多或少都有了几个智能设备,比如手环,智能手表,或者门锁什么之类的东西,但是同学们在做逆向的时候,却有很多问题.要不然是根本拿不到固件,要不然是拿到了Bi ...

  2. linux中断响应时间太慢_linux+arm系统学习与基础学习

    先说说arm吧.先前学习linux+arm老是觉得arm次要的,学习arm和学习单片机一样,了解了中断,UART,AD,定时器就差不多了,工作重心主要在linux上面.随着时间的推移,学习的深入,自我 ...

  3. arm与linux的些许问题,《ARM与Linux些许问题》第一章:ARM工作模式

    早期的ARM核有状态(ARM或Thumb)切换(通过BX等指令修改CPSR寄存器(当前程序状态寄存器,存放条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息)中T的控制位完成程序状态的切换) ...

  4. 嵌入式系统Linux内核开发实战指南(ARM平台) 书评

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...

  5. arm linux 进程页表,linux内存管理(五)arm页表

    最近比较忙,好多天没更新了,后面可能还需要20多篇文章才能把整个内存管理讲透. 前面讲述了一个通用的页表机制,以及简单介绍了TLB.今天会介绍arm的页表机制,这里特指32位arm. 目前内核提供了一 ...

  6. linux实验——使用qemu模拟器搭建arm运行环境

    目录 文章目录 **我的环境:** VMware Ubantu14.04 64位 Linux内核 4.4.0-137-generic 步骤 下载Linux内核 因为内核版本过高,影响后面搭建,下载li ...

  7. Linux——Linux驱动之基本理论常识总结(什么是Linux驱动?Linux驱动需要掌握哪些?ARM处理体系架构及前世今生)

     [系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <从0到1学习嵌入式Linux开发> 目录 0 ...

  8. Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本

    Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本 首先参考http://wiki.chumby.com/index.php?title=Lua&print ...

  9. 嵌入式系统的组成、嵌入式处理器分类总结、ARM处理器系列总结、ARM Cortex-M3体系结构总结!

    一.嵌入式系统的组成 嵌入式系统的组成主要由:嵌入式硬件系统.嵌入式软件系统. (1)嵌入式硬件系统主要包括:嵌入式处理器.存储器.模拟电路.电源.接口控制器.接插件等 1)嵌入式处理器:是嵌入式系统 ...

最新文章

  1. maven java archetype_使用Maven Archetype创建Java项目模板
  2. firstchild.data与childNodes[0].nodeValue意思
  3. 进程间通信(IPC)之内存映射mmap和共享内存shm
  4. 飞利浦css6530b评测,带多种输入模式 无线接收器很方便_飞利浦 CSS6530B/93_音频评测-中关村在线...
  5. C#下实现的K-Means优化[1]-「离群点检测」
  6. iOS中如何旋转UIView
  7. python游戏服务器搭建教程_游戏服务端pomelo安装配置
  8. Delphi中的异常处理
  9. HTML 5 学习笔记之 canvas 标签
  10. windows 无法停止ics_x64仿真功能加入 ARM版Windows即将获得大量的应用程序
  11. wireshark解密本地https流量笔记
  12. 怎样查看sql服务器日志文件,怎么通过sql日志,查看以前执行过的sql语句
  13. 四旋翼无人机的动力学模型
  14. 深入浅出golang的chan
  15. 然而大部分工程师的期权并没有什么用
  16. 计算机组装防静电措施,浅谈组装电脑如何防静电与去除机箱静电的方法
  17. 几个常见的逻辑训练及参考答案
  18. 【12月原创】RT-thread - 柿饼UI ——范进中举
  19. android 7.0 新功能介绍(Nougat)
  20. 运维网络设备监控平台搭建,网管平台 智能化网 管解决方案,实现智能拓扑管理

热门文章

  1. kaggle房价预测特征意思_Kaggle初探--房价预测案例之数据分析
  2. Python菜鸟入门:day12编程学习
  3. 毫秒间完成行为分析,飞猪端智能技术实践!
  4. 微软发布 VS Code Jupyter 插件!不止 Python,多语言的 Jupyter Notebook支持来了!
  5. 疾速激爽,电竞玩家的心仪之选:AMD 锐龙 5000 系列登场!
  6. Scikit-Learn 学得如何?程序员不容错过十大实用功能来袭
  7. 微信回应 WeTool 被封事件;支付宝小程序开放直播功能;Raspberry Pi 4 发布 8GB 版本| 极客头条...
  8. 劳荣枝潜逃 23 年落网,多亏了它!
  9. 开幕倒计时3天 | 2019中国大数据技术大会(BDTC)邀您一同共赴大数据+AI盛宴!...
  10. 滴滴“负重”387天