Archlinux 下安装Raspberry PI2 B 交叉编译器

1.Raspberry PI简单介绍
900MHz 主频四核 ARM Cortex-A7 处理器(博通 BCM2836), 交叉编译器一般采用armv7l
1G LPDDR2 SDRAM(Micron)
4个全尺寸 USB 接口(可用于供电)
一个 microUSB 接口
一个全尺寸 HDMI 接口
3.5 毫米音频接口
RJ45 以太网线接口

2.archlinuxarm.org下载对应的交叉编译器,其中包括rootfs
http://archlinuxarm.org/developers/distcc-cross-compiling
或者wget http://archlinuxarm.org/builder/xtools/x-tools7h.tar.xz

3.把x-tools7h.tar.xz解压
tar xJvf x-tools7h.tar.xz
将armv7l-unknown-linux-gnueabihf移动到你准备放置toolchain的目录下
假定我的是/home/zeno/armv7l-unknown-linux-gnueabihf

4.复制目标系统的rootfs
安装倚赖包

pacman -S mtdev
pacman -Ql mtdev
pacman -S sqlite
pacman -S sqlite2
pacman -S sqlite
pacman -S mysql
pacman -S sqlite2
pacman -S icu
pacman -S xorg
pacman -R odroid-c1-libgl-x11
pacman -R odroid-c1-libgl-x11 xf86-video-odroid-c1
pacman -S gpu-viv-bin-mx6q-x11
pacman -S gegl
pacman -S gtk2
pacman -S libgl gtk2
sqlite2

拷贝对应的目录到armv7l-unknown-linux-gnueabihf/armv7l-unknown-linux-gnueabihf/rootfs

4.修改环境变量
export PATH=$PATH:/home/zeno/armv7l-unknown-linux-gnueabihf/bin

5.编写qt的编译脚本
注意,因为本身的toolchain带有的sysroot文件比较少,如果你需要支持更多的开发选项,请复制树莓派系统中的目录来替代现有目录
主要有关系的是sysroot下的目录/home/zeno/armv7l-unknown-linux-gnueabihf/armv7l-unknown-linux-gnueabihf/sysroot/
{etc lib lib32 lib64 sbin usr var}这几个目录

#!/bin/bash
echo 'build Qt5 for embedded linux Author Zhong Chen'
cd ~/Qt5.4.1/5.4/Src/
mkdir ../raspberrypi2-armv7l-linux-gnueabihf
export PATH=$PATH:~/arm-unknown-linux-gnueabihf/bin
$PWD/configure -v \
        -prefix ~/Qt5.4.1/5.4/raspberrypi2-armv7l-linux-gnueabihf/ \
        -confirm-license \
        -opensource \
        -release  \
        -make libs \
        -xplatform armv7l-unknown-linux-gnueabihf \
        -optimized-qmake \
        -pch \
        -qt-sql-sqlite \
        -qt-libjpeg \
        -qt-zlib \
        -no-opengl \
        -no-sse2 \
        -no-openssl \
        -no-nis \
        -no-cups \
        -no-glib \
        -no-xcursor -no-xfixes -no-xrandr -no-xrender \
        -no-separate-debug-info \
        -nomake examples -nomake tools
make -j2 && make install -j2

6.编译完成以后,在QT中配置相关的工具链地址即可。

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Linux分类目录。将固定链接加入收藏夹。