DragonBoard 410 c debian'kernel 编译以及如何自动加载自定义驱动程序
来源:互联网 发布:数据库系统基础 6 pdf 编辑:程序博客网 时间:2024/06/05 02:25
前言:本篇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.04.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-
二、编译源码
定义编译的配置:
make defconfig distro.config
(选择对应的config文件替换defconfig默认kernel配置文件)编译kernel:
make -j4 Image dtbs KERNELRELEASE=4.4.8-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.8-linaro-lt-qcom)可以通过以下命令获取:
http://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.04/
将其解压到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/****/
sudo vim /etc/moudles 添加模块名称: *****(注意不要后缀)
2 、将模块放到对应的位置,注意将驱动按类别放,我的属于pci就将它放在了drivers下的pci下。
/lib/modules/****/
0 0
- DragonBoard 410 c debian'kernel 编译以及如何自动加载自定义驱动程序
- [随笔]记录Dragonboard 410c编译安装opencv3.1.0以及openni2
- DragonBoard 410c的Little Kernel启动流程分析
- 基于Dragonboard 410c 的自动感应调色灯
- 初识DragonBoard 410c
- 初识DragonBoard 410c
- DragonBoard-410c
- DragonBoard-410c
- Dragonboard-410c
- Dragonboard-410c
- PC机如何利用total control控制DragonBoard 410c
- 驱动程序开机自动加载
- 【DragonBoard】刷Debian系统
- Dragonboard 410C Python体验
- 小白遇“龙板”DragonBoard 410c
- adb调试Dragonboard 410c
- 基于Dragonboard 410c 的自动感应调色灯(二)
- 基于Dragonboard 410c的自动感应调色灯软件方案设计
- Markdown 表格之调整宽度技巧
- oracle透明网关(sqlserver、mysql)
- 浅谈Java变量的初始化顺序详解
- Zend Guard和ionCube两款PHP加密、解密工具对比
- 点击ztree节点,多打开一个_blank窗口
- DragonBoard 410 c debian'kernel 编译以及如何自动加载自定义驱动程序
- 交比总结
- 深入理解java异常处理机制
- HTTP 请求头中的 X-Forwarded-For
- 使用Oracle数据库实现树形结构表的子-父级递归查询和删除,通过级联菜单简单举例
- Android uid和pid安全机制
- arduino传感器数据即插即采方案及数据分析——SD卡模块、大气压模块、双温度计模块与PM2.5模块
- Android WebView播放视频(包括全屏播放),androidwebview
- telnet 和 ping的区别