provide a unified entry script to build images

This commit is contained in:
Yafen 2025-05-07 15:38:58 +08:00
parent 27f7506d97
commit a698f7964d
16 changed files with 264 additions and 55 deletions

View File

@ -13,6 +13,9 @@ This repository is the main repository of the openEuler SBC (Single-Board Comput
- [How to download latest image](#how-to-download-latest-image)
- [Raspberry Pi](#raspberry-pi)
- [Rockchip](#rockchip)
- [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)
<!-- /TOC -->
@ -286,4 +289,50 @@ Basic information of the image is as follows:
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
</tr>
</tbody></table>
</tbody></table>
## How to build image
### Prepare the environment
To build openEuler AArch64 image for Raspberry Pi, Rockchip or other SoCs, the requirements of running scripts of this repository are as follows:
- OS: openEuler or CentOS 8
- Hardware: AArch64 hardware, such as Raspberry Pi, Firefly RK3399, Firefly ROC-RK3588S-PC
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 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#镜像构建)
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 scripts/build.sh --board BOARD_TYPE --in-docker [other_args...]`
Parameter Definitions & Meaning:
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-容器内构建)
2. `--board BOARD_TYPE`
Specifies the development board type. Currently supported parameters include:
- `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#一次构建).
3. `-h`, `--help`
Display help information.

View File

@ -13,6 +13,9 @@
- [最新镜像](#最新镜像)
- [树莓派](#树莓派)
- [瑞芯微等其他开发板](#瑞芯微等其他开发板)
- [镜像构建](#镜像构建)
- [准备环境](#准备环境)
- [构建镜像](#构建镜像)
<!-- /TOC -->
## To Do List
@ -286,3 +289,48 @@ SIG 组基本信息位于 [sig-SBC](https://gitee.com/openeuler/community/tree/m
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
</tr>
</tbody></table>
## 镜像构建
### 准备环境
本仓库的脚本运行环境要求如下:
- 操作系统openEuler、CentOS 8
- 架构AArch64如树莓派、 RK3399 开发板、 RK3588 开发板
其他架构可以使用 [QEMU](https://www.qemu.org/) 模拟器搭建 AArch64 运行环境。
### 构建镜像
可以使用树莓派或瑞芯微等开发板各自的脚本构建镜像,具体文档参考:
- [树莓派镜像构建](./documents/树莓派.md#构建镜像)
- [瑞芯微等开发板镜像构建](./documents/瑞芯微等开发板.md#镜像构建)
也可以使用统一入口 [build.sh](./scripts/build.sh) 构建树莓派或瑞芯微等开发板镜像,执行命令:
`sudo bash scripts/build.sh --board BOARD_TYPE --in-docker [other_args...]`
各个参数含义:
1. --in-docker
使用 Docker 容器构建镜像,参考链接:
- [使用 Docker 容器构建树莓派镜像](./documents/树莓派.md#docker-容器内构建)
- [使用 Docker 容器构建瑞芯微等开发板镜像](./documents/瑞芯微等开发板.md#docker-容器内构建)
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#一次构建)。
3. -h, --help
显示帮助信息。

View File

@ -13,8 +13,7 @@
- [构建镜像](#构建镜像)
- [快速构建(无需编译内核,推荐)](#快速构建无需编译内核推荐)
- [完全构建(包括编译内核)](#完全构建包括编译内核)
- [主机上构建](#主机上构建)
- [Docker 容器内构建](#docker-容器内构建)
- [Docker 容器内构建](#docker-容器内构建)
<!-- /TOC -->
@ -41,8 +40,8 @@
- [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/raspberrypi/build-image-common.sh)
- [Docker 容器中构建](../scripts/raspberrypi/build-image-docker.sh)
## 最新镜像
@ -140,8 +139,6 @@
包含编译内核、下载树莓派相关固件等过程,速度相对较慢。
这里,提供两种构建方式。
>![](public_sys-resources/icon-notice.gif) **须知:**
>当前支持三个 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 版本。
>如果构建包含 Xfce/UKUI/DDE 桌面环境或者 DevStation 开发者工作站的镜像,需要注意六点:
@ -189,13 +186,11 @@
> - 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`
>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_common/img/` 下。
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 `raspi_output/img/` 下。
各个参数意义:
@ -244,17 +239,17 @@
并行编译的数量,根据运行脚本的宿主机 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`
脚本运行结束后,镜像默认保存在脚本运行所在目录的 `raspi_output_common/img/` 下。
脚本运行结束后,镜像默认保存在脚本运行所在目录的 `raspi_output/img/` 下。
注意!!!运行该脚本前,需安装 Docker 运行环境。该脚本会自动将 DOCKER_FILE 参数对应的 Docker 镜像导入本机系统中。
注意!!!运行该脚本前,需安装 Docker 运行环境。该脚本会自动将 `-d DOCKER_FILE` 参数对应的 Docker 镜像导入本机系统中。
除参数 DOCKER_FILE 外,剩余参数与[主机上构建](#主机上构建)中对应参数一致:
除参数 `-d DOCKER_FILE` 外,剩余参数与 [快速构建(无需编译内核,推荐)](#快速构建无需编译内核推荐) 或 [完全构建(包括编译内核)](#完全构建包括编译内核) 中对应参数一致:
1. -d, --docker DOCKER_FILE

102
scripts/build.sh Normal file
View File

@ -0,0 +1,102 @@
#!/bin/bash
set -e
usage() {
echo "Usage: $0 --board BOARD_TYPE --in-docker [other_args...]"
echo Options:
echo "--in-docker Build images in Docker."
echo "--board BOARD_TYPE Supported boards:"
echo " - rpi (Build a Raspberry Pi image without kernel compilation)"
echo " - rpi-custom (Build a Raspberry Pi image using a custom kernel compiled)"
for config in "${RK_BOARDS[@]}"; do
echo " - $config"
done
exit 1
}
cur_dir=$(cd $(dirname $0);pwd)
rk_board_dir=$cur_dir/rockchip/boards
BOARD=""
HELP=false
IN_DOCKER=false
ARGS=()
RK_BOARDS=()
SUB_SCRIPT=""
while IFS= read -r -d '' file; do
RK_BOARDS+=("$(basename "$file" .conf)")
done < <(find "$rk_board_dir" -type f -name "*.conf" ! -name "sample.conf" -print0 | sort -z)
if [ $# -eq 0 ]; then
usage
fi
while [[ $# -gt 0 ]]; do
case "$1" in
--board)
BOARD="$2"
shift 2
;;
--in-docker)
IN_DOCKER=true
shift
;;
--help)
HELP=true
ARGS+=("--help")
shift
;;
*)
ARGS+=("$1")
shift
;;
esac
done
if [ -z "$BOARD" ]; then
if ! $HELP; then
echo "Error: --board parameter is required"
fi
usage
fi
case "$BOARD" in
rpi)
if $IN_DOCKER; then
SUB_SCRIPT="$cur_dir/raspberrypi/build-image-docker.sh"
else
SUB_SCRIPT="$cur_dir/raspberrypi/build-image.sh"
fi
;;
rpi-custom)
if $IN_DOCKER; then
SUB_SCRIPT="$cur_dir/raspberrypi/build-image-docker.sh"
else
SUB_SCRIPT="$cur_dir/raspberrypi/build-image-common.sh"
fi
;;
*)
for item in "${RK_BOARDS[@]}"; do
if [ "$item" == "$BOARD" ]; then
if $IN_DOCKER; then
SUB_SCRIPT="$cur_dir/rockchip/build-image-docker.sh"
else
SUB_SCRIPT="$cur_dir/rockchip/build.sh"
fi
ARGS+=("--board")
ARGS+=("$BOARD")
break
fi
done
;;
esac
if [ -z "$SUB_SCRIPT" ]; then
echo "Error: Unknown board type '$BOARD'"
usage
fi
echo "Running: $SUB_SCRIPT ${ARGS[@]}"
"$SUB_SCRIPT" "${ARGS[@]}"

4
scripts/raspberrypi/build-image-common.sh Normal file → Executable file
View File

@ -610,9 +610,9 @@ cur_dir=$(cd $(dirname $0);pwd)
workdir=${cur_dir}
if [ "x${workdir}" == "x/" ]; then
workdir=/raspi_output_common
workdir=/raspi_output
else
workdir=${workdir}/raspi_output_common
workdir=${workdir}/raspi_output
fi
buildid=$(date +%Y%m%d%H%M%S)

16
scripts/raspberrypi/build-image-docker.sh Normal file → Executable file
View File

@ -48,6 +48,7 @@ parseargs()
elif [ "x$1" == "x-k" -o "x$1" == "x--kernel" ]; then
kernel_url=`echo $2`
params="${params} -k ${kernel_url}"
KERNEL_COMPILE="-common"
shift
shift
elif [ "x$1" == "x-b" -o "x$1" == "x--branch" ]; then
@ -125,16 +126,17 @@ LOG(){
cur_dir=$(cd $(dirname $0);pwd)
docker_file="https://repo.openeuler.org/openEuler-20.03-LTS-SP1/docker_img/aarch64/openEuler-docker.aarch64.tar.xz"
KERNEL_COMPILE=""
workdir=${cur_dir}/raspi_output_common
workdir=${cur_dir}/raspi_output
buildid=$(date +%Y%m%d%H%M%S)
builddate=${buildid:0:8}
log_dir=${workdir}/log
params_dir=${workdir}/params
euler_dir=${cur_dir}/config-common
params_dir_indocker=/work/raspi_output_common/params
params_dir_indocker=/work/raspi_output/params
euler_dir=${cur_dir}/config$KERNEL_COMPILE
if [ -d ${params_dir} ]; then
rm -rf ${params_dir}
@ -168,16 +170,16 @@ LOG build raspi image with docker: ${docker_file}.
(echo "FROM $docker_img_name" && grep -v FROM ${euler_dir}/Dockerfile_makeraspi) | docker build -t ${docker_img_name}-${buildid} --no-cache -f- ${euler_dir}
echo docker run --rm --privileged=true \
-v ${cur_dir}/build-image-common.sh:/work/build-image-common.sh \
-v ${cur_dir}/build-image$KERNEL_COMPILE.sh:/work/build-image.sh \
-v ${euler_dir}:/work/config-common \
-v ${cur_dir}/config:/work/config \
-v ${workdir}:/work/raspi_output_common \
-v ${workdir}:/work/raspi_output \
${docker_img_name}-${buildid} ${params}
docker run --rm --privileged=true \
-v ${cur_dir}/build-image-common.sh:/work/build-image-common.sh \
-v ${cur_dir}/build-image$KERNEL_COMPILE.sh:/work/build-image.sh \
-v ${euler_dir}:/work/config-common \
-v ${cur_dir}/config:/work/config \
-v ${workdir}:/work/raspi_output_common \
-v ${workdir}:/work/raspi_output \
${docker_img_name}-${buildid} ${params}
chmod -R a+r ${workdir}/img
docker image rm ${docker_img_name}-${buildid}

0
scripts/raspberrypi/build-image.sh Normal file → Executable file
View File

View File

@ -1,13 +0,0 @@
FROM openeuler-20.03-lts-sp1:latest
RUN dnf clean expire-cache
RUN dnf -y install cmake gdb gcc gcc-c++ libstdc++-static ncurses ncurses-devel make python bash coreutils && \
dnf -y clean all
RUN dnf -y install module-init-tools git openssl-devel bc bison flex dnf-plugins-core dosfstools parted wget device-mapper-multipath grep xz kpartx
RUN dnf -y install rsync passwd diffutils
ENV SHELL=/bin/bash
ENTRYPOINT ["/bin/bash", "/work/build-image-common.sh"]

View File

@ -0,0 +1 @@
../config/Dockerfile_makeraspi

View File

@ -0,0 +1,13 @@
FROM openeuler-20.03-lts-sp1:latest
RUN dnf clean expire-cache
RUN dnf -y install cmake gdb gcc gcc-c++ libstdc++-static ncurses ncurses-devel make python bash coreutils && \
dnf -y clean all
RUN dnf -y install module-init-tools git openssl-devel bc bison flex dnf-plugins-core dosfstools parted wget device-mapper-multipath grep xz kpartx
RUN dnf -y install rsync passwd diffutils
ENV SHELL=/bin/bash
ENTRYPOINT ["/bin/bash", "/work/build-image.sh"]

0
scripts/rockchip/build-image-docker.sh Normal file → Executable file
View File

View File

@ -43,7 +43,7 @@ default_param() {
branch=openEuler-20.03-LTS
repo_file="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo"
kernel_url="https://gitee.com/openeuler/rockchip-kernel.git"
workdir=$(pwd)/build
workdir=$cur_dir/build
name=${branch}-${board}-aarch64-alpha1
make_cores=$(nproc)
}
@ -133,13 +133,13 @@ LOG(){
echo `date` - INFO, $* | tee -a ${log_dir}/${builddate}.log
}
cur_dir=$(cd $(dirname $0);pwd)
default_param
parseargs "$@" || help $?
LOG "Selected board: ${board}."
cur_dir=$(cd $(dirname $0);pwd)
source ${cur_dir}/boards/${board}.conf
LOG "Board config: ${board}."
@ -170,15 +170,15 @@ else
fi
if [[ $(cat $workdir/.done | grep u-boot) != "u-boot" ]];then
bash build_u-boot.sh
bash $cur_dir/build_u-boot.sh
fi
if [[ $(cat $workdir/.done | grep bootimg) != "bootimg" ]];then
bash build_boot.sh
bash $cur_dir/build_boot.sh
fi
if [[ $(cat $workdir/.done | grep rootfs) != "rootfs" ]];then
bash build_rootfs.sh
bash $cur_dir/build_rootfs.sh
fi
bash gen_image.sh --board ${board}
bash $cur_dir/gen_image.sh --board ${board}

View File

@ -21,7 +21,7 @@ help()
}
default_param() {
workdir=$(pwd)/build
workdir=$cur_dir/build
branch=openEuler-20.03-LTS
default_defconfig=openeuler_rockchip_defconfig
board=firefly-rk3399
@ -242,6 +242,7 @@ mk_boot() {
}
kernel_defconfig=""
cur_dir=$(cd $(dirname $0);pwd)
default_param
local_param
@ -260,11 +261,12 @@ elif [ -f $default_defconfig ]; then
kernel_defconfig=${workdir}/${default_defconfig##*/}
fi
source $workdir/../boards/${board}.conf
if [ ! -d $workdir ]; then
mkdir $workdir
fi
source $workdir/../boards/${board}.conf
if [ ! -d ${log_dir} ];then mkdir -p ${log_dir}; fi
if [ ! -f $workdir/.done ];then
touch $workdir/.done

View File

@ -24,7 +24,7 @@ default_param() {
board=firefly-rk3399
repo_file="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo"
tmp_dir=${workdir}/tmp
workdir=$(pwd)/build
workdir=$cur_dir/build
branch=openEuler-20.03-LTS
nonfree_bin_dir=${workdir}/../bin
rootfs_dir=${workdir}/rootfs
@ -325,6 +325,7 @@ mk_rootfsimg() {
}
set -e
root_need
cur_dir=$(cd $(dirname $0);pwd)
default_param
local_param
parseargs "$@" || help $?
@ -335,11 +336,12 @@ POST_BOARD_OVERLAY() {
echo "Initial POST_BOARD_OVERLAY function" # It will be overwritten by board.conf.
}
source $workdir/../boards/${board}.conf
if [ ! -d $workdir ]; then
mkdir $workdir
fi
source $workdir/../boards/${board}.conf
if [ ! -d ${log_dir} ];then mkdir -p ${log_dir}; fi
if [ ! -f $workdir/.done ];then
touch $workdir/.done

View File

@ -19,7 +19,7 @@ help()
default_param() {
board=firefly-rk3399
workdir=$(pwd)/build
workdir=$cur_dir/build
u_boot_url="https://gitlab.arm.com/systemready/firmware-build/u-boot.git"
rk3399_bl31_url="https://github.com/rockchip-linux/rkbin/raw/master/bin/rk33/rk3399_bl31_v1.36.elf"
log_dir=$workdir/log
@ -135,15 +135,17 @@ use_prebuild_u-boot() {
set -e
u_boot_ver="v2020.10"
cur_dir=$(cd $(dirname $0);pwd)
default_param
local_param
parseargs "$@" || help $?
source $workdir/../boards/${board}.conf
if [ ! -d $workdir ]; then
mkdir $workdir
fi
source $workdir/../boards/${board}.conf
if [ ! -d ${log_dir} ];then mkdir -p ${log_dir}; fi
if [ ! -f $workdir/.done ];then
touch $workdir/.done

View File

@ -17,8 +17,8 @@ help()
}
default_param() {
workdir=$(pwd)/build
bindir=$(pwd)/bin/rk3588-pack
workdir=$cur_dir/build
bindir=$cur_dir/bin/rk3588-pack
outputdir=${workdir}/$(date +'%Y-%m-%d')
name=openEuler-22.03-LTS-RK3588
rootfs_dir=${workdir}/rootfs
@ -74,6 +74,7 @@ make_img(){
}
LOG "gen image..."
cur_dir=$(cd $(dirname $0);pwd)
default_param
prepare_bin
prepare_img

View File

@ -18,7 +18,7 @@ help()
}
default_param() {
workdir=$(pwd)/build
workdir=$cur_dir/build
outputdir=${workdir}/$(date +'%Y-%m-%d')
name=openEuler-Firefly-RK3399-aarch64-alpha1
board=firefly-rk3399
@ -287,9 +287,14 @@ outputd(){
}
set -e
cur_dir=$(cd $(dirname $0);pwd)
default_param
parseargs "$@" || help $?
if [ ! -d $workdir ]; then
mkdir $workdir
fi
source $workdir/../boards/${board}.conf
if [ ! -d ${log_dir} ];then mkdir -p ${log_dir}; fi