163 lines
3.6 KiB
Markdown
163 lines
3.6 KiB
Markdown
# 主机构建环境搭建
|
||
|
||
## Ubuntu LTS
|
||
```
|
||
# 安装 repo git
|
||
sudo apt install repo git
|
||
```
|
||
|
||
## 切换Python 2 版本 (Ubuntu18.04)
|
||
|
||
由于在Ubuntu18.04中,用apt命令安装的repo版本较旧,仅支持Python2版本,所以我们先要将系统python版本切换为python2
|
||
|
||
查看当前Python版本
|
||
```
|
||
python -V
|
||
```
|
||
若返回的版本号为Python2版本,则无需再切换Python版本。若为Python3版本或未发现python,则可以用以下方式切换:
|
||
|
||
```
|
||
#查看当前系统安装的Python版本有哪些
|
||
ls /usr/bin/python*
|
||
|
||
#将python链接到python2
|
||
sudo ln -sf /usr/bin/python2 /usr/bin/python
|
||
|
||
#重新查看默认Python版本
|
||
python -V
|
||
```
|
||
此时系统默认Python版本切换为python2
|
||
|
||
我们需要先将repo升级到最新的完整版本
|
||
|
||
```
|
||
repo init --repo-url https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
|
||
```
|
||
|
||
由于最新的完整版repo使用Python3,而我们的Python环境为Python2,所以脚本无法正常运行,需要再切换回Python3。
|
||
|
||
注意:切换Python2版本仅Ubuntu18.04版本需要。
|
||
|
||
## 切换Python 3 版本
|
||
|
||
查看当前Python版本
|
||
```
|
||
python -V
|
||
```
|
||
若返回的版本号为Python3版本,则无需再切换Python版本。若为Python2版本或未发现python,则可以用以下方式切换:
|
||
|
||
```
|
||
#查看当前系统安装的Python版本有哪些
|
||
ls /usr/bin/python*
|
||
|
||
#将python链接到python3
|
||
sudo ln -sf /usr/bin/python3 /usr/bin/python
|
||
|
||
#重新查看默认Python版本
|
||
python -V
|
||
```
|
||
此时系统默认Python版本切换为python3
|
||
|
||
## 拉取源码
|
||
```
|
||
repo init --repo-url https://mirrors.tuna.tsinghua.edu.cn/git/git-repo \
|
||
-u git@gitlab.ebf.local:rockchip/linux/manifests.git -b linux -m rk356x_linux_release.xml
|
||
|
||
.repo/repo/repo sync -c --no-tags
|
||
```
|
||
|
||
# 构建镜像
|
||
## 一键构建
|
||
|
||
```
|
||
#选择要构建的板卡的配置文件
|
||
./build.sh lunch
|
||
|
||
#输入对应板卡不同系统配置文件前的序号
|
||
Which would you like? [0]:1
|
||
|
||
#一键编译
|
||
./build.sh
|
||
```
|
||
|
||
## 单独编译
|
||
|
||
```
|
||
# U-Boot 编译
|
||
./build.sh uboot
|
||
|
||
# Kernel 编译
|
||
/build.sh kernel
|
||
|
||
# Recovery 编译
|
||
# 需要特别注意 recovery.img 是包含 kernel.img,所以每次 Kernel 更改,Recovery 是需要重新打包生成。
|
||
source envsetup.sh rockchip_rk3568
|
||
./build.sh recovery
|
||
|
||
# Buildroot 编译
|
||
./build.sh buildroot
|
||
|
||
# Debian 编译
|
||
./build.sh debian
|
||
|
||
# 打包update.img镜像
|
||
./build.sh updateimg
|
||
```
|
||
|
||
## 构建示例
|
||
|
||
### LubanCat2 板卡 Debian 10 操作系统构建
|
||
|
||
Debian/Ubuntu镜像构建之前,请查看相应目录下readme.md文件,安装构建工具,此构建工具不同版本不通用。
|
||
|
||
```
|
||
# 选择板卡配置文件,可直接指定配置文件名称,也可以用 ./build.sh lunch 来选择
|
||
./build.sh BoardConfig-LubanCat2-debian.mk
|
||
|
||
# U-Boot 编译
|
||
./build.sh uboot
|
||
|
||
# Kernel 编译
|
||
/build.sh kernel
|
||
|
||
# Recovery 编译
|
||
source envsetup.sh rockchip_rk3568
|
||
./build.sh recovery
|
||
|
||
# Ubuntu 编译
|
||
./build.sh debian
|
||
|
||
# 打包update.img镜像
|
||
./build.sh updateimg
|
||
```
|
||
|
||
### LubanCat2 板卡 Buildroot操作系统构建
|
||
|
||
```
|
||
# 选择板卡配置文件,可直接指定配置文件名称,也可以用 ./build.sh lunch 来选择
|
||
./build.sh BoardConfig-LubanCat2-buildroot.mk
|
||
|
||
# U-Boot 编译
|
||
./build.sh uboot
|
||
|
||
# Kernel 编译
|
||
/build.sh kernel
|
||
|
||
# Recovery 编译
|
||
source envsetup.sh rockchip_rk3568
|
||
./build.sh recovery
|
||
|
||
# Buildroot 编译
|
||
./build.sh buildroot
|
||
|
||
# 打包update.img镜像
|
||
./build.sh updateimg
|
||
```
|
||
|
||
#### 注意
|
||
|
||
- 指定的配置文件需要与操作系统对应
|
||
- 各操作系统只有rootfs的构建不同,U-Boot、Kernel、Recovery都是相同的
|
||
- 生成的镜像保存在 rockdev目录下,在 IMAGE 目录下备份
|
||
- Ubuntu镜像需单独操作,具体方法请查看文档《LubanCat镜像构建与部署》
|