EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6.1 获取 x Linux 源码 源码(基于迅为iTOP-399开发板)
8 d. U: p! J# L) s3 f1 ?首先从网盘下载迅为提供的Linux源码,下载后得到的源码文件目录如下图:
5 p- U6 W$ ^' j# `. X
7 N" u! O2 `! a! N& q1 X* Y. k然后使用解压工具解压得到的源码,如下图:
, D- l% P! T+ }2 L! |- r( n1 I/ w$ i+ L
$ F% \3 @! h4 {5 r. g- O& H9 G% G
解压完生成 rk3399_linux_sdk_v2.0_191209.tar.gz 压缩包,如下图:
% E8 O5 F* y) Y% a' u' q
拷贝解压生产的 rk3399_linux_sdk_v2.0_xxxxxxxx.tar.gz(xxxxxxxx 代表
/ {1 a7 v; U! d+ S; c- X源码的发布日期)文件到 Ubuntu 系统,然后在 Ubuntu 系统下解压,如下图:
8 X6 F# ]0 ~3 E9 d
" R3 [" i& ^5 K9 m* o7 r解压完成后,得到文件夹:rk3399_linux_sdk_v2.0_191209,如下图:
0 K- ]+ J: n) e" b5 L6 n
( S5 O0 E1 |1 h; G# z; j5 n6.2 安装 x Linux 源码依赖包 源码依赖包
* r4 Q4 e' g" j. u使用如下命令安装所需的软件包:
# H3 F2 C$ O) }$ Y( m1、sudo apt-get update' b: ~2 i! m/ h; b
2、安装 kernel 及 uboot 编译需要依赖的软件包0 O" _! B4 U8 t# w; D& L* ]
sudo apt-get install git-core gnupg flex bison gpeRF
9 Z3 @4 T/ b) |; V0 Kbuild-essential zip curl zlib1g-dev gcc-multilib g++-multilib
! `+ ~ b4 ]% [; llibc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev
( L/ T' \$ S, k% I* C0 O7 dlib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip& ]* }- L, X) b1 i2 O5 l0 o
device-tree-compiler liblz4-tool2 {9 J, Y7 I, _
3、安装 Buildroot 编译需要依赖的软件包& F# g& R: i& [ R! q1 \
sudo apt-get install libfile-which-perl sed make binutils gcc g++, C# L; t2 u. b, t4 J8 m7 E) P" B
bash patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3# ?# G) J5 a! ^; r
git repo texinfo pkg-config cmake tree texinfo
% Y1 U F5 q) {: G/ f& l9 h3 6.3 编译 x Linux 源码 源码* N7 T9 w" c4 u' y
6.3.1 整体编译
( h/ z0 H2 f, p" V4 p使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。
; `! y, v0 x3 b' n* `0 q编译分四个命令
) |0 f7 |* X+ M8 Y& y( Q1. ./build.sh BoardConfig.mk
?: E( `7 e& `" x: J
s- C) y9 l3 k ~, S
2. ./build.sh all
3 k% N5 ?/ U, |# J( W
1 Q4 r# p v1 F# c. r
3. ./build.sh firmware1 V0 H, i- p! A
! B2 u* M9 Z/ d) o. L* R3 F4. ./build.sh updateimg’- T, {, q0 F0 |( S6 s' g
5 o$ h- {# W! b+ F: B
最终在 rocdev 目录下生成镜像文件 update.img。1 k% k: i2 A: E/ {+ N
6.3.2 单独编译( a& h7 f1 `4 M
命令./build.sh -h 查看可选参数
6 H" l" z, ]; ~- R8 P
单独编译 uboot: ./build.sh uboot 在 uboot 目录下生成 u-boot.bin。
1 R$ _9 W0 `8 R9 q3 Q8 ]单独编译 kernel: ./build.sh kernel- y$ N+ Y" G8 q( R9 z( c
在 kernel 目录下生成 boot.img
1 ], e0 j1 q6 _, o$ z% q单独编译 rootfs:./build.sh rootfs, c) C% l' ~. T2 n4 Y: P8 {
在 buildroot/output/rockchip_rk3399/images 目录下生成 rootfs.ext4 " i* o$ U: V o3 S* B( b
|