EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6.1 获取 x Linux 源码 源码(基于迅为iTOP-399开发板)
" u: v0 l- m9 T首先从网盘下载迅为提供的Linux源码,下载后得到的源码文件目录如下图:: m( k f F( _/ p% U
, Z4 C; i9 K! y: v然后使用解压工具解压得到的源码,如下图:: z$ |9 i- f% P. f9 Z8 t0 e
) l5 Q! p, y1 O3 v# ]0 D: K5 Q
解压完生成 rk3399_linux_sdk_v2.0_191209.tar.gz 压缩包,如下图:
) H5 ]: O5 S" n$ Q; E! n3 J2 @
拷贝解压生产的 rk3399_linux_sdk_v2.0_xxxxxxxx.tar.gz(xxxxxxxx 代表
- C7 H( _- s4 n" K1 ]源码的发布日期)文件到 Ubuntu 系统,然后在 Ubuntu 系统下解压,如下图:
9 m0 Z: _( O) h, A( n: H
' g- j: T7 ~/ M8 F
解压完成后,得到文件夹:rk3399_linux_sdk_v2.0_191209,如下图:1 O* F6 L/ U" ?! y3 _2 F3 U; {, A$ M
X5 X0 b5 B6 ?4 p/ T
6.2 安装 x Linux 源码依赖包 源码依赖包4 S: o+ X8 y/ o* r6 V
使用如下命令安装所需的软件包:
3 y+ H7 k' _* W+ d f1、sudo apt-get update
! H: c; O5 W9 u$ b2、安装 kernel 及 uboot 编译需要依赖的软件包
4 ~% _7 Y% s! }5 H! nsudo apt-get install git-core gnupg flex bison gpeRF
& L% b4 V" o; wbuild-essential zip curl zlib1g-dev gcc-multilib g++-multilib
! t; w5 h. k* b9 ^6 @+ H# |libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev9 T, o I+ o5 }) _. t4 H3 F+ ^
lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip1 \9 N5 A- x8 S
device-tree-compiler liblz4-tool
) K. O* F3 k l# H }3、安装 Buildroot 编译需要依赖的软件包+ s0 F. ]; G3 j
sudo apt-get install libfile-which-perl sed make binutils gcc g++
0 J$ d8 K2 G) \bash patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3
. R% w7 q; I @# mgit repo texinfo pkg-config cmake tree texinfo) B. [4 H! Z* f. N
3 6.3 编译 x Linux 源码 源码" C* }) P( C6 J) v, W
6.3.1 整体编译* [) w& Z ~4 I! G
使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。
, f! ]( A8 {4 h u$ X+ ?7 ?编译分四个命令- Z N) R' J4 A) a% g1 K
1. ./build.sh BoardConfig.mk+ k7 S, j. ~: D
- ]- @# G' V: q
2. ./build.sh all
) h- P3 J; v/ @; b4 C
3 q8 {$ l1 Y( N7 c9 ^; A) z: V. k
3. ./build.sh firmware
! n& i$ T+ ~$ k7 H, \
! y5 Y1 \1 F4 D# b' k1 P
4. ./build.sh updateimg’- h$ ^1 ^1 X/ e5 T3 x0 c
/ k" |% k/ j- D9 `
最终在 rocdev 目录下生成镜像文件 update.img。9 A9 {- }+ q+ Q8 l
6.3.2 单独编译
: ~! z; m* \! ]/ N8 A& V命令./build.sh -h 查看可选参数, ~- L9 N5 _' f& {# ]9 t
单独编译 uboot: ./build.sh uboot 在 uboot 目录下生成 u-boot.bin。" F! Y' I; Z& N4 z
单独编译 kernel: ./build.sh kernel
5 o6 a2 v; i$ e% I! n |在 kernel 目录下生成 boot.img
5 X2 ^8 B6 p, ?3 {' }单独编译 rootfs:./build.sh rootfs
- E% T$ o6 Q; @3 Q* I/ b1 {在 buildroot/output/rockchip_rk3399/images 目录下生成 rootfs.ext4 ; @$ T8 o4 |8 e. @- z/ P7 J P
|