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/****/

【技术分享】国产操作系统AWorks LP — 科技自立自强的排头兵
基于S3C2410A嵌入式处理器实现风力发电监控系统的应用设计
三星Galaxy S21有望采用强化版的聚碳酸酯后盖
基于区块链Trecento一体化资本投资解决方案
芯盾时代中标甘肃省医疗保障局,依法保护数据安全
DragonBoard 410c源码编译及系统自动加载驱动方案
摩尔线程协同紫光计算机,成功中标某大型国有银行台式电脑采购项目
高通推出最新芯片组Snapdragon XR2 将进一步推动移动XR设备的发展
SMT贴片加工中BGA芯片的拆卸方法
芯片供应再度紧缺 联发科等厂提前下达明年一季度投片需求
GTC23 | 小马智行为美团自动配送打造自动驾驶域控制器,基于 NVIDIA DRIVE Orin 芯片
隆基发布单晶硅片价格公示 166单晶硅片迎11个月以来首次降价
二极管构成的自动控制电路
S7-200 SMART数字量I/O接线图
SpaceX启动一系列计划 推出了坦克状的新式火箭回收机器人
我国推出的辅助促进人类睡眠的机器人,为失眠患者带来了福音
胆石混合功放及石机功放制作电路图
集中式智能电表的抗干扰设计
轴承选型注意事项与热装方法
苹果不全面靠拢OLED屏幕,将推出TFT-LCD廉价版iPhone X