“100ask imx6ull”的版本间的差异

来自百问网嵌入式Linux wiki
第25行: 第25行:
  
 
==使用busybox构建系统==
 
==使用busybox构建系统==
 +
===一键获取所有源码===
 +
*以下操作在已经配置好开发环境得ubuntu系统终端下执行
 +
:*git邮箱账号和用户名配置
 +
<syntaxhighlight lang="bash">
 +
book@100ask:~$ git config --global user.email "you@example.com"
 +
book@100ask:~$ git config --global user.name "Your Name"
 +
</syntaxhighlight>
 +
:初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定
 +
 +
:*考虑到代码仓库过多,特使用repo工具管理代码<br>
 +
::repo工具配置
 +
<syntaxhighlight lang="bash">
 +
book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
 +
book@100ask:~$ mkdir -p 100ask_imx6ull_busybox && cd 100ask_imx6ull_busybox
 +
book@100ask:~/100ask_imx6ull_busybox$  ../repo/repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m imx6ull/100ask_imx6ull_busybox_release.xml --no-repo-verify
 +
book@100ask:~/100ask_imx6ull_busybox$  ../repo/repo sync -j4
 +
</syntaxhighlight>
 +
:*上面使用的repo管理文件xml为国内coding仓库 https://dev.tencent.com/u/weidongshan/p/manifests/git/tree/linux-sdk
 +
:*如果使用Github仓库管理文件xml请查看 https://github.com/100askTeam/manifests/blob/linux-sdk/README.md
 +
 +
 +
===设置工具链===
 +
交叉编译工具链主要是用于在ubuntu主机上编译并声称可以在其它平台上运行的系统。设置交叉编译工具主要是设置<code>PATH</code> <code>ARCH</code>和<code>CROSS_COMPILE</code>三个环境变量,下面介绍具体设置方法。
 +
 +
* 永久生效
 +
如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下:
 +
vim ~/.bashrc
 +
在行尾添加或修改:
 +
export ARCH=arm
 +
export CROSS_COMPILE=arm-linux-gnueabihf-
 +
export PATH=$PATH:/home/book/100ask_imx6ull_busybox/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
 +
 +
* 临时生效
 +
执行完“export”命令后,该设置只对当前终端有效
 +
<syntaxhighlight lang="bash">
 +
book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull_busybox/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
 +
book@100ask:~$ export ARCH=arm
 +
book@100ask:~$ export CROSS_COMPILE=arm-linux-gnueabihf-
 +
</syntaxhighlight>
 +
* 手动指定
 +
Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链
 +
<syntaxhighlight lang="bash">
 +
book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull_busybox/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
 +
book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
 +
</syntaxhighlight>
 +
 +
 
===手动编译u-boot===
 
===手动编译u-boot===
 +
 
===手动编译Linux kernel===
 
===手动编译Linux kernel===
 
===手动编译rootfs===
 
===手动编译rootfs===

2019年12月16日 (一) 18:24的版本

开发板简介

开始使用

打开包装 连接开发板

启动开发板

执行基本命令

示例功能体验

应用编程

更新系统

进阶使用

配置开发环境

如果使用我们提供的vmware ubuntu 虚拟机镜像,配置开发环境,只需在在ubuntu联网状态下在终端下执行如下命令即可完成一键配置开发环境。
如何您使用的是自行安装的ubuntu 开发环境,请先通过 adduser 命令新建 book 用户,并将其加入sudo 组,才可以使用如下命令一键配置开发环境。
如何添加book用户,并把book用户加入sudo组 请参考此页面 配置ubuntu开发环境
  • 一键配置开发环境脚本,在Ubuntu终端下直接执行,即可配置好Linux开发环境依赖(包含tftpp nfs samba 不包含交叉编译工具链 ARCH CROSS_COMPILE设置)。

GIthub地址

wget --no-check-certificate -O Configuring_ubuntu.sh https://raw.githubusercontent.com/100askTeam/DevelopmentEnvConf/master/Configuring_ubuntu.sh && sudo chmod +x Configuring_ubuntu.sh && sudo ./Configuring_ubuntu.sh

国内coding地址(推荐使用此地址)

wget --no-check-certificate -O Configuring_ubuntu.sh https://dev.tencent.com/u/weidongshan/p/DevelopmentEnvConf/git/raw/master/Configuring_ubuntu.sh && sudo chmod +x Configuring_ubuntu.sh && sudo ./Configuring_ubuntu.sh

使用busybox构建系统

一键获取所有源码

  • 以下操作在已经配置好开发环境得ubuntu系统终端下执行
  • git邮箱账号和用户名配置
book@100ask:~$ git config --global user.email "you@example.com"
book@100ask:~$ git config --global user.name "Your Name"
初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定
  • 考虑到代码仓库过多,特使用repo工具管理代码
repo工具配置
book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
book@100ask:~$ mkdir -p 100ask_imx6ull_busybox && cd 100ask_imx6ull_busybox
book@100ask:~/100ask_imx6ull_busybox$  ../repo/repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m imx6ull/100ask_imx6ull_busybox_release.xml --no-repo-verify
book@100ask:~/100ask_imx6ull_busybox$  ../repo/repo sync -j4


设置工具链

交叉编译工具链主要是用于在ubuntu主机上编译并声称可以在其它平台上运行的系统。设置交叉编译工具主要是设置PATH ARCHCROSS_COMPILE三个环境变量,下面介绍具体设置方法。

  • 永久生效

如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下:

vim ~/.bashrc

在行尾添加或修改:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull_busybox/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
  • 临时生效

执行完“export”命令后,该设置只对当前终端有效

book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull_busybox/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
book@100ask:~$ export ARCH=arm
book@100ask:~$ export CROSS_COMPILE=arm-linux-gnueabihf-
  • 手动指定

Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链

book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull_busybox/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-


手动编译u-boot

手动编译Linux kernel

手动编译rootfs

制作系统镜像

使用buildroot构建系统

获取源码

编译完整系统

  • buildroot下单独编译内核
  • buildroot下单独编译u-boot
  • buildroot下单独编译某个软件包

如何烧写

参考/扩展阅读

使用yocto构建系统

获取源码

编译完整系统镜像

烧写生成系统镜像文件

yocto开发参考资料

使用发行版系统

  • 使用制作好的镜像烧录至开发板
  • 自己手动构建适合imx6ull发行版文件系统

高阶使用

调试u-boot

调试kernel驱动

系统监视

应用调试

内核调试

常见问题

参考