!32 build Raspberry Pi image, refine the documentation
From: @woqidaideshi Reviewed-by: @jianminw, @chainsx Signed-off-by: @chainsx
This commit is contained in:
commit
8ba8d09ca4
143
README.en.md
143
README.en.md
@ -16,6 +16,8 @@ This repository is the main repository of the openEuler SBC (Single-Board Comput
|
||||
- [How to build image](#how-to-build-image)
|
||||
- [Prepare the environment](#prepare-the-environment)
|
||||
- [Run the scripts to build image](#run-the-scripts-to-build-image)
|
||||
- [Build on host](#build-on-host)
|
||||
- [Build in a Docker container](#build-in-a-docker-container)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
@ -51,15 +53,16 @@ You can get introduction of openEuler SBC SIG from [sig-SBC](https://gitee.com/o
|
||||
>- Recommendation: use the latest images provided in the chapter [How to download latest image](#how-to-download-latest-image) of this documentation.
|
||||
|
||||
- [documents](./documents/):
|
||||
- [Raspberry Pi](documents/树莓派.md)
|
||||
- [Getting started with Raspberry Pi](documents/树莓派.md)
|
||||
- [How to contribute](documents/CONTRIBUTING.md)
|
||||
- [Raspberry Pi](documents/RaspberryPi.md)
|
||||
- [Getting started with Raspberry Pi](documents/RaspberryPi.md)
|
||||
- [Install openEuler on an SD card](documents/raspberrypi/刷写镜像.md)
|
||||
- [How to use Raspberry Pi](documents/raspberrypi/树莓派使用.md)
|
||||
- [Building openEuler image for Raspberry Pi](documents/raspberrypi/openEuler镜像的构建.md)
|
||||
- [Cross-compile the kernel](documents/raspberrypi/交叉编译内核.md)
|
||||
- [Emulate Raspberry Pi with QEMU](documents/raspberrypi/QEMU启动树莓派.md)
|
||||
- [Rockchip and other SoCs](documents/瑞芯微等开发板.md)
|
||||
- [Getting started with Rockchip and other SoCs](documents/瑞芯微等开发板.md)
|
||||
- [Rockchip and other SoCs](documents/Rockchip.md)
|
||||
- [Getting started with Rockchip and other SoCs](documents/Rockchip.md)
|
||||
- [Building openEuler image for Rockchip development boards](documents/rockchip/openEuler镜像的构建.md)
|
||||
- [Install an Image on an EMMC](documents/rockchip/刷写EMMC镜像.md)
|
||||
- [Build images sequentially](documents/rockchip/顺序构建.md)
|
||||
@ -70,17 +73,13 @@ You can get introduction of openEuler SBC SIG from [sig-SBC](https://gitee.com/o
|
||||
- [openEuler Adaptation Guide](documents/rockchip/openEuler适配指南.md)
|
||||
- [Using RKNPU on openEuler](documents/rockchip/在openEuler上使用RKNPU.md)
|
||||
- [Run RKLLM on openEuler](documents/rockchip/在openEuler上运行RKLLM.md)
|
||||
- [scripts](./scripts/):
|
||||
- [Raspberry Pi](./scripts/raspberrypi): Script for building openEuler image for Raspberry Pi
|
||||
- [Quickly Build (without kernel compilation)](scripts/raspberrypi/build-image.sh)
|
||||
- [Build on host (with kernel compilation)](scripts/raspberrypi/build-image-common.sh)
|
||||
- [Build in a Docker container (with kernel compilation)](scripts/raspberrypi/build-image-docker.sh)
|
||||
- [Rockchip and other SoCs](./scripts/rockchip): Used to build openEuler images for Rockchip and other SoCs
|
||||
- [One-time build images](scripts/rockchip/build.sh)
|
||||
- [Build a boot Image](scripts/rockchip/build_boot.sh)
|
||||
- [Build a rootfs Image](scripts/rockchip/build_rootfs.sh)
|
||||
- [Compile u-boot](scripts/rockchip/build_u-boot.sh)
|
||||
- [Generate a bootable image](scripts/rockchip/gen_image.sh)
|
||||
- [scripts](./scripts/): Script for building openEuler image
|
||||
- [Build a unified system image](scripts/build.sh)
|
||||
- [Build a unified system image using Docker](./scripts/build-image-docker.sh)
|
||||
- [Build a boot Image](scripts/build_boot.sh)
|
||||
- [Build a rootfs Image](scripts/build_rootfs.sh)
|
||||
- [Compile u-boot](scripts/build_u-boot.sh)
|
||||
- [Generate a bootable image](scripts/gen_image.sh)
|
||||
|
||||
## How to download latest image
|
||||
|
||||
@ -306,38 +305,98 @@ To build openEuler AArch64 image for Raspberry Pi, Rockchip or other SoCs, the r
|
||||
For other architecture hardware, you can use [QEMU](https://www.qemu.org/) to build AArch64 system emulation.
|
||||
|
||||
### Run the scripts to build image
|
||||
You can use the unified build scripts [build.sh](./scripts/build.sh) or [build-image-docker.sh](./scripts/build-image-docker.sh) to build images for Raspberry Pi, Rockchip, and other development boards, either directly on the host machine or by launching a Docker container. For details, please refer to the documentation below:
|
||||
- [Build Raspberry Pi images](./documents/RaspberryPi.md#构建镜像)
|
||||
- [Build images for Rochchip and other SoCs](./documents/Rockchip.md#镜像构建)
|
||||
|
||||
You can use the respective scripts of Raspberry Pi, Rockchip or other SoCs to build images. Refer to the specific documentation:
|
||||
- [Build Raspberry Pi images](./documents/树莓派.md#构建镜像)
|
||||
- [Build images for Rochchip and other SoCs](./documents/瑞芯微等开发板.md#镜像构建)
|
||||
#### Build on host
|
||||
Run the following command to build images on the host machine:
|
||||
|
||||
Alternatively, you can use the unified entry point [build.sh](./scripts/build.sh) to build images for Raspberry Pi, Rockchip or other SoCs by executing the following command:
|
||||
`sudo bash build.sh --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
`sudo bash scripts/build.sh --board BOARD_TYPE --in-docker [other_args...]`
|
||||
After building the image, you can find the image in `build/YYYY-MM-DD` of the directory in which the script resides as shown in the script output.
|
||||
|
||||
Parameter Definitions & Meaning:
|
||||
**NOTE: You can directly execute "sudo bash build.sh" to build an openEuler 20.03 LTS image for Firefly-RK3399 with the script's default parameters.**
|
||||
|
||||
1. `--in-docker`
|
||||
Build the image using a Docker container. Refer to the links below:
|
||||
- [Build Raspberry Pi images in Docker](./documents/树莓派.md#docker-容器内构建)
|
||||
- [Build images for Rockchip or other SoCs in Docker](./documents/瑞芯微等开发板.md#docker-容器内构建)
|
||||
**Parameter Descriptions**
|
||||
|
||||
2. `--board BOARD_TYPE`
|
||||
Specifies the development board type. Currently supported parameters include:
|
||||
1. --board BOARD_CONFIG
|
||||
The board configuration files are located in the [boards](scripts/boards) directory. See the example file [sample.conf](scripts/boards/sample.conf). The default is `firefly-rk3399`.
|
||||
|
||||
- `rpi`: Build a Raspberry Pi image without compiling the kernel. For other parameters, refer to [Quick build for Raspberry Pi (no kernel compilation)](./documents/树莓派.md#快速构建无需编译内核推荐).
|
||||
- `rpi-custom`: Build a Raspberry Pi image with kernel compilation. For other parameters, refer to [Build a Raspberry Pi image using a custom-compiled kernel](./documents/树莓派.md#完全构建包括编译内核).
|
||||
- `firefly-itx-3588j`: Build a Firefly ITX-3588J image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `firefly-rk3399`: Build a Firefly RK3399 image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `firefly-roc-rk3566-pc`: Build a Firefly ROC-RK3566-PC image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `firefly-roc-rk3568-pc`: Build a Firefly ROC-RK3568-PC image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `firefly-roc-rk3568-pc-se`: Build a Firefly ROC-RK3568-PC-SE image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `firefly-roc-rk3588s-pc`: Build a Firefly ROC-RK3588S-PC image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `phytiumpi-4gb`: Build a Phytium Pi 4GB image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `radxa-rock5b`: Build a Radxa Rock-5B image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `radxa-rockpi-4a`: Build a Radxa RockPi-4A image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `orangepi-zero2`: Build a Orange Pi Zero2 image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
- `longanpi-3h`: Build a Sipeed Longan Pi 3H image. For other parameters, refer to [Build an image for Rockchip or other SoCs](./documents/瑞芯微等开发板.md#一次构建).
|
||||
Configuration parameters included:
|
||||
- platform=PLATFORM
|
||||
|
||||
3. `-h`, `--help`
|
||||
Display help information.
|
||||
The Hardware platform used by the board. Currently supported platforms are: broadcom, rockchip, phytium. Default is `rockchip`.
|
||||
|
||||
- device-tree=DTB_NAME
|
||||
|
||||
The device name in the kernel device tree (slightly different from the board name). Corresponds to the `DTB_NAME.dts` file under [kernel/arch/arm64/boot/dts/rockchip](https://gitee.com/openeuler/kernel/tree/master/arch/arm64/boot/dts/rockchip). Default is `rk3399-firefly`.
|
||||
|
||||
- ubootconfig=UBOOT_DEFCONFIG
|
||||
|
||||
The defconfig file name for the development board. Corresponds to the `UBOOT_DEFCONFIG` file under [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs). Default is `firefly-rk3399_defconfig`. To use a precompiled u-boot (e.g., on RK3588), set this to empty: ubootconfig=.
|
||||
|
||||
2. -n, --name IMAGE_NAME
|
||||
|
||||
The image name to be built. For example, `openEuler-20.03-LTS-Firefly-RK3399-aarch64-alpha1` or `openEuler-24.03-LTS-raspi-aarch64-alpha1`.
|
||||
|
||||
3. -k, --kernel KERNEL_URL
|
||||
|
||||
The URL of kernel source repository, which defaults to `https://gitee.com/openeuler/raspberrypi-kernel.git`. You can set the parameter as `git@gitee.com:openeuler/raspberrypi-kernel.git` or `git@gitee.com:openeuler/kernel.git` according to the requirement.
|
||||
|
||||
4. -b, --branch KERNEL_BRANCH
|
||||
|
||||
The branch name of kernel source repository, which defaults to openEuler-20.03-LTS.
|
||||
|
||||
5. -c, --config KERNEL_DEFCONFIG
|
||||
|
||||
The filename/path of configuration for compiling kernel, which defaults to `openeuler-raspi_defconfig`. If this parameter is the filename of configuration, please make sure the configuration file in `arch/arm64/configs` of the kernel source.
|
||||
|
||||
6. -r, --repo REPO_INFO
|
||||
|
||||
The URL/path of target repo file, or the list of repositories' baseurls. Note that, the baseurls should be separated by space and enclosed in double quotes.
|
||||
Examples are as follows:
|
||||
|
||||
- The URL of target repo file: `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo`.
|
||||
|
||||
- The path of target repo file:
|
||||
|
||||
`./openEuler-20.03-LTS.repo`:for building openEuler 20.03 LTS image, refer to <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo> for details.
|
||||
|
||||
- List of repo's baseurls: `http://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/aarch64/`.
|
||||
|
||||
7. -s, --spec SPEC
|
||||
|
||||
Specify the image version:
|
||||
- `headless`, image without desktop environments.
|
||||
- `xfce`, image with Xfce desktop environment and related software including CJK fonts and IME.
|
||||
- `ukui`, image with UKUI desktop environment and fundamental software including CJK fonts and IME.
|
||||
- `dde`, image with DDE desktop environment and fundamental software including CJK fonts and IME.
|
||||
- `gnome`,image with GNOME desktop environment and fundamental software including CJK fonts and IME.
|
||||
- `devstation`,image with GNOME desktop environment and fundamental software including CJK fonts, IME, development tools and IDEs.
|
||||
- The file path of rpmlist, the file contains a list of the software to be installed in the image, refer to [rpmlist](./scripts/configs/rpmlist) for details.
|
||||
|
||||
The default is `headless`.
|
||||
|
||||
8. --cores N
|
||||
|
||||
The number of parallel compilations, according to the actual number of CPU of the host running the script. The default is the number of processing units available.
|
||||
|
||||
9. -h, --help
|
||||
|
||||
Displays help information.
|
||||
|
||||
#### Build in a Docker container
|
||||
Run the following command to build an image in a Docker container:
|
||||
|
||||
`sudo bash build-image-docker.sh -d DOCKER_FILE --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
After building the image, you can find the image in `build/YYYY-MM-DD` of the directory in which the script resides.
|
||||
|
||||
Caution, before running the script, you need to install Docker. The script will automatically import the Docker image into the local system according to the script's parameter: DOCKER_FILE.
|
||||
|
||||
In addition to the parameter DOCKER_FILE, the other parameters are the same as the corresponding parameters in [Build on host](#build-on-host):
|
||||
|
||||
1. -d, --docker DOCKER_FILE
|
||||
|
||||
The URL/path of the Docker image, which defaults to `https://repo.openeuler.org/openEuler-20.03-LTS-SP1/docker_img/aarch64/openEuler-docker.aarch64.tar.xz`. With the default parameter, the script will automatically download the Docker image of openEuler 20.03 LTS SP1 and import it into the local system.
|
||||
|
||||
147
README.md
147
README.md
@ -16,6 +16,8 @@
|
||||
- [镜像构建](#镜像构建)
|
||||
- [准备环境](#准备环境)
|
||||
- [构建镜像](#构建镜像)
|
||||
- [宿主机上构建镜像](#宿主机上构建镜像)
|
||||
- [Docker 容器内构建镜像](#docker-容器内构建镜像)
|
||||
|
||||
<!-- /TOC -->
|
||||
## To Do List
|
||||
@ -50,15 +52,16 @@ SIG 组基本信息位于 [sig-SBC](https://gitee.com/openeuler/community/tree/m
|
||||
>- 建议直接使用本文档 [最新镜像](#最新镜像) 章节中给出的 openEuler 的树莓派/RK3399等镜像。
|
||||
|
||||
- [documents](./documents/): 使用文档
|
||||
- [树莓派](documents/树莓派.md)
|
||||
- [树莓派快速入门](documents/树莓派.md)
|
||||
- [贡献指南](documents/CONTRIBUTING.md)
|
||||
- [树莓派](documents/RaspberryPi.md)
|
||||
- [树莓派快速入门](documents/RaspberryPi.md)
|
||||
- [刷写镜像](documents/raspberrypi/刷写镜像.md)
|
||||
- [树莓派使用](documents/raspberrypi/树莓派使用.md)
|
||||
- [openEuler 镜像的构建](documents/raspberrypi/openEuler镜像的构建.md)
|
||||
- [交叉编译内核](documents/raspberrypi/交叉编译内核.md)
|
||||
- [QEMU 启动树莓派](documents/raspberrypi/QEMU启动树莓派.md)
|
||||
- [瑞芯微等其他开发板](documents/瑞芯微等开发板.md)
|
||||
- [瑞芯微等快速入门](documents/瑞芯微等开发板.md)
|
||||
- [瑞芯微等其他开发板](documents/Rockchip.md)
|
||||
- [瑞芯微等快速入门](documents/Rockchip.md)
|
||||
- [openEuler镜像的构建](documents/rockchip/openEuler镜像的构建.md)
|
||||
- [刷写EMMC镜像](documents/rockchip/刷写EMMC镜像.md)
|
||||
- [顺序构建](documents/rockchip/顺序构建.md)
|
||||
@ -69,17 +72,13 @@ SIG 组基本信息位于 [sig-SBC](https://gitee.com/openeuler/community/tree/m
|
||||
- [openEuler 适配指南](documents/rockchip/openEuler适配指南.md)
|
||||
- [在openEuler上使用RKNPU](documents/rockchip/在openEuler上使用RKNPU.md)
|
||||
- [在openEuler上运行RKLLM](documents/rockchip/在openEuler上运行RKLLM.md)
|
||||
- [scripts](./scripts/): 镜像构建脚本
|
||||
- [树莓派](./scripts/raspberrypi): 构建 openEuler 树莓派镜像的脚本
|
||||
- [快速构建(不编译内核)](scripts/raspberrypi/build-image.sh)
|
||||
- [主机上构建(编译内核)](scripts/raspberrypi/build-image-common.sh)
|
||||
- [Docker 容器中构建(编译内核)](scripts/raspberrypi/build-image-docker.sh)
|
||||
- [瑞芯微等开发板](./scripts/rockchip): 构建 openEuler RK3399 等开发板镜像的脚本
|
||||
- [一次构建脚本](scripts/rockchip/build.sh)
|
||||
- [boot 镜像构建脚本](scripts/build_boot.sh)
|
||||
- [rootfs 镜像构建脚本](scripts/build_rootfs.sh)
|
||||
- [u-boot 编译脚本](scripts/rockchip/build_u-boot.sh)
|
||||
- [可启动镜像生成脚本](scripts/rockchip/gen_image.sh)
|
||||
- [scripts](./scripts/): openEuler 镜像构建脚本
|
||||
- [构建完整镜像](scripts/build.sh)
|
||||
- [使用 Docker 构建完整镜像](./scripts/build-image-docker.sh)
|
||||
- [构建 boot 镜像](scripts/build_boot.sh)
|
||||
- [构建 rootfs 镜像](scripts/build_rootfs.sh)
|
||||
- [编译 u-boot](scripts/build_u-boot.sh)
|
||||
- [将 u-boot、boot、rootfs 合并成一个完整镜像](scripts/gen_image.sh)
|
||||
|
||||
## 最新镜像
|
||||
|
||||
@ -305,37 +304,101 @@ SIG 组基本信息位于 [sig-SBC](https://gitee.com/openeuler/community/tree/m
|
||||
其他架构可以使用 [QEMU](https://www.qemu.org/) 模拟器搭建 AArch64 运行环境。
|
||||
|
||||
### 构建镜像
|
||||
镜像构建使用统一入口 [build.sh](./scripts/build.sh) 或 [build-image-docker.sh](./scripts/build-image-docker.sh) 在宿主机或者启动 Docker 容器构建树莓派或瑞芯微等开发板镜像。
|
||||
具体参考以下文档:
|
||||
- [树莓派镜像构建](./documents/RaspberryPi.md#构建镜像)
|
||||
- [瑞芯微等开发板镜像构建](./documents/Rockchip.md#镜像构建)
|
||||
|
||||
可以使用树莓派或瑞芯微等开发板各自的脚本构建镜像,具体文档参考:
|
||||
- [树莓派镜像构建](./documents/树莓派.md#构建镜像)
|
||||
- [瑞芯微等开发板镜像构建](./documents/瑞芯微等开发板.md#镜像构建)
|
||||
#### 宿主机上构建镜像
|
||||
|
||||
也可以使用统一入口 [build.sh](./scripts/build.sh) 构建树莓派或瑞芯微等开发板镜像,执行命令:
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash scripts/build.sh --board BOARD_TYPE --in-docker [other_args...]`
|
||||
`sudo bash build.sh --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
各个参数含义:
|
||||
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 build/YYYY-MM-DD/ 下。
|
||||
|
||||
1. --in-docker
|
||||
使用 Docker 容器构建镜像,参考链接:
|
||||
- [使用 Docker 容器构建树莓派镜像](./documents/树莓派.md#docker-容器内构建)
|
||||
- [使用 Docker 容器构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#docker-容器内构建)
|
||||
**说明: 基于 build.sh 提供的默认参数,执行 sudo bash build.sh 可构建 Firefly-RK3399 的 openEuler-20.03-LTS 镜像。**
|
||||
|
||||
2. --board BOARD_TYPE
|
||||
开发板类型和构建方式。当前支持的参数有:
|
||||
- rpi,无需编译内核直接构建树莓派镜像,其他参数请参考 [无需编译内核快速构建树莓派镜像](./documents/树莓派.md#快速构建无需编译内核推荐)。
|
||||
- rpi-custom,编译内核并构建树莓派镜像,其他参数请参考 [编译内核构建树莓派镜像](./documents/树莓派.md#完全构建包括编译内核)。
|
||||
- firefly-itx-3588j,构建 Firefly ITX-3588J 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- firefly-rk3399,构建 Firefly RK3399 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- firefly-roc-rk3566-pc,构建 Firefly ROC-RK3566-PC 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- firefly-roc-rk3568-pc,构建 Firefly ROC-RK3568-PC 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- firefly-roc-rk3568-pc-se,构建 Firefly ROC-RK3568-PC-SE 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- firefly-roc-rk3588s-pc,构建 Firefly ROC-RK3588S-PC 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- phytiumpi-4gb,构建 Phytium Pi 4GB 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- radxa-rock5b,构建 Radxa Rock-5B 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- radxa-rockpi-4a,构建 Radxa RockPi-4A 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- orangepi-zero2,构建 Orange Pi Zero2 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
- longanpi-3h,构建 Sipeed Longan Pi 3H 开发板镜像,其他参数请参考 [构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#一次构建)。
|
||||
**参数意义**
|
||||
|
||||
3. -h, --help
|
||||
显示帮助信息。
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](scripts/boards) 文件夹中,示例文件 [sample.conf](scripts/boards/sample.conf),默认为 `firefly-rk3399`。
|
||||
|
||||
其包括的配置参数意义如下:
|
||||
|
||||
- platform=PLATFORM
|
||||
|
||||
开发板所使用的平台,目前支持的平台有:broadcom、rockchip、phytium,默认为 `rockchip`。
|
||||
|
||||
- device-tree=DTB_NAME
|
||||
|
||||
内核设备树中的设备名称,和开发板名称有一点区别,对应 [kernel/arch/arm64/boot/dts/rockchip](https://gitee.com/openeuler/kernel/tree/master/arch/arm64/boot/dts/rockchip) 下的 `DTB_NAME.dts` 文件,默认为 `rk3399-firefly`。
|
||||
|
||||
- ubootconfig=UBOOT_DEFCONFIG
|
||||
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `UBOOT_DEFCONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3588 开发板上使用预编译的 u-boot,可以将此项设置为空:`ubootconfig=`。
|
||||
|
||||
2. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称,例如:`openEuler-20.03-LTS-Firefly-RK3399-aarch64-alpha1` 或 `openEuler-24.03-LTS-raspi-aarch64-alpha1`。
|
||||
|
||||
3. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/rockchip-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/rockchip-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
4. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 openEuler-20.03-LTS。
|
||||
|
||||
5. -c, --config KERNEL_DEFCONFIG
|
||||
|
||||
内核编译使用的配置文件名称或路径,默认为 `openeuler_rockchip_defconfig`。如果该参数为配置文件名称,请确保该文件在内核源码的目录 `arch/arm64/configs` 下。
|
||||
|
||||
6. -r, --repo REPO_INFO
|
||||
|
||||
软件源 repo 文件的 URL 或者路径,也可以是软件源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
|
||||
下面分别举例:
|
||||
- 软件源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo`。
|
||||
- 软件源的 repo 文件路径:
|
||||
|
||||
`./openEuler-20.03-LTS.repo`:生成 openEuler 20.03 LTS 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo>。
|
||||
|
||||
- 资源库的 baseurl 列表,如 `http://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/aarch64/`。
|
||||
|
||||
7. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `dde`,带 DDE 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `gnome`,带 GNOME 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `devstation`,带 GNOME 桌面、中文字体、输入法、大量开发工具和 IDE 等配套软件。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/configs/rockchip//rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
8. --cores N
|
||||
|
||||
并行编译的数量,根据运行脚本的宿主机 CPU 实际数目设定,默认为可用的 CPU 总数。
|
||||
|
||||
9. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
#### Docker 容器内构建镜像
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image-docker.sh -d DOCKER_FILE --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 `build/YYYY-MM-DD/` 下。
|
||||
|
||||
注意!!!运行该脚本前,需安装 Docker 运行环境。该脚本会自动将 `-d DOCKER_FILE` 参数对应的 Docker 镜像导入本机系统中。
|
||||
|
||||
除参数 `-d DOCKER_FILE` 外,其余参数与 [宿主机上构建镜像](#宿主机上构建镜像) 中 [build.sh](scripts/build.sh) 对应参数一致:
|
||||
|
||||
1. -d, --docker DOCKER_FILE
|
||||
|
||||
Docker 镜像的 URL 或者路径, 默认为 `https://repo.openeuler.org/openEuler-20.03-LTS-SP1/docker_img/aarch64/openEuler-docker.aarch64.tar.xz`。使用该默认参数时,脚本会自动下载 openEuler 20.03 LTS SP1 的 Docker 镜像,并导入本机系统中。
|
||||
|
||||
52
documents/CONTRIBUTING.md
Normal file
52
documents/CONTRIBUTING.md
Normal file
@ -0,0 +1,52 @@
|
||||
# 贡献指南
|
||||
openEuler SBC SIG —— 诚挚邀请您的加入。
|
||||
|
||||
SBC(single-board computer)SIG 致力于将 openEuler 操作系统适配到各类单板计算机(SBC),包括但不限于树莓派(Raspberry Pi)、瑞芯微(Rockchip)等。其核心工作涵盖硬件适配、内核维护、镜像构建、社区协作及标准化推进,旨在确保 openEuler 在 SBC 设备上的稳定运行和生态扩展。更多信息请参阅 [openEuler SBC SIG 介绍](https://gitee.com/openeuler/community/blob/master/sig/sig-SBC/README.md)。
|
||||
|
||||
SBC SIG 交流方式可参考:
|
||||
- [openEuler 社区贡献说明](https://gitee.com/openeuler/community/blob/master/zh/contributors/README.md)
|
||||
- [如何参与 SBC SIG](../README.md#如何参与-sig-组)
|
||||
|
||||
本文将以树莓派为例,介绍向 SBC SIG 贡献代码和文档的要求与规范。
|
||||
|
||||
### 内核源码
|
||||
SBC SIG 维护的内核源码仓库包括:
|
||||
- [树莓派内核](https://gitee.com/openeuler/raspberrypi-kernel)
|
||||
- [瑞芯微内核](https://gitee.com/openeuler/rockchip-kernel)
|
||||
- [飞腾内核](https://gitee.com/openeuler/phytium-kernel)
|
||||
- [全志内核](https://gitee.com/openeuler/allwinner-kernel)
|
||||
|
||||
内核源码贡献相关流程如下:
|
||||
1. 新增开发板适配需求:请在本仓库提交 ISSUE,待需求审核通过并在 openEuler 社区创建对应内核仓库后,方可接受相关内核适配的 PR。
|
||||
2. 现有内核(树莓派、瑞芯微、飞腾或全志)适配:请在对应内核仓库或本仓库提交 ISSUE,并根据 ISSUE 提交新特性或内核修复的 PR。
|
||||
|
||||
### 镜像构建
|
||||
SBC SIG 目前使用一套统一脚本构建各类开发板镜像,详见 [scripts](../scripts/)。主要包括:
|
||||
- [构建完整镜像](../scripts/build.sh)
|
||||
- [使用 Docker 构建完整镜像](../scripts/build-image-docker.sh)
|
||||
- [构建 boot 镜像](../scripts/build_boot.sh)
|
||||
- [构建 rootfs 镜像](../scripts/build_rootfs.sh)
|
||||
- [编译 u-boot](../scripts/build_u-boot.sh)
|
||||
- [将 u-boot、boot、rootfs 合并成一个完整镜像](../scripts/gen_image.sh)
|
||||
- [构建开发板镜像的配置文件](../scripts/boards/),如构建树莓派镜像的配置文件为 [raspberrypi.conf](../scripts/boards/raspberrypi.conf)。
|
||||
|
||||
以添加树莓派镜像构建脚本为例,步骤如下:
|
||||
1. 在 [scripts/boards](../scripts/boards/) 下添加构建树莓派镜像的配置文件:[raspberrypi.conf](../scripts/boards/raspberrypi.conf)。
|
||||
2. 根据树莓派镜像构建需求,依次完善以下脚本:
|
||||
- [构建 boot 镜像](scripts/build_boot.sh)
|
||||
- [构建 rootfs 镜像](scripts/build_rootfs.sh)
|
||||
- [编译 u-boot](scripts/build_u-boot.sh)
|
||||
3. 完善脚本 [scripts/gen_image.sh](../scripts/gen_image.sh),将上述步骤生成的 u-boot、boot、rootfs 整合成一个完整镜像。
|
||||
|
||||
构建脚本命令及参数说明请参考:
|
||||
1. [树莓派镜像构建](./RaspberryPi.md#构建镜像)
|
||||
1. [瑞芯微等开发板镜像构建](./Rockchip.md#构建完整镜像)
|
||||
|
||||
### 文档
|
||||
SBC SIG 维护的各类开发板构建与使用文档存放于 [documents](./)。以添加树莓派相关文档为例,应包含以下内容:
|
||||
1. 在 [README.md](../README.md) 和 [README.en.md](../README.en.md) 中补充:
|
||||
1. 树莓派相关文档列表:[文件说明](../README.md#文件说明)
|
||||
2. [树莓派镜像下载列表](../README.md#树莓派)
|
||||
3. [树莓派镜像构建方法](../README.md#构建镜像)
|
||||
2. 在 [documents](./) 目录下添加树莓派的导航文档:[RaspberryPi.md](./RaspberryPi.md) ,文档名称为树莓派英文全称。
|
||||
3. 在以树莓派英文全称命名的文件夹 [RaspberryPi](./RaspberryPi) 中归档所有树莓派相关文档。
|
||||
@ -11,9 +11,9 @@
|
||||
- [镜像构建](#镜像构建)
|
||||
- [准备环境](#准备环境)
|
||||
- [构建镜像](#构建镜像)
|
||||
- [快速构建(无需编译内核,推荐)](#快速构建无需编译内核推荐)
|
||||
- [完全构建(包括编译内核)](#完全构建包括编译内核)
|
||||
- [Docker 容器内构建](#docker-容器内构建)
|
||||
- [无需编译内核构建镜像](#无需编译内核构建镜像)
|
||||
- [使用自定义内核构建镜像](#使用自定义内核构建镜像)
|
||||
- [Docker 容器内构建镜像](#docker-容器内构建镜像)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
@ -38,10 +38,12 @@
|
||||
- [openEuler 21.09 内测版(DDE 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-DDE.md)
|
||||
- [openEuler 21.09 内测版(Xfce 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-Xfce.md)
|
||||
- [openEuler 21.09 内测版(LXDE 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-LXDE.md)
|
||||
- [scripts](../scripts/raspberrypi): 构建 openEuler 树莓派镜像的脚本
|
||||
- [快速构建(不编译内核)](../scripts/raspberrypi/build-image.sh)
|
||||
- [完全构建(编译内核)](../scripts/raspberrypi/build-image-common.sh)
|
||||
- [Docker 容器中构建](../scripts/raspberrypi/build-image-docker.sh)
|
||||
- [scripts](../scripts): 构建 openEuler 树莓派镜像的脚本
|
||||
- [构建完整镜像](scripts/build.sh)
|
||||
- [使用 Docker 构建完整镜像](./scripts/build-image-docker.sh)
|
||||
- [构建 boot 镜像](scripts/build_boot.sh)
|
||||
- [构建 rootfs 镜像](scripts/build_rootfs.sh)
|
||||
- [将 u-boot、boot、rootfs 合并成一个完整镜像](scripts/gen_image.sh)
|
||||
|
||||
## 最新镜像
|
||||
|
||||
@ -75,12 +77,93 @@
|
||||
|
||||
详细过程参见 [openEuler 镜像的构建](raspberrypi/openEuler镜像的构建.md)。
|
||||
|
||||
构建脚本见 [scripts/raspberrypi](../scripts/raspberrypi)。
|
||||
构建脚本见 [scripts](../scripts)。
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build.sh --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 `build/YYYY-MM-DD/` 下。
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/boards) 文件夹中,示例文件 [sample.conf](../scripts/boards/sample.conf)。构建树莓派镜像需要设置为 `raspberrypi`,对应文件 [raspberrypi.conf](../scripts/boards/raspberrypi.conf)。
|
||||
|
||||
其包括的配置参数意义如下:
|
||||
|
||||
- platform=PLATFORM
|
||||
|
||||
开发板所使用的平台,目前支持的平台有:broadcom、rockchip、phytium。构建树莓派镜像需要设置为 `broadcom`。
|
||||
|
||||
- device-tree=DTB_NAME
|
||||
|
||||
内核设备树中的设备名称,和开发板名称有一点区别,对应 [kernel/arch/arm64/boot/dts/broadcom](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/arch/arm64/boot/dts/broadcom) 下的 `DTB_NAME.dts` 文件。构建树莓派镜像时,默认编译出所有树莓派平台的设备树文件,因此该参数可以为空或者根据需要设置为 `bcm2711-rpi-4-b` 或 `bcm2712-rpi-5-b`。
|
||||
|
||||
- ubootconfig=UBOOT_DEFCONFIG
|
||||
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `UBOOT_DEFCONFIG` 文件,默认为 `firefly-rk3399_defconfig`。构建树莓派镜像无需这部分内容,默认为空:`ubootconfig=`。
|
||||
|
||||
2. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称,例如:`openEuler-24.03-LTS-raspi-aarch64-alpha1`。
|
||||
|
||||
3. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,如 `https://gitee.com/openeuler/raspberrypi-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
注意,如果本参数为空,则不会编译内核源码,默认使用软件源中的内核包。
|
||||
|
||||
4. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,例如:OLK-6.6。详细信息可参考 [使用自定义内核构建镜像](#使用自定义内核构建镜像) 章节。
|
||||
|
||||
5. -c, --config KERNEL_DEFCONFIG
|
||||
|
||||
内核编译使用的配置文件名称或路径,如 `bcm2711_defconfig`、`bcm2712_defconfig`。如果该参数为配置文件名称,请确保该文件在内核源码的目录 arch/arm64/configs 下。
|
||||
|
||||
注意,如果 `--branch` 参数为 `OLK-6.6` 且本参数 `--config` 为空,则默认编译出同时支持树莓派 5 和树莓派 4B 的内核映像。
|
||||
|
||||
6. -r, --repo REPO_INFO
|
||||
|
||||
软件源 repo 文件的 URL 或者路径,也可以是软件源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
|
||||
下面分别举例:
|
||||
- 软件源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP1/generic.repo`
|
||||
- 软件源的 repo 文件路径:
|
||||
|
||||
`./openEuler-20.03-LTS-SP1.repo`:生成 openEuler 20.03 LTS SP1 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo>。
|
||||
- 资源库的 baseurl 列表,如 `"http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS-SP1/EPOL/aarch64/"`。
|
||||
|
||||
7. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `dde`,带 DDE 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `gnome`,带 GNOME 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `devstation`,带 GNOME 桌面、中文字体、输入法、大量开发工具和 IDE 等配套软件。
|
||||
- rpmlist 文件路径,该文件包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/configs/raspberrypi/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
8. --cores N
|
||||
|
||||
并行编译的数量,根据运行脚本的宿主机 CPU 实际数目设定,默认为可用的 CPU 总数。
|
||||
|
||||
9. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
|
||||
#### 无需编译内核构建镜像
|
||||
例如,使用软件源中的内核包构建 openEuler 24.03 LTS SP2 版本 openEuler 树莓派镜像,执行命令:`sudo bash build.sh --board raspberrypi --kernel "" --branch "" --config "" --repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-24.03-LTS-SP2/generic.repo --name openEuler-24.03-LTS-raspi-aarch64-alpha1`
|
||||
|
||||
#### 快速构建(无需编译内核,推荐)
|
||||
|
||||
> **须知:**
|
||||
>当前支持多个 openEuler 版本,即 20.09、20.03 LTS SP1、21.03、20.03 LTS SP2、21.09、20.03 LTS SP3、22.03 LTS、22.09、22.03 LTS SP1、23.03、22.03 LTS SP2、22.03 LTS SP3、24.03 LTS、22.03 LTS SP4、24.09、24.03 LTS SP1、25.03、24.03 LTS SP2 版本。
|
||||
>无需编译内核,使用软件源中的内核包,当前支持版本有 20.09、20.03 LTS SP1、21.03、20.03 LTS SP2、21.09、20.03 LTS SP3、22.03 LTS、22.09、22.03 LTS SP1、23.03、22.03 LTS SP2、22.03 LTS SP3、24.03 LTS、22.03 LTS SP4、24.09、24.03 LTS SP1、25.03、24.03 LTS SP2。
|
||||
>如果构建包含 Xfce/UKUI/DDE/GNOME 桌面环境或者 DevStation 开发者工作站的镜像,需要注意五点:
|
||||
>1. 构建包含 Xfce 桌面环境的镜像,当前只支持 openEuler 21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本。自 openEuler 24.03 LTS SP1 起,不再支持 Xfce 桌面环境。
|
||||
>2. 构建包含 DDE 桌面环境的镜像,当前只支持 openEuler 20.03 LTS SP1/21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09/24.03 LTS SP1/25.03/24.03 LTS SP2 版本。
|
||||
@ -88,168 +171,68 @@
|
||||
>4. 构建 DevStation 开发者工作站的镜像,当前只支持 openEuler 24.03 LTS SP1/25.03/24.03 LTS SP2 版本。
|
||||
>5. 根据需要设置 -s/--spec,其具体意义见该参数的介绍部分。
|
||||
|
||||
使用已有的树莓派内核、固件、蓝牙等 RPM 包构建镜像。
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image.sh -d DIR -r REPO -n IMAGE_NAME -s SPEC`
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -d, --dir DIR
|
||||
|
||||
构建镜像和临时文件的输出目录,默认为脚本所在目录。如果 `DIR` 不存在则会自动创建。
|
||||
|
||||
脚本运行结束后,会提示镜像的存储位置,默认保存在 `DIR/raspi_output/img/` 下。
|
||||
|
||||
2. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
|
||||
下面分别举例:
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-21.03/generic.repo`。
|
||||
- 开发源的 repo 文件路径:
|
||||
- `./openEuler-21.03.repo`:生成 openEuler 21.03 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo>。
|
||||
- 资源库的 baseurl 列表,如 `"http://repo.openeuler.org/openEuler-21.03/OS/aarch64/ http://repo.openeuler.org/openEuler-21.03/EPOL/aarch64/"`。
|
||||
|
||||
3. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称。
|
||||
|
||||
例如,`openEuler-21.03.img`。默认为`openEuler-raspi-aarch64.img`,或者根据 `-n, --name IMAGE_NAME` 参数自动生成。
|
||||
|
||||
4. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `dde`,带 DDE 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `gnome`,带 GNOME 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `devstation`,带 GNOME 桌面、中文字体、输入法、大量开发工具和 IDE 等配套软件。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/raspberrypi/config/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
5. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
#### 完全构建(包括编译内核)
|
||||
|
||||
包含编译内核、下载树莓派相关固件等过程,速度相对较慢。
|
||||
#### 使用自定义内核构建镜像
|
||||
例如,使用软件源中的内核包构建 openEuler 24.03 LTS SP2 版本 openEuler 树莓派镜像,执行命令:`sudo bash build.sh --board raspberrypi --kernel "https://gitee.com/openeuler/raspberrypi-kernel.git" --branch "OLK-6.6" --config "" --repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-24.03-LTS-SP2/generic.repo --name openEuler-24.03-LTS-raspi-aarch64-alpha1`
|
||||
|
||||
> **须知:**
|
||||
>当前支持三个 openEuler 版本,即 20.03 LTS、20.09、20.03 LTS SP1、21.03、20.03 LTS SP2、21.09、20.03 LTS SP3、22.03 LTS、22.09、22.03 LTS SP1、23.03、22.03 LTS SP2、22.03 LTS SP3、24.03 LTS、22.03 LTS SP4、24.09、24.03 LTS SP1、25.03、24.03 LTS SP2 版本。
|
||||
>使用自定义内核,当前支持版本有 20.03 LTS、20.09、20.03 LTS SP1、21.03、20.03 LTS SP2、21.09、20.03 LTS SP3、22.03 LTS、22.09、22.03 LTS SP1、23.03、22.03 LTS SP2、22.03 LTS SP3、24.03 LTS、22.03 LTS SP4、24.09、24.03 LTS SP1、25.03、24.03 LTS SP2。
|
||||
>如果构建包含 Xfce/UKUI/DDE 桌面环境或者 DevStation 开发者工作站的镜像,需要注意六点:
|
||||
>1. 构建包含 Xfce 桌面环境的镜像,当前只支持 openEuler 21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本,需要选择对应内核源码和分支。自 openEuler 24.03 LTS SP1 起,不再支持 Xfce 桌面环境。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`。
|
||||
> - openEuler 20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`。
|
||||
> - openEuler 24.03 LTS/24.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,`-b/--branch` 设置为 `openEuler-21.03`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`,`-c/--config` 设置为 `openeuler-raspi_defconfig`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 24.03 LTS/24.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`,`-c/--config` 设置为空 `""`。
|
||||
>2. 构建包含 UKUI 桌面环境的镜像,当前只支持 openEuler 20.09/20.03 LTS SP1/21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09/24.03 LTS SP1/25.03/24.03 LTS SP2 版本,需要选择对应内核源码和分支。
|
||||
> - openEuler 20.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.09`。
|
||||
> - openEuler 20.03 LTS SP1/20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`。
|
||||
> - openEuler 24.03 LTS/24.09/24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`。
|
||||
> - openEuler 20.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.09`,`-c/--config` 设置为 `openeuler-raspi_defconfig`。
|
||||
> - openEuler 20.03 LTS SP1/20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`,`-c/--config` 设置为 `openeuler-raspi_defconfig`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 24.03 LTS/24.09/24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`,`-c/--config` 设置为空 `""`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`,`-c/--config` 设置为空 `""`。
|
||||
>3. 构建包含 DDE 桌面环境的镜像,当前只支持 openEuler 20.03 LTS SP1/21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09/24.03 LTS SP1/25.03/24.03 LTS SP2 版本。
|
||||
> - openEuler 20.03 LTS SP1/20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`。
|
||||
> - openEuler 24.03 LTS/24.09/24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`。
|
||||
> - openEuler 20.03 LTS SP1/20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`,`-c/--config` 设置为 `openeuler-raspi_defconfig`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`,`-c/--config` 设置为 `bcm2711_defconfig`。
|
||||
> - openEuler 24.03 LTS/24.09/24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`,`-c/--config` 设置为空 `""`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`,`-c/--config` 设置为空 `""`。
|
||||
>4. 构建包含 GNOME 桌面环境的镜像,当前只支持 openEuler 24.03 LTS/22.03 LTS SP4/24.09/24.03 LTS SP1/25.03/24.03 LTS SP2 版本。
|
||||
> - openEuler 24.03 LTS/24.09/24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`。
|
||||
> - openEuler 24.03 LTS/24.09/24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`,`-c/--config` 设置为空 `""`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`,`-c/--config` 设置为空 `""`。
|
||||
>5. 构建 DevStation 开发者工作站的镜像,当前只支持 openEuler 24.03 LTS SP1/25.03/24.03 LTS SP2 版本。
|
||||
> - openEuler 24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`。
|
||||
> - openEuler 24.03 LTS SP1/24.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`,`-c/--config` 设置为空 `""`。
|
||||
> - openEuler 25.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-25.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-25.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-25.03`,`-c/--config` 设置为空 `""`。
|
||||
>6. 根据需要设置 -s/--spec,其具体意义见该参数的介绍部分。
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image-common.sh -n IMAGE_NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO -s SPEC --cores N`
|
||||
|
||||
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 `raspi_output/img/` 下。
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称。
|
||||
|
||||
例如,`openEuler-20.03-LTS-SP1.img`。默认为`openEuler-raspi-aarch64.img`,或者根据 `-n, --name IMAGE_NAME` 参数自动生成。
|
||||
|
||||
2. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/raspberrypi-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
3. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 `openEuler-20.03-LTS`,推荐使用分支 `openEuler-21.09`、`openEuler-20.03-LTS` 或 `openEuler-20.09`。
|
||||
|
||||
4. -c, --config KERNEL_DEFCONFIG
|
||||
|
||||
内核编译使用的配置文件名称或路径,默认为 `openeuler-raspi_defconfig`。如果该参数为配置文件名称,请确保该文件在内核源码的目录 arch/arm64/configs 下。
|
||||
|
||||
5. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
|
||||
下面分别举例:
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP1/generic.repo`
|
||||
- 开发源的 repo 文件路径:
|
||||
- `./openEuler-20.03-LTS-SP1.repo`:生成 openEuler 20.03 LTS SP1 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo>。
|
||||
- 资源库的 baseurl 列表,如 `"http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS-SP1/EPOL/aarch64/"`。
|
||||
|
||||
6. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `dde`,带 DDE 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `gnome`,带 GNOME 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `devstation`,带 GNOME 桌面、中文字体、输入法、大量开发工具和 IDE 等配套软件。
|
||||
- rpmlist 文件路径,该文件包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/raspberrypi/config-common/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
7. --cores N
|
||||
|
||||
并行编译的数量,根据运行脚本的宿主机 CPU 实际数目设定,默认为可用的 CPU 总数。
|
||||
|
||||
#### Docker 容器内构建
|
||||
#### Docker 容器内构建镜像
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image-docker.sh -d DOCKER_FILE -n IMAGE_NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO --cores N`
|
||||
`sudo bash build-image-docker.sh -d DOCKER_FILE --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
脚本运行结束后,镜像默认保存在脚本运行所在目录的 `raspi_output/img/` 下。
|
||||
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 `build/YYYY-MM-DD/` 下。
|
||||
|
||||
注意!!!运行该脚本前,需安装 Docker 运行环境。该脚本会自动将 `-d DOCKER_FILE` 参数对应的 Docker 镜像导入本机系统中。
|
||||
|
||||
除参数 `-d DOCKER_FILE` 外,剩余参数与 [快速构建(无需编译内核,推荐)](#快速构建无需编译内核推荐) 或 [完全构建(包括编译内核)](#完全构建包括编译内核) 中对应参数一致:
|
||||
除参数 `-d DOCKER_FILE` 外,其余参数与 [构建镜像章节](#构建镜像) 中 [build.sh](../scripts/build.sh) 对应参数一致:
|
||||
|
||||
1. -d, --docker DOCKER_FILE
|
||||
|
||||
@ -9,8 +9,10 @@
|
||||
- [最新镜像](#最新镜像)
|
||||
- [镜像构建](#镜像构建)
|
||||
- [准备环境](#准备环境)
|
||||
- [一次构建](#一次构建)
|
||||
- [构建完整镜像](#构建完整镜像)
|
||||
- [Docker 容器内构建](#docker-容器内构建)
|
||||
- [使用脚本构建镜像需执行命令:](#使用脚本构建镜像需执行命令)
|
||||
- [使用 Docker 分步构建](#使用-docker-分步构建)
|
||||
- [顺序构建](#顺序构建)
|
||||
- [刷写镜像](#刷写镜像)
|
||||
- [刷写到 SD 卡](#刷写到-sd-卡)
|
||||
@ -25,7 +27,7 @@
|
||||
- [openEuler镜像的构建](rockchip/openEuler镜像的构建.md)
|
||||
- [刷写EMMC镜像](rockchip/刷写EMMC镜像.md)
|
||||
- [顺序构建](rockchip/顺序构建.md)
|
||||
- [一次构建命令列举](rockchip/一次构建命令列举.md)
|
||||
- [构建完整镜像命令列举](rockchip/构建完整镜像命令列举.md)
|
||||
- [基于Firefly-SDK编译Firefly-RK3399的内核镜像](rockchip/基于Firefly-SDK编译Firefly-RK3399的内核镜像.md)
|
||||
- [打包 ITX-RK3588J 一体化烧写镜像](rockchip/打包ITX-RK3588J一体化烧写镜像.md)
|
||||
- [设置 SELinux](rockchip/设置SELinux.md)
|
||||
@ -33,12 +35,12 @@
|
||||
- [openEuler 适配指南](rockchip/openEuler适配指南.md)
|
||||
- [在openEuler上使用RKNPU](rockchip/在openEuler上使用RKNPU.md)
|
||||
- [在openEuler上运行RKLLM](rockchip/在openEuler上运行RKLLM.md)
|
||||
- [scripts](../scripts/rockchip): 构建 openEuler RK3399 等开发板镜像的脚本
|
||||
- [一次构建脚本](../scripts/rockchip/build.sh)
|
||||
- [boot 镜像构建脚本](../scripts/rockchip/build_boot.sh)
|
||||
- [rootfs 镜像构建脚本](../scripts/rockchip/build_rootfs.sh)
|
||||
- [u-boot 编译脚本](../scripts/rockchip/build_u-boot.sh)
|
||||
- [可启动镜像生成脚本](../scripts/rockchip/gen_image.sh)
|
||||
- [scripts](../scripts): 构建 openEuler 树莓派、RK3399 等开发板镜像的脚本
|
||||
- [构建完整镜像](scripts/build.sh)
|
||||
- [使用 Docker 构建完整镜像](./scripts/build-image-docker.sh)
|
||||
- [构建 boot 镜像](scripts/build_boot.sh)
|
||||
- [构建 rootfs 镜像](scripts/build_rootfs.sh)
|
||||
- [将 u-boot、boot、rootfs 合并成一个完整镜像](scripts/gen_image.sh)
|
||||
|
||||
## 最新镜像
|
||||
|
||||
@ -65,9 +67,9 @@
|
||||
|
||||
详细过程参见 [openEuler 镜像的构建](rockchip/openEuler镜像的构建.md)。
|
||||
|
||||
构建脚本见 [scripts/rockchip](../scripts/rockchip)。
|
||||
构建脚本见 [scripts](../scripts)。
|
||||
|
||||
### 一次构建
|
||||
### 构建完整镜像
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
@ -89,15 +91,15 @@
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. --board BOARD_CONFIG
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/rockchip/boards) 文件夹中,示例文件 [sample.conf](../scripts/rockchip/boards/sample.conf),默认为 `firefly-rk3399`。
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/boards) 文件夹中,示例文件 [sample.conf](../scripts/boards/sample.conf),默认为 `firefly-rk3399`。
|
||||
|
||||
其包括的配置参数意义如下:
|
||||
|
||||
- platform=PLATFORM
|
||||
|
||||
开发板所使用的平台,目前支持的平台有:rockchip、phytium,默认为 `rockchip`。
|
||||
开发板所使用的平台,目前支持的平台有:broadcom、rockchip、phytium,默认为 `rockchip`。
|
||||
|
||||
- device-tree=DTB_NAME
|
||||
|
||||
@ -105,17 +107,17 @@
|
||||
|
||||
- ubootconfig=UBOOT_DEFCONFIG
|
||||
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `UBOOT_DEFCONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3588 开发板上使用预编译的 u-boot,可以将此项设置为 `none`。
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `UBOOT_DEFCONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3588 开发板上使用预编译的 u-boot,可以将此项设置为空:`ubootconfig=`。
|
||||
|
||||
2. -n, --name IMAGE_NAME
|
||||
2. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称,例如:`openEuler-20.03-LTS-Firefly-RK3399-aarch64-alpha1` 或 `openEuler-21.09-Firefly-RK3399-aarch64-alpha1`。
|
||||
|
||||
3. -k, --kernel KERNEL_URL
|
||||
3. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/rockchip-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/rockchip-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/rockchip-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/rockchip-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
4. -b, --branch KERNEL_BRANCH
|
||||
4. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 openEuler-20.03-LTS。根据 -k 参数有以下选择:
|
||||
|
||||
@ -128,13 +130,13 @@
|
||||
|
||||
内核编译使用的配置文件名称或路径,默认为 `openeuler_rockchip_defconfig`。如果该参数为配置文件名称,请确保该文件在内核源码的目录 arch/arm64/configs 下。
|
||||
|
||||
6. -r, --repo REPO_INFO
|
||||
6. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
软件源 repo 文件的 URL 或者路径,也可以是软件源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
下面分别举例:
|
||||
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo`。
|
||||
- 开发源的 repo 文件路径:
|
||||
- 软件源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo`。
|
||||
- 软件源的 repo 文件路径:
|
||||
|
||||
`./openEuler-20.03-LTS.repo`:生成 openEuler 20.03 LTS 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo>。
|
||||
|
||||
@ -147,7 +149,7 @@
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- `dde`,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/rockchip/configs/rpmlist)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/configs/rockchip//rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
@ -173,99 +175,98 @@
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/index.html">Firefly Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3399</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 20.03 LTS, openEuler 22.03 LTS SP2, openEuler 22.03 LTS SP3, openEuler 24.03 LTS</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#firefly-rk3399">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#firefly-rk3399">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Radxa Rock Pi 4A</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://docs.radxa.com/rock4/rock4ab">Radxa Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3399</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 20.03 LTS, openEuler 22.03 LTS</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#radxa-rockpi-4a">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#radxa-rockpi-4a">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Firefly ROC-RK3566-PC</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/">Firefly Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3566</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP2, openEuler 22.03 LTS SP3, openEuler 24.03 LTS</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#firefly-roc-rk3566-pc">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#firefly-roc-rk3566-pc">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Firefly ROC-RK3568-PC-SE</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.t-firefly.com/zh_CN/ROC-RK3568-PC-SE/">Firefly Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3568</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP2, openEuler 22.03 LTS SP3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#firefly-roc-rk3568-pc-se">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#firefly-roc-rk3568-pc-se">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Firefly ROC-RK3568-PC</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.t-firefly.com/zh_CN/ROC-RK3568-PC/">Firefly Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3568</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP2, openEuler 22.03 LTS SP3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#firefly-roc-rk3568-pc">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#firefly-roc-rk3568-pc">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>BananaPi Armsom-Sige5</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://docs.armsom.org/armsom-sige5">Armsom Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3576</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#bananapi-armsom-sige5">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#bananapi-armsom-sige5">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Firefly ITX-3588J</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.t-firefly.com/zh_CN/Core-3588J/index.html">Firefly Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3588</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#firefly-itx-3588j">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#firefly-itx-3588j">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Firefly ROC-RK3588S-PC</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/index.html">Firefly Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3588</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP2, openEuler 22.03 LTS SP3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#firefly-roc-rk3588s-pc">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#firefly-roc-rk3588s-pc">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Radxa Rock-5B</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://docs.radxa.com/rock5/rock5b">Radxa Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Rockchip RK3588</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP2, openEuler 22.03 LTS SP3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#radxa-rock-5b">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#radxa-rock-5b">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Phytium Pi 4GB</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://www.phytium.com.cn/homepage/phytium_pie/">Phytium Website</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Phytium</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 22.03 LTS SP3, openEuler 24.03 LTS</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#phytium-pi-4gb">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#phytium-pi-4gb">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Orange Pi Zero 2</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://www.orangepi.cn/orangepiwiki/index.php/Orange_Pi_Zero_2">OrangePi Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Allwinner H616</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 20.03 LTS, openEuler 24.03 LTS</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#orange-pi-zero-2">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#orange-pi-zero-2">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>Longan Pi 3H</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://wiki.sipeed.com/hardware/zh/longan/h618/lpi3h/1_intro.html">Sipeed Wiki</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>Allwinner H618</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>openEuler 24.03 LTS</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/一次构建命令列举.md#longan-pi-3h">一次构建命令</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="./rockchip/构建完整镜像命令列举.md#longan-pi-3h">构建完整镜像命令</a></td>
|
||||
</tr>
|
||||
|
||||
</tbody></table>
|
||||
|
||||
### Docker 容器内构建
|
||||
|
||||
#### 使用脚本构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image-docker.sh --board BOARD_CONFIG -d DOCKER_FILE -n IMAGE_NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO --cores N`
|
||||
`sudo bash build-image-docker.sh -d DOCKER_FILE --board BOARD_CONFIG -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO_INFO -s SPEC --cores N`
|
||||
|
||||
脚本运行结束后,镜像默认保存在脚本运行所在目录的 `build/YYYY-MM-DD` 下。
|
||||
|
||||
注意!!!运行该脚本前,需安装 Docker 运行环境。该脚本会自动将 DOCKER_FILE 参数对应的 Docker 镜像导入本机系统中。
|
||||
|
||||
除参数 DOCKER_FILE 外,剩余参数与[一次构建](#一次构建)中对应参数一致:
|
||||
除参数 DOCKER_FILE 外,剩余参数与[构建完整镜像](#构建完整镜像)中对应参数一致:
|
||||
|
||||
1. -d, --docker DOCKER_FILE
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
### 使用 BSP 内核
|
||||
|
||||
如果想使用 BSP 内核进行测试,可以在构建指令中指定 BSP 内核的仓库地址及对应分支,参考[一次构建](../瑞芯微等开发板.md#一次构建)。
|
||||
如果想使用 BSP 内核进行测试,可以在构建指令中指定 BSP 内核的仓库地址及对应分支,参考 [构建完整镜像](../Rockchip.md#构建完整镜像)。
|
||||
|
||||
## 准备 u-boot
|
||||
|
||||
@ -46,17 +46,17 @@
|
||||
|
||||
- RK35xx
|
||||
|
||||
需要将编译好的 u-boot 二进制文件放到 [u-boot 目录](../../scripts/rockchip/bin/u-boot/)下,并在版型文件中增加文件路径。
|
||||
需要将编译好的 u-boot 二进制文件放到 [u-boot 目录](../../scripts/bin/rockchip/u-boot/)下,并在版型文件中增加文件路径。
|
||||
|
||||
## 准备 firmware 文件
|
||||
|
||||
这里提到的 firmware 是开发板的板载蓝牙和 WiFi 的驱动固件,可参考[本框架储存的的 firmware 文件](../../scripts/rockchip/bin/linux-firmware/)。
|
||||
这里提到的 firmware 是开发板的板载蓝牙和 WiFi 的驱动固件,可参考[本框架储存的的 firmware 文件](../../scripts/bin/rockchip/linux-firmware/)。
|
||||
|
||||
请确定开发板所使用的 firmware,并提交至仓库的相应目录下。
|
||||
|
||||
## 编写版型文件
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../../scripts/rockchip/boards/) 文件夹中,版型文件示例如下:
|
||||
适用的开发板的版型配置文件在 [boards](../../scripts/boards/) 文件夹中,版型文件示例如下:
|
||||
|
||||
```
|
||||
ubootconfig=firefly-rk3399_defconfig #Required! The name of defconfig file when compiling u-boot, which defaults to firefly-rk3399_defconfig.
|
||||
@ -77,13 +77,13 @@ POST_BOARD_OVERLAY() {
|
||||
|
||||
1. ubootconfig=UBOOT_DEFCONFIG
|
||||
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `UBOOT_DEFCONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3568/RK3588 开发板上使用预编译的 u-boot,可以将此项设置为 `none`。
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `UBOOT_DEFCONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3568/RK3588 开发板上使用预编译的 u-boot,可以将此项设置为空:`ubootconfig=`。
|
||||
|
||||
如果设置为 `none`,则还需添加以下附属配置参数:
|
||||
如果设置为空 ``,则还需添加以下附属配置参数:
|
||||
|
||||
- local_uboot_dir
|
||||
|
||||
开发板 u-boot 配置设置为 `none` 时,本地预编译的 u-boot 二进制文件的位置。
|
||||
开发板 u-boot 配置设置为空时,本地预编译的 u-boot 二进制文件的位置。
|
||||
|
||||
2. dtb_name=DTB_NAME
|
||||
|
||||
@ -114,11 +114,11 @@ POST_BOARD_OVERLAY() {
|
||||
|
||||
6. POST_BOARD_OVERLAY()
|
||||
|
||||
`POST_BOARD_OVERLAY()` 是执行复制 firmware 文件到根目录以及对目标开发板根目录执行特定操作的函数,其使用的变量与 [build_rootfs.sh](../../scripts/rockchip/build_rootfs.sh) 相同,通常包含以下两个变量:
|
||||
`POST_BOARD_OVERLAY()` 是执行复制 firmware 文件到根目录以及对目标开发板根目录执行特定操作的函数,其使用的变量与 [build_rootfs.sh](../../scripts/build_rootfs.sh) 相同,通常包含以下两个变量:
|
||||
|
||||
- nonfree_bin_dir
|
||||
|
||||
该参数为储存 firmware 的文件夹,默认为 [${workdir}/../bin](../../scripts/rockchip/bin/)。
|
||||
该参数为储存 firmware 的文件夹,默认为 [../../scripts/bin/rockchip/](../../scripts/bin/rockchip/)。
|
||||
|
||||
- rootfs_dir
|
||||
|
||||
@ -126,4 +126,4 @@ POST_BOARD_OVERLAY() {
|
||||
|
||||
## 运行测试
|
||||
|
||||
通过运行脚本[一次构建](../瑞芯微等开发板.md#一次构建),将 `--board` 参数设置为新增开发板的版型文件来运行测试。
|
||||
通过运行脚本 [构建完整镜像](../Rockchip.md#构建完整镜像),将 `--board` 参数设置为新增开发板的版型文件来运行测试。
|
||||
|
||||
@ -441,7 +441,7 @@ dnf --installroot=$WORKDIR/rootfs/ install -y alsa-utils wpa_supplicant vim net-
|
||||
```
|
||||
3. 拷贝 wifi 配置文件,蓝牙启动文件
|
||||
|
||||
1. 下载 [无线配置目录](../../scripts/rockchip/bin/wireless) 到 $WORKDIR
|
||||
1. 下载 [无线配置目录](../../scripts/bin/rockchip/wireless) 到 $WORKDIR
|
||||
|
||||
2. 拷贝文件 :
|
||||
```
|
||||
|
||||
@ -122,7 +122,7 @@ dnf install git -y
|
||||
|
||||
## 容器内拉取并运行构建框架
|
||||
|
||||
过程参见[镜像构建](../瑞芯微等开发板.md#镜像构建)。
|
||||
过程参见[镜像构建](../Rockchip.md#镜像构建)。
|
||||
|
||||
## 将容器内构建好的镜像复制到主机
|
||||
|
||||
|
||||
@ -47,8 +47,8 @@
|
||||
1. 生成的刷写文件压缩包为 build 下或项目主页发布的的压缩后的 RAW 原始镜像(需要解压):openEuler-VERSION-BOARD-RELEASE.img.xz。
|
||||
|
||||
2. 项目主页 scripts/bin 目录下提供的:
|
||||
- 如果是 RK3399,使用 [rk3399_loader.bin](../../scripts/rockchip/bin/rk3399_loader.bin)
|
||||
- 如果是 RK3588,使用 [rk3588_loader.bin](../../scripts/rockchip/bin/rk3588_loader.bin)
|
||||
- 如果是 RK3399,使用 [rk3399_loader.bin](../../scripts/bin/rockchip/rk3399_loader.bin)
|
||||
- 如果是 RK3588,使用 [rk3588_loader.bin](../../scripts/bin/rockchip/rk3588_loader.bin)
|
||||
|
||||
3. 下载版本不小于 2.92 的 [RKDevTool 工具](https://dl.radxa.com/tools/windows/windows_RKDevTool_Release_v2.92.zip)。
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# 一次构建命令列举
|
||||
# 构建完整镜像命令列举
|
||||
|
||||
- [描述](#描述)
|
||||
- [适用的 RK3399 开发板](#适用的-rk3399-开发板)
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
## 描述
|
||||
|
||||
本文档介绍了支持的开发板以及对应的一次构建命令。
|
||||
本文档介绍了支持的开发板以及构建对应开发板完整镜像的命令。
|
||||
|
||||
### 适用的 RK3399 开发板:
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/rockchip/boards) 文件夹中,示例文件 [sample.conf](../scripts/rockchip/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/boards) 文件夹中,示例文件 [sample.conf](../scripts/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
|
||||
2. -h, --help
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/rockchip/boards) 文件夹中,示例文件 [sample.conf](../scripts/rockchip/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/boards) 文件夹中,示例文件 [sample.conf](../scripts/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
|
||||
2. -k, --kernel KERNEL_URL
|
||||
|
||||
@ -78,15 +78,15 @@
|
||||
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/rockchip/boards) 文件夹中,示例文件 [sample.conf](../scripts/rockchip/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/boards) 文件夹中,示例文件 [sample.conf](../scripts/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
|
||||
2. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
软件源 repo 文件的 URL 或者路径,也可以是软件源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
下面分别举例:
|
||||
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP2/generic.repo`。
|
||||
- 开发源的 repo 文件路径:
|
||||
- 软件源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP2/generic.repo`。
|
||||
- 软件源的 repo 文件路径:
|
||||
|
||||
`./openEuler-20.03-LTS.repo`:生成 openEuler 20.03 LTS 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo>。
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- `dde`,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../../scripts/rockchip/configs/rpmlist)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../../scripts/configs/rockchip/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
@ -132,7 +132,7 @@
|
||||
|
||||
1. --board BOARD_CONFIG
|
||||
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/rockchip/boards) 文件夹中,示例文件 [sample.conf](../scripts/rockchip/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
适用的开发板的版型配置文件在 [boards](../scripts/boards) 文件夹中,示例文件 [sample.conf](../scripts/boards/sample.conf),默认为 `firefly-rk3399`。其包括的配置参数意义见[版型文件](./openEuler适配指南.md#编写版型文件)。
|
||||
|
||||
2. -n, --name IMAGE_NAME
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user