搭建开发环境
, a# j$ O3 }( z4 i& n+ f: ~& O安装VWware8 I, f; Y7 G- X1 r4 @
% \9 W( c E- w
下载安装即可. j) l( f* B, p) R
" C: c4 ?( M9 b7 `4 y+ q$ d
新建虚拟机2 A- t) S$ ^3 U3 T
主界面创建虚拟机,按照向导创建虚拟机,CPU核心更具需要选择,内存建议2G以上不超过6G,硬盘大小官方建议大于300G,其他按照建议参数选择即可,安装好后,启动虚拟机。
' B8 z1 ~' }8 Z
+ k/ S2 e8 G7 |: V" f& b# F## 替换软件源为国内软件源# S, v: Y0 U7 G' P) @
执行如下代码,nano是一个文本编辑器,可以使用gedit或vi代替。! J6 I/ Y6 X9 \# A
/ X( E) m- N& m$ _* Q- cp /etc/apt/sources.list /etc/apt/sources.list.bak, P8 i1 c( n+ }; \2 J
- sudo nano /etc/apt/sources.list( ^1 l' T+ U' g& ?! A
- //从以下源复制到sources.list中# k& ]; v }( h0 v9 l
0 {3 a2 A2 o6 f+ ^+ g$ \5 P7 f- # ?9 ]" B$ W- l2 ?4 J# u) {" x1 T
- //保存上述文本,执行以下代码更新软件源, T1 s1 N( r: e2 o6 V
- sudo apt-get update: A2 F( x0 V% H( b
- sudo apt-get upgrade
复制代码 8 f" c8 Z+ P5 A0 n5 \* l4 M2 A* C5 H
设置mmc允许16个分区
/ `5 B n# j7 k" N/ P Q默认情况下,在Linux系统上,mmc上最多允许8个分区。所有程序包(入门程序包,…)需要10个以上的分区用于存储设备。为了将每个设备的分区数扩展到16,必须在modprobe中添加以下选项:: {) e) I" m1 i8 N# H1 a+ J
* f o( | s& C+ u7 A# S
- PC gt; echo 'options mmc_block perdev_minors=16' > /tmp/mmc_block.conf+ L1 h$ s$ w# f' g* z0 J
- PC gt; sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf
复制代码 , V% ^! p: V- D9 `6 W5 j
配置代理$ G7 @; t7 _+ \
- export http_proxy=http://local_proxy_ip:local_prot
% S. Q# L- S1 Z- `$ I# i! i* z7 j - export https_proxy=https://local_proxy_ip:local_prot
复制代码
4 U1 J4 n7 U5 q6 L( m: x此处使用本地代理,将终端代理到本地端口。本地端口需要通过VPN代理到远程主机。不能直接在终端代理到远程主机。
+ E( \! s- R J/ K使用wget -q && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."测试是否通过代理。如返回OK则代理成功。, Y9 {6 `. ?+ [* t
" K# l9 j# C! c$ B; ]" A5 L2 k$ t安装需要的库
' P/ C; c7 \! q7 R先更新软件库列表sudo apt update,再使用命令sudo apt-get install XXX,XXX代表需要安装的软件包,分别安装以下软件包
8 o" L p4 q/ h7 g" v
0 D+ f' b, M, S' K# X- bison flex//语法分析器生成器$ A, h& D& |4 R' H. w
- sed // 编辑器& A5 l, D0 m& b7 z5 U
- wget curl //下载器. n+ H( {4 q0 G+ v |! T$ U
- git //版本控制! {4 ?& J( D9 l
- coreutils //shell
4 w8 c. }( Y, Y, W# \ - unzip //解压zip
$ V$ E+ C# n$ s( H8 X: ]3 x% | - texi2html // 转Texinfo 到 HTML 4 s8 P" o& l2 d3 t5 d2 \
- texinfo //文档系统
( f* t, \& `3 y- L; w! d8 ]$ S# D V - docbook-utils //脚本集合3 N5 u; s% N, G6 \' F, x
- gawk //awk编程
3 {6 l% r8 m& e7 s" v - python //Python2
5 }0 I+ d8 @* D& {" G& { - python3 //Python3" X* H' x4 N7 ~" @
- diffstat //linux 基础命令4 N' b: c1 S) O+ S2 i/ T7 f% I
- help2man //help --version生成手册页面工具, C# h8 ^& S; D! b$ S6 c" v
- make //& y& T. o) G- C1 B# H# ^/ U
- gcc //
+ V6 f' {' Z P c! K$ T/ w6 z - build-essential //提供编译程序必须软件包的列表信息$ u& R0 \: ^$ d$ y* W/ z2 f
- g++ //8 t: T2 O1 a" b
- desktop-file-utils //处理桌面信息的程序
; z( ~) x7 Q- z4 e* j# x; f3 \7 K - chrpath // v c; R6 U% P' i& ]
- libxml2-utils //
: a" c# z9 b8 r$ t" H - xmlto //
0 B& D, V5 Y1 M; K - default-jre //java环境
复制代码 / a- S/ j3 |/ } M. n2 ~4 u
注意:chrpath g++ gawk gcc git make diffstat texinfo rpcgen 为必须安装的库。\
) \* C! t# A$ F4 E/ F' r/ h* |. M$ q6 X: s0 c# G( m0 o" N& M
若rpcgen安装不了,可按照以下方法安装,其他软件如如果也出现无法安装的情况,同样可以参考如下方式。
( m M% R- Y( p( H% ?- wget 0 S+ z( c! Z/ y0 X& |
- tar xf rpcsvc-proto-1.4.tar.gz. L# Q* z- S- g4 H; |" N* f$ f# A
- cd rpcsvc-proto-1.42 ]/ d( H; [" e$ U% m, y% g
- ./configure' n! d# a, z% X3 a$ G
- make
4 a x) |3 V! r. q) `+ U$ ] - make install
复制代码
" m9 V: f: G+ U$ h. N5 L9 G以上命令解释:# @6 H( R2 W7 N; B! s
wget 从git上下载软件包,某些软件包可能不是从git上下载,可以在win上下载该软件包,再通过文件传输工具如FTP或者VWware的管理工具,此处使用winSCP工具通过FTP传输(winSCP使用方法在下方)。2 w: K) P. Q! _; U; Z
tar解压文件。4 u f! ^7 g& S$ g0 ]
cd 切换到解压目录下
! d$ p$ r. m' y3 v! {./configure 执行配置文件% {/ H; D" Z' x% b
make 编译0 D9 V5 E t( N( r0 C/ \
make install 安装( X H y. s: V
4 H$ U" T! T7 ?winSCP工具使用指南:
) j* ?* ?" e0 _4 d虚拟机配置) G, v1 i5 q0 V% ]7 S; M8 l
输入ifconfig查看虚拟机ip地址,例如192.168.17.132字样3 X, ]+ M& f$ \
输入sudo apt install vsftpd安装ftp服务
3 k+ y7 Z* r8 J) C* K1 _+ j输入service vsftpd start启动vsftpd服务
( V1 {( M, t! u如果主机拒绝客户端访问可以修改ftp配置文件
3 C e. ?) f: V& `: U* u3 |" m
5 h2 C4 l% b5 |5 C* _9 L. s- sudo nano /etc/vsftpd/vsftpd.conf
$ K% }2 C7 _4 w) p) j - write_enable=YES # 允许本地用户对FTP服务器文件具有写权限
复制代码 * J" B9 N) E1 _8 Z& H* A
按照向导安装好软件,软件路径为
' h$ O l) {7 f) x3 L- _) N8 Z新建站点如下配置:/ @4 j9 D; H: |4 _4 ^$ a% y
文件协议FTP(如果FTP不通就使用SFTP),不加密,主机ip(如192.168.17.132),端口号22, 用户名和密码为虚拟机的登录名和密码。配置好之后,点击登录即可。
# Z2 k- ]1 c! Q0 J5 X5 k, |# [
" r1 h% m- `$ c4 e编译镜像5 k+ m! u/ V# ?; b, F/ }/ q
配置镜像文件
. q. V4 B/ \! Y; C. o( d运行如下代码部署环境,然后同意协议
4 k: \/ t6 ^) X* j' S/ k5 A$ B9 C$ _1 |/ @- w( ]
- unzip layers.zip
. p# Z5 c6 f, Q& v - DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
) ], g; a# z. m1 F - tree
% z% u) p" z* h$ F0 J0 l9 a* | - .. C9 B, [, T u/ ^
- └── conf/ U' t4 W! D7 t4 s
- ├── bblayers.conf
/ `. k3 A% y4 z1 y. b - ├── conf-notes.txt
1 c1 m& F4 C2 o) D7 I' v$ s9 r - ├── local.conf
6 K A6 y/ ?! B S6 w - ├── site.conf+ P( f% Q8 z! Q. Z+ e* j) w
- └── templateconf.cfg3 v* E l: m* g, v
- 1 ?. ?* Z; w" U) J% `$ j% \0 w
- 1 directory, 5 files
复制代码 9 {! ]# i5 f* n- n8 L4 D9 y7 s
执行完之后,系统将自动进入build目录。7 H7 b5 T% x; M5 @! M* S
本地配置文件路径build-<distro>-<machine>/conf/local.conf ,包含所有本地用户配置% u B/ x+ x. V4 M
顶层配置文件路径build-<distro>-<machine>/conf/bblayers.conf ,告知BitBake构建的层7 X$ y& U8 d' R8 ~( a/ h" i9 h
layer已经下载好了,可通过ftp传输到虚拟机。
6 o- s$ z2 q9 K————————————————
1 E5 n/ r, k8 ?, ^' w版权声明:IntelligeWither
) e9 S$ ~3 m+ C5 o. c2 i2 o; W$ q4 D; l( P: u0 B0 I
|