Linux BSPBSPBSPBSP UserUserUserUser Manual
Linux
A20A20A20A20 Linux
Manual
Linux
Manual
Manual
V1.0V1.0V1.0V1.0
2013-03-15
2013-03-15
2013-03-15
2013-03-15
Copyright © Allwinner Technology. All Rights Reserved.
1
Confidential
History
Revision
Revision
History
Revision History
History
Revision
DateDateDateDate
Version
Version
Version
Version
V1.0
2013-03-15
Section/
Section/ PagePagePagePage
Section/
Section/
Changes
Changes
Changes
Changes
Initial version
Copyright © Allwinner Technology. All Rights Reserved.
2
Confidential
目录
目录...................................................................................................................................................3
一. 概述...........................................................................................................................................4
二. 开发环境准备...........................................................................................................................5
2.1 硬件资源.............................................................................................................................5
2.2 软件资源.............................................................................................................................5
三. 目录结构介绍...........................................................................................................................6
3.1.buildroot.............................................................................................................................. 6
3.2.linux-3.3.............................................................................................................................. 7
3.3.U-boot..................................................................................................................................8
3.4.tools..................................................................................................................................... 9
3.5.boot......................................................................................................................................9
四. 内部工作机制.........................................................................................................................10
五. 编译代码................................................................................................................................. 11
六. 打包固件.................................................................................................................................12
6.1.自动打包...........................................................................................................................12
6.2.定制 Nand 分区................................................................................................................ 12
6.3.固件烧写...........................................................................................................................17
七. 定制根文件系统.....................................................................................................................18
7.1.修改 Nand Flash 的 rootfs.................................................................................................18
八. 集成软件包.............................................................................................................................19
8.1.源代码包...........................................................................................................................19
8.2.二进制包...........................................................................................................................21
8.3.可执行文件.......................................................................................................................21
九. 附录.........................................................................................................................................22
9.1.关于 sysconfig1.fex 配置..................................................................................................22
9.2.关于驱动开发...................................................................................................................22
9.3.在线帮助文档...................................................................................................................22
Copyright © Allwinner Technology. All Rights Reserved.
3
Confidential
一. 概述
本文档用于介绍全志科技 A20 芯片的 wing Linux BSP(Lichee 为开发代号,后简称 wing
BSP)的结构、内部机制以及简单用法。该文档的目的用于指导用户如何定制和使用该 BSP。
wing BSP 可以从全志科技的客户 ftp 下载。
Copyright © Allwinner Technology. All Rights Reserved.
4
Confidential
二. 开发环境准备
2.12.12.12.1 硬件资源
硬件资源
硬件资源
硬件资源
(1) A20 EVB 开发板
(2) 能够运行 LINUX 的电脑一台(用于编译和烧写)。
(3) 串口线, 12V 电源和小口 USB 线
2.22.22.22.2 软件资源
软件资源
软件资源
软件资源
(1) 编 译 载 体 建 议 安 装 Red Hat Enterprise Linux Server release 6.0 (64 bit) 或 者 Ubuntu
10.04/12.04(64 bit)。要求至少安装 gcc, ncurse, bison, autoconf, wget, patch, texinfo, zlib,
dos2unix 软件包
(2) 我们使用的交互编译工具为 arm-linux-gnueabi-gcc-4.6.3
Copyright © Allwinner Technology. All Rights Reserved.
5
Confidential
三. 目录结构介绍
wing BSP 主要由 Buildroot(版本 2011.02), Linux kernel(版本 3.3)两大部分组成。其中
Buildroot 负责 ARM 工具链、U-Boot、应用程序软件包、Linux 根文件系统和固件包的生成;
Linux Kernel 是 wing BSP 的核心部分。
3.1.buildroot
它的主要作用是
(1) 管理包之间的依赖关系
(2) 生成 ARM 交叉工具链
(3) 生成 U-Boot
(4) 制作根文件系统,可以包含 strace, directfb, oprofile 等非常丰富的应用软件和测试软件
(5) 生成最终用于烧写的固件包
它的目录结构如下
├── board
├── boot
├── build.sh
├── CHANGES
├── Config.in
├── configs
├── COPYING
├── dl
├── docs
├── external-packages
├── fs
├── linux
├── Makefile
├── output
├── package
├── README
├── scripts
├── target
└── toolchain
其中,boot 目录里存放 Boot 代码,config 目录里存放预定义好的配置文件,比如我们
的 sun7i_defconfig,dl 目录里存放已经下载好的软件包,scripts 目录里存放 buildroot 运作的
代码,target 目录里存放用于生成根文件系统的一些规则文件。对于我们来说最为重要的是
Copyright © Allwinner Technology. All Rights Reserved.
6
Confidential
package 目录,里面存放了将近 3000 个软件包的生成规则,我们可以在里面添加我们自己的
软 件 包 或 者 是 中 间 件 。 更 多 关 于 buildroot 的 介 绍 , 可 以 到 buildroot 的 官 方 网 站
http://buildroot.uclibc.org/获取。
3.2.linux-3.3
3.2.linux-3.3
3.2.linux-3.3
3.2.linux-3.3
目录结构如下:
.
├── arch
├── bImage
├── block
├── build.sh
├── crypto
├── Documentation
├── drivers
├── firmware
├── fs
├── include
├── init
├── ipc
├── Kbuild
├── Kconfig
├── kernel
├── lib
├── Makefile
├── mm
├── modules
├── net
├── output
├── rootfs
├── samples
├── scripts
├── security
├── sound
├── tools
├── usr
├── version
├── virt
├── vmlinux
以上目录结构跟标准的 Linux 内核是一致的,除了多一个 modules 目录。modules 目录
Copyright © Allwinner Technology. All Rights Reserved.
7
Confidential
是我们扩展用来存放没有跟内核的 menuconfig 集成的外部模块的地方。我们目前放了
example,nand,eurasia_km,test 和 wifi 这 5 个外部模块,其中 example 是示例用的,eurasia_km
是我们的 GPU 驱动,test 是模块测试用例,目前只存放了 nand 的测试用例。
├── eurasia_km
├── example
├── nand
├── test
└── wifi
3.3.U-boot
3.3.U-boot
3.3.U-boot
3.3.U-boot
目录结构如下:
/u-boot$ tree -L 1
.
├── api
├── arch
├── board
├── boards.cfg
├── build.sh
├── common
├── config.mk
├── COPYING
├── CREDITS
├── disk
├── doc
├── drivers
├── examples
├── fs
├── include
├── lib
├── MAINTAINERS
├── MAKEALL
├── Makefile
├── mkconfig
├── mmc_spl
├── nand_spl
├── nand_sunxi
├── net
├── onenand_ipl
├── post
Copyright © Allwinner Technology. All Rights Reserved.
8
Confidential