怎么为DragonBoard 410c定制Linaro Linux系统

原创 2015年11月20日 13:30:05

  我们在前面博客中已经介绍过,DragonBoard 410c兼容96Boards消费版(CE)规范。咱们先来了解一下96Boards规范。
  96Boards 是 ARM 开放平台规范,是第一个定义 Cortex-A 开发板的开放规范,该规范由Linaro社区委员会组织维护。标准化扩展 Peripheral I/O 总线,显示和相机等。定位移动、嵌入及数字家庭领域。允许硬件生态系统开发一系列兼容组件的产品,在其生命周期可以在任意兼容 96Boards 的平台上使用。
  DragonBoard 410c基于Linaro的96board规范,有助于开发商、制造商、大学和商业制造商利用骁龙410处理器的能力,例如下一代机器人、医疗设备、楼宇自动化、数字标牌和游戏机等。
  上一篇博客已经介绍了Android系统的定制方法,今天将介绍如何为DragonBoard 410c定制Linaro Linux系统。


环境准备

1、交叉编译环境准备

  DragonBoard 410c是一个64位的ARMv8平台,所以在PC机上编译ARM架构的代码需要交叉编译环境。首先下载Linaro GCC cross compiler,然后将下载的压缩包解压到你自己指定的目录下:

~/DragonBoard/toolchain/:
tar xvf gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz


2、下载Linux Kernel源码

  Linux Kernel的代码信息可以通过 Linaro Qualcomm Landing Team git repository来查找。
这里写图片描述
  根据tags信息,我们可以看到,DragonBoard 410c的最新Linux源码是15.09版本,下面我们来下载Linux源码。

~/DragonBoard/
git clone -n http://git.linaro.org/landing-teams/working/qualcomm/kernel.git
cd kernel
git checkout -b kernel-15.09 ubuntu-qcom-dragonboard410c-15.09

  现在,我们已经下载到Linux源码了,大家可以根据自己的需要修改kernel代码。


3、编译kernel

  首先,我们先要设置环境变量:

export ARCH=arm64
export CROSS_COMPILE=<path to your GCC cross compiler>/aarch64-linux-gnu-

  前面第一步我们已经下载了交叉编译器,所以CROSS_COMPILE设置为如下:

export CROSS_COMPILE=~/DragonBoard/toolchain/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

  在15.09版本上存在一个build的问题,所以我们需要通过cherry-pick来修复一下:

git cherry-pick -n e4df9dd88bb3b37d84db277e0f6a5d59cf5ac737

  已经万事俱备了,下面我们开始编译kernel:

make defconfig distro.config
make -j4 Image dtbs KERNELRELEASE=4.2.0-linaro-lt-qcom

4、编译boot image

  boot image是由三部分组成的:设备树表镜像(dt.img)、kernel镜像(Image)和init ramdisk镜像。kernel镜像我们在上面已经编译出来了,下面我们来看看其他两部分从哪里获取。
  首先,我们需要下载安装dt工具以及镜像生成工具。

sudo apt-get install device-tree-compiler
git clone git://codeaurora.org/quic/kernel/skales

  然后,编译dt镜像:

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

  init ramdisk镜像可以通过以下命令获取:

wget http://builds.96boards.org/releases/dragonboard410c/linaro/ubuntu/15.09/initrd.img-4.2.0-linaro-lt-qcom

  已经都准备好了,下面我们就可以生成boot image了。

./skales/mkbootimg –kernel arch/arm64/boot/Image \
         –ramdisk initrd.img-4.2.0-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”


5、烧写boot image

  在烧写前,我们可以先测试一下boot image能否正常工作。

sudo fastboot boot boot-db410c.img

  如果可以正常启动,那么我们就可以通过fastboot命令烧写了。

sudo fastboot flash boot boot-db410c.img

版权声明:本文为博主原创文章,未经博主允许不得转载。

关于DragonBoard 410c的串口转usb连接

嵌入式开发过程中,开发板因为缺乏键盘和显示器,我们难以在直接对硬件进行操作,这个时候,通过一台机器的串口对其余主机进行控制不失为一种快捷、有效的方法。 因此对于嵌入式工程师来说,UART一定不会陌生。...
  • fengyin_12
  • fengyin_12
  • 2015年11月26日 22:24
  • 1064

DragonBoard 410c HDMI配置的艰辛路

笔者ARM萌新,一直在学习ARM的相关知识,2016年一月份到货的DragonBoard 410c,是支持ARMv8指令集的开发板,在拿到这个板子之后,十分欣喜,然而万恶的高通或者是淘宝卖家,只是孤零...
  • u010071291
  • u010071291
  • 2016年02月24日 16:42
  • 1204

手把手教大家编译debian源码以及安装系统---基于dragonboard410c

前言: 这段时间正在用dragonboard410c做个小项目,其中用的就是debian系统,由于涉及到底层需要修改dts以及编译驱动文件,故需要编译源码以及要用到编译好的镜像系统。在96board上...
  • weijory
  • weijory
  • 2016年12月08日 12:01
  • 1958

怎么为DragonBoard 410c定制Linaro Linux系统

DragonBoard 410c兼容96Boards消费版(CE)规范。96Boards 是 ARM 开放平台规范,是第一个定义 Cortex-A 开发板的开放规范,该规范由Linaro社区委员会组织...
  • cuichuankai
  • cuichuankai
  • 2015年11月20日 13:30
  • 1615

基于开发板DragonBoard 410c的应用开发和部署

基于开发板DragonBoard 410c的应用开发和部署 DragonBoard 410c 旨在支持快速软件开发和原型设计,推动新发明和新产品的商业化,从而将骁龙410处理器的高性能和丰富功能带给...
  • awangqm
  • awangqm
  • 2016年05月27日 17:53
  • 873

怎么为DragonBoard 410c定制Android系统

上一篇博文《初识DragonBoard 410c》已经为大家简单介绍了DragonBoard 410c这款平台,并且也介绍了Ubuntu系统和Android系统烧写方法。今天,将介绍一下Android...
  • cuichuankai
  • cuichuankai
  • 2015年11月16日 15:25
  • 3353

Dragonboard-410c - Debian系统的fastboot方式安装

Dragonboard 410c使用fastboot安装Debian
  • u013662665
  • u013662665
  • 2017年10月25日 19:27
  • 184

DragonBoard 410c手把手Linux开发

拿到DragonBoard 410c已经有很长一段时间,也试着研究了Adreno与410c上高通内核驱动。 不过为了让广大爱好者能够快速上手这一台开发板,我打算使用官方提供的Linux指南上的源码作为...
  • u010182064
  • u010182064
  • 2016年04月13日 10:39
  • 6248

快速下载和编译Dragonboard410c官网最新Android版本

最近刚入手一块Dragonboard410c开发板,准备用这块开发板自己搞搞几个智能家居类的原型玩玩,需要修改源代码的底层驱动,我比较熟悉Android系统,所以按着官方的开发编译文档一步步去弄,中间...
  • cgx090902
  • cgx090902
  • 2017年06月14日 17:10
  • 1275

DragonBoard 410c的配置与系统更新

需要的设备可运行Windows 10的PC(在上一片中已提到) DragonBoard 410c 12V电源供电—最小1.0A电流,如果您计划使用多个高耗能的USB配件,那么请选用大于2.0A电流的电...
  • u010182064
  • u010182064
  • 2015年11月28日 15:32
  • 1318
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎么为DragonBoard 410c定制Linaro Linux系统
举报原因:
原因补充:

(最多只允许输入30个字)