DragonBoard 410c源码编译及系统自动加载驱动方案
前言:本篇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/****/
DragonBoard 410c 相关文章: