微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > DragonBoard 410c源码编译及系统自动加载驱动方案

DragonBoard 410c源码编译及系统自动加载驱动方案

时间:02-08 来源:互联网 点击:

前言:本篇blog主要是教大家去编译debian‘kernel源码以及如何在编译驱动文件并让系统自动装载驱动。

一、下载资料

1.交叉编译工具(gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz)下载:

http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz或者https://wiki.linaro.org/WorkingGroups/ToolChain

将工具包解压到~/toolchain/

2.源码(kernel-debian-qcom-dragonboard410c-16.09.tar.gz )下载:

https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/refs/

3.解压源码到:~/Dragonboard410c/

4.修改Makefile中:

ARCH ?= arm64

CROSS_COMPILE ?= /home/winston/toolchain/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

二、编译源码

5.定义编译的配置:make defconfig distro.config (选择对应的config文件替换defconfig默认kernel配置文件)

编译kernel:make (make -j4 Image dtbs KERNELRELEASE=4.2.0-linaro-lt-qcom)

6.编译boot image

boot image是由三部分组成的:设备树表镜像(dt.img)、kernel镜像(Image)和init ramdisk镜像

7.下载安装dt工具以及镜像生成工具

sudo apt-get install device-tree-compiler

git clone git://codeaurora.org/quic/kernel/skales

(将下载好的skales目录放在跟~/Dragonboard410c/)

8.编译dt镜像:

./skales/dtbTool -o dt.img -s 2048 ~/Dragonboard410c/kernel_source/arch/arm64/boot/dts/qcom/

init ramdisk镜像(initrd.img-4.4.23-linaro-lt-qcom)可以通过以下命令获取:

http://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.09/

将其解压到Dragonboard410c目录下

9.下面我们就可以生成boot image了:

./skales/mkbooTImg --kernel arch/arm64/boot/Image --ramdisk initrd.img-4.4.8-linaro-lt-qcom --output boot-db410c.img --dt dt.img --pagesize 2048 --base 0x80000000 --cmdline "root=/dev/disk/by-partlabel/rootfs rw rootwait console=ttyMSM0,115200n8"

10.烧写镜像:

sudo fastboot flash boot boot-db410c.img

假如开发板原始系统不是debian系统:

1.下载bootloader

从这里下载Ubuntu bootloader image

2.DragonBoard 410c启动到fastboot模式

首先需要确保S6处于0-0-0-0状态,然后需要通过usb连接到PC机。进入fastboot有两种方法,一种是通过sudo adb reboot bootloader命令进入,另一种是在启动时按住S4(音量 -)键。

3.烧写bootloader

解压缩下载的bootloader,然后进入解压后的目录并执行以下命令烧写bootloader:

sudo ./flashall

因为bootloader部分包括分区信息,所以烧写完bootloader后一定要重新启动一下:

sudo fastboot reboot bootloader

4.下载debian系统的 boot image(boot-linaro-vivid-qcom-snapdragon-arm64-BUILD#.img )和root image (linaro-vivid-developer-qcom-snapdragon-arm64-BUILD#.img)

http://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.09/

三、烧写boot和root镜像

5. sudo fastboot flash boot boot-linaro-vivid-qcom-snapdragon-arm64-BUILD#.img

sudo fastboot flash rootfs linaro-vivid-developer-qcom-snapdragon-arm64-BUILD#.img

6.重启系统

sudo fastboot reboot

7.为图方便直接用sd卡烧写镜像最好。

四、自动装载驱动文件.ko

1 、打开下面文件

sudo vim /etc/moudles 添加模块名称: *****(注意不要后缀)

2 、将模块放到对应的位置,注意将驱动按类别放,我的属于pci就将它放在了drivers下的pci下。

/lib/modules/****/

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top