CentOS交叉编译Raspberry Pi 2 内核

交叉编译工具链在CentOS 6.6 x64需要glibc-2.14支持(x86不需要),所以先安装glibc-2.14

安装前把编译需要的相关工具安装下,我这里直接安装整个组

yum groupinstall “Development tools” -y

下载glibc-2.14源码,编译,安装

wget mkdir /usr/local/glibc-2.14tar xvf glibc-2.14.tar.xzcd glibc-2.14mkdir buildcd build../configure –prefix=/usr/local/glibc-2.14/make && make install

设置临时环境变量

export LD_LIBRARY_PATH=/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH

获取交叉编译工具链,内核,固件(本文使用此方式获取)

wget https://github.com/raspberrypi/tools/archive/master.tar.gz -O tools-master.tar.gzwget https://github.com/raspberrypi/linux/archive/rpi-4.1.y.tar.gz -O linux-rpi-4.1.y.tar.gzwget https://github.com/raspberrypi/firmware/archive/master.tar.gz -O firmware-master.tar.gz

也可以使用git克隆相关仓库:

git initgit clone –depth 1 git://github.com/raspberrypi/linux.gitgit clone –depth 1 git://github.com/raspberrypi/tools.gitgit clone git://github.com/raspberrypi/firmware.git

安装工具链,并添加到环境变量中:

tar xvf tools-master.tar.gz -C /optvim /etc/profileexport PATH=$PATH:/opt/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin. /etc/profilemv linux-rpi-4.1.y linuxcd linux

保证编译目录的干净的(从tar.gz文件解压的话实际上可以省略)

make mrproper

生成内核默认配置文件

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

如想更改配置,运行这下:

#CentOS 6.6 x64 需要执行 yum install ncurses-develmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

设置环境变量

KERNEL=kernel7

开始编译

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

编译结束后,把树莓派的SD卡取下来,挂在到CentOS上

mkdir /mnt/fat32mkdir /mnt/ext4mount /dev/sdb1 /mnt/fat32mount /dev/sdb2 /mnt/ext4

安装模块

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/mnt/ext4 modules_install

复制内核及驱动到SD卡上

#先备份原来的内核cp /mnt/fat32/$KERNEL.img /mnt/fat32/$KERNEL-backup.imgscripts/mkknlimg arch/arm/boot/zImage mnt/fat32/$KERNEL.imgcp arch/arm/boot/dts/*.dtb /mnt/fat32/cp arch/arm/boot/dts/overlays/*.dtb* /mnt/fat32/overlays/cp arch/arm/boot/dts/overlays/README /mnt/fat32/overlays/

更新固件

tar xvf firmware-master.tar.gzcd firmware-master#替换相关文件cp boot/*.dat /mnt/fat32/cp boot/*.elf /mnt/fat32/cp boot/bcm2709-rpi-2-b.dtb /mnt/fat32/

更新vc库

cp -rv hardfp/opt/vc /mnt/ext4/opt/vc

完成后,卸载SD卡

umount /dev/sdb1umount /dev/sdb2

把SD卡插上raspberry pi 2,插上电源,,OK!

在(Raspberry Pi)树莓派上安装NodeJS

Raspberry Pi 树莓派上安装Weston

用于Raspberry Pi 的Linux 操作系统已经可用

Raspberry Pi(树莓派)试用小记

Raspberry Pi(树莓派)的安装、配置IP及软件源等入门

本文永久更新链接地址:

在旅途中,我遇见了你,你我相识是缘分!看着你手中的戒指,

CentOS交叉编译Raspberry Pi 2 内核

相关文章:

你感兴趣的文章:

标签云: