EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6.1 获取 x Linux 源码 源码(基于迅为iTOP-399开发板)
5 f1 F7 n H/ ~+ H1 X& Q# ]' {首先从网盘下载迅为提供的Linux源码,下载后得到的源码文件目录如下图:
' d. g7 W8 r+ \3 _7 u9 E- d7 Q4 C9 c
% A1 C% b; U7 D$ n+ ]7 Y" P
然后使用解压工具解压得到的源码,如下图:& A7 O: p' ?8 z2 g( i) ^: _* j
( A9 z- d/ r/ h# l
解压完生成 rk3399_linux_sdk_v2.0_191209.tar.gz 压缩包,如下图:
/ _9 `' y* H+ P& \; @; f2 m
拷贝解压生产的 rk3399_linux_sdk_v2.0_xxxxxxxx.tar.gz(xxxxxxxx 代表
# i% A0 x' }8 x" g: Q7 e源码的发布日期)文件到 Ubuntu 系统,然后在 Ubuntu 系统下解压,如下图:( t9 k! f7 v6 r# |: F
2 Z' ]9 l! M- X* g$ n
解压完成后,得到文件夹:rk3399_linux_sdk_v2.0_191209,如下图:5 A }: Y* S7 D, |1 I' a1 a
0 @' Q/ N0 [: q3 y5 Q( @9 o' X
6.2 安装 x Linux 源码依赖包 源码依赖包, T- e& e7 c W' K2 Y+ o) I! n5 w
使用如下命令安装所需的软件包:
$ l H- S: m) @: q) q1、sudo apt-get update a, k. `/ S4 f3 b3 ^
2、安装 kernel 及 uboot 编译需要依赖的软件包" Z R8 f1 j1 I. g0 Q. v) ~
sudo apt-get install git-core gnupg flex bison gpeRF
; f3 V! Q9 U0 m( M" | h0 w1 hbuild-essential zip curl zlib1g-dev gcc-multilib g++-multilib/ j7 z# H3 s" u7 I# g( Y( B0 a
libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev* P- h9 b/ S! X4 x' ?
lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip# v' {5 y; h# y, {' u) F
device-tree-compiler liblz4-tool
, R) i6 L; a, i0 o" i3、安装 Buildroot 编译需要依赖的软件包# O5 C Q4 `# N( ?7 a* p: `6 O
sudo apt-get install libfile-which-perl sed make binutils gcc g++
, @2 J4 a6 B3 }; ^& d. bbash patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3
2 d0 x1 ?( ]( x3 u3 igit repo texinfo pkg-config cmake tree texinfo" p1 Y9 \: j4 |
3 6.3 编译 x Linux 源码 源码8 ^" i9 H6 H8 Y0 J/ B2 L
6.3.1 整体编译 V2 V: w8 Z; V: |' r1 j6 w
使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。! X- l7 H; A( g v% Z/ S5 [
编译分四个命令6 N1 ?; M q. d
1. ./build.sh BoardConfig.mk: u% w1 A' [- E
; g1 {& M9 T# j, G+ n; V, l1 b, h
2. ./build.sh all
( \5 J* W* N: r1 ?: x, b$ S
f* r- l# Y) y3 P" z3. ./build.sh firmware1 C' r; X; \* m+ n! R
# h" I3 o. X0 R4 `6 o0 A6 P4. ./build.sh updateimg’' Q2 m, L/ j: ]4 v9 h
+ H$ A/ v1 i. T( e' @) H
最终在 rocdev 目录下生成镜像文件 update.img。' B& x* x. w2 T
6.3.2 单独编译
3 h5 C" l6 z% y1 T命令./build.sh -h 查看可选参数
3 \! c- n+ ]# x1 O3 g
单独编译 uboot: ./build.sh uboot 在 uboot 目录下生成 u-boot.bin。$ O' s8 w) E! T+ X$ i4 v$ A* ^9 x# E
单独编译 kernel: ./build.sh kernel
' I+ b; f2 C! ~+ z在 kernel 目录下生成 boot.img! y1 c) p: i7 x
单独编译 rootfs:./build.sh rootfs) j9 ~8 q' D; O' v
在 buildroot/output/rockchip_rk3399/images 目录下生成 rootfs.ext4
9 x: _: [! z' q3 T; I, f. W |