EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6.1 获取 x Linux 源码 源码(基于迅为iTOP-399开发板)
) r2 j5 x6 K6 s% o$ J首先从网盘下载迅为提供的Linux源码,下载后得到的源码文件目录如下图:
4 O5 c8 i0 ]2 q
" [8 ?7 w! h" X
然后使用解压工具解压得到的源码,如下图:
9 `6 ~4 z, x* I/ C, [# @
J6 a2 X3 V3 k解压完生成 rk3399_linux_sdk_v2.0_191209.tar.gz 压缩包,如下图:
6 c9 d$ _) W" |
拷贝解压生产的 rk3399_linux_sdk_v2.0_xxxxxxxx.tar.gz(xxxxxxxx 代表# V3 L. c( Y& B
源码的发布日期)文件到 Ubuntu 系统,然后在 Ubuntu 系统下解压,如下图:2 s* E. v/ a5 f$ F6 N: |6 s
# Y2 H% T6 ?/ M7 Q$ s' u( j解压完成后,得到文件夹:rk3399_linux_sdk_v2.0_191209,如下图:) v' f9 o& I4 F1 I2 f
" R% v( ]/ j$ E% m8 k# r' o, E6.2 安装 x Linux 源码依赖包 源码依赖包
* h/ V" z% A+ l" o使用如下命令安装所需的软件包:2 g. U5 @4 P% m& K4 p
1、sudo apt-get update, G2 v( W8 W6 K! }) _2 i/ \/ ~# ?
2、安装 kernel 及 uboot 编译需要依赖的软件包
I7 D8 ?6 F, nsudo apt-get install git-core gnupg flex bison gpeRF7 ?' ~! G! r! _
build-essential zip curl zlib1g-dev gcc-multilib g++-multilib) I! t4 ^/ P* B+ j0 I
libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev8 W' m8 R+ O/ l* Q
lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip9 H3 F9 {+ T, Q
device-tree-compiler liblz4-tool
* j+ H; e ~" w3、安装 Buildroot 编译需要依赖的软件包, X" o z2 G/ g' P) |. w1 q+ t- g
sudo apt-get install libfile-which-perl sed make binutils gcc g++
) d; V$ I& M: G( c% s! o1 m1 ]bash patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3
4 F! T0 V5 W2 o5 P% Qgit repo texinfo pkg-config cmake tree texinfo
( }% q1 g2 A u$ K$ e" Y3 6.3 编译 x Linux 源码 源码
+ F8 `% N0 b9 q! ^0 K: `8 T6.3.1 整体编译; w8 ^- t1 a8 p7 _
使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。: k+ h, F1 H. N4 \' t0 }: ^! R
编译分四个命令
2 ^# S P: F: q; J; c1. ./build.sh BoardConfig.mk! u7 S, m2 q: ]
9 N: M$ [0 e- ], W2. ./build.sh all% b u( B9 |+ s6 k. ^
# Y& k* z% }( ~! S9 P4 Z
3. ./build.sh firmware9 v! \6 A8 k; J3 L, _2 c& K
0 P. a4 t/ C5 X. U- S* H4. ./build.sh updateimg’
& M) e: B2 K& m
4 r' Z& g* G6 W# A最终在 rocdev 目录下生成镜像文件 update.img。; c+ t& B0 a' B! M9 N0 d/ Q+ l
6.3.2 单独编译" S6 E' C4 l0 d' ~5 j
命令./build.sh -h 查看可选参数
) T' @- f% ?; x7 V) w/ G' ]; |0 U
单独编译 uboot: ./build.sh uboot 在 uboot 目录下生成 u-boot.bin。* b3 e- p. k I' \9 `& Q) x
单独编译 kernel: ./build.sh kernel
8 }; p6 C0 L( j, Y4 {) V- G6 t4 e# j在 kernel 目录下生成 boot.img
4 q1 B2 D8 B/ F. N单独编译 rootfs:./build.sh rootfs
+ r4 N/ [1 _& {9 J u! z V在 buildroot/output/rockchip_rk3399/images 目录下生成 rootfs.ext4 * X# e+ H( A7 c. X2 G7 D. c
|