Browse Source

!20 update phytium-linux-buildroot

update ftomx-vpu patch
minimal system supports ethercat, xenomai and jailhouse
genimage: add genimage-tools to generate filesystem and disk images
qt5: support qt5 eglfs for x100
rootfs support xz and img support 7z
support optee4.0e and renew uboot of phytiumpi
phytiumpi change wifi driver from rtl8821cs to rtw88
pull/21/head
weishanshan 9 months ago
committed by zhuhonglei
parent
commit
80a5cdbabb
  1. 24
      README.md
  2. 4
      board/phytium/common/ubuntu-additional_packages_list
  3. BIN
      board/phytium/genimage-tools/genimage
  4. 62
      board/phytium/genimage-tools/genimage-sd.cfg
  5. 55
      board/phytium/genimage-tools/genimage.cfg
  6. 47
      board/phytium/genimage-tools/genimage.sh
  7. 2
      configs/e2000_optee.config
  8. 2
      configs/linux_4.19.config
  9. 2
      configs/linux_4.19_rt.config
  10. 2
      configs/linux_5.10_rt.config
  11. 3
      configs/phytium_debian_defconfig
  12. 23
      configs/phytium_defconfig
  13. 3
      configs/phytium_ubuntu_defconfig
  14. 13
      configs/qt5_eglfs.config
  15. 2
      configs/xenomai_mercury_4.19.config
  16. 2
      configs/xenomai_mercury_5.10.config
  17. 1
      package/Config.in
  18. 1910
      package/ffmpeg/0001-Add-ftomx-plugin-for-vpu-hardware-decoder.patch
  19. 2
      package/genimage/genimage.mk
  20. 10
      package/jailhouse/jailhouse.mk
  21. 9
      package/p7zip/p7zip.mk
  22. 2
      package/phytium-tools/phytium-tools.mk
  23. BIN
      package/phytium-tools/src/rtw8821c_fw.bin
  24. 22
      package/phytium-x100-um/Config.in
  25. 32
      package/phytium-x100-um/phytium-x100-um.mk
  26. BIN
      package/phyuboot/src/fip-all-optee-2GB.bin
  27. BIN
      package/phyuboot/src/fip-all-optee-4GB.bin
  28. 8
      package/qt5/qt5base/qmake.conf.in
  29. 3
      package/qt5/qt5base/qt5base.mk
  30. 10
      support/scripts/genimage.sh

24
README.md

@ -72,8 +72,8 @@ defconfig可以和config文件进行组合,用以扩展特定的功能,defco
| deconfig | config |
|------------------------|--------|
| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、phytiumpi_sdcard.config |
| phytium_debian-defconfig | linux_xxx.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、x100.config、phytiumpi_sdcard.config |
| phytium_defconfig | linux_xxx.config、e2000_optee.config、phytiumpi_sdcard.config |
| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、phytiumpi_sdcard.config |
| phytium_defconfig | linux_xxx.config、e2000_optee.config、phytiumpi_sdcard.config、xenomai_xxx.config、ethercat.config、jailhouse.config |
| phytium_initrd_defconfig | |
# 编译文件系统
@ -160,8 +160,8 @@ defconfig默认不编译Phytium-optee,如果需要编译Phytium-optee请执行
### 支持xenomai
xenomai支持E2000和D2000开发板,关于xenomai的信息请参考:`https://gitee.com/phytium_embedded/linux-kernel-xenomai`
支持将xenomai内核及用户态的库、工具编译安装到debian或ubuntu系统上。如果需要编译xenomai请执行:
(1)使用phytium_debian_defconfig或phytium_ubuntu_defconfig作为基础配置项,合并支持xenomai的配置:
支持将xenomai内核及用户态的库、工具编译安装到系统上。如果需要编译xenomai请执行:
(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持xenomai的配置:
`$ ./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/xenomai_xxx.config`
其中,`xenomai_xxx.config`为以下配置片段文件之一:
```
@ -180,8 +180,8 @@ xenomai用户态的库、工具被安装到根文件系统的/usr/xenomai目录
### 支持ethercat
ethercat支持E2000开发板,关于ethercat的信息请参考:`https://gitee.com/phytium_embedded/ether-cat`
支持将ethercat驱动及用户态的库、工具编译安装到debian或ubuntu系统上,ethercat支持linux 4.19 rt,linux 5.10 rt,xenomai_cobalt_4.19,xenomai_cobalt_5.10内核。如果需要编译ethercat请执行:
(1)使用phytium_debian_defconfig或phytium_ubuntu_defconfig作为基础配置项,合并支持rt内核,及ethercat的配置:
支持将ethercat驱动及用户态的库、工具编译安装到系统上,ethercat支持linux 4.19 rt,linux 5.10 rt,xenomai_cobalt_4.19,xenomai_cobalt_5.10内核。如果需要编译ethercat请执行:
(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持rt内核,及ethercat的配置:
`./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/linux_xxx_rt.config configs/ethercat.config`
其中,`linux_xxx_rt.config`为`linux_4.19_rt.config`或`linux_5.10_rt.config`。
或者合并支持xenomai内核:
@ -200,9 +200,9 @@ ethercat用户态的库、工具被安装到根文件系统:
### 支持jailhouse
jailhouse支持E2000、D2000和FT-2000/4开发板,关于jailhouse的信息请参考:`https://gitee.com/phytium_embedded/phytium-jailhouse`
支持将jailhouse编译安装到ubuntu系统,如果需要编译jailhouse请执行:
(1)使用phytium_ubuntu_defconfig作为基础配置项,合并支持jailhouse的配置:
`./support/kconfig/merge_config.sh configs/phytium_ubuntu_defconfig configs/jailhouse.config`
支持将jailhouse编译安装到系统,如果需要编译jailhouse请执行:
(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持jailhouse的配置:
`./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/jailhouse.config`
(2)编译
`$ make`
(3)镜像的输出位置
@ -214,8 +214,8 @@ jailhouse相关的文件被安装到根文件系统:
linux-loader.bin安装到/usr/local/libexec/jailhouse;jailhouse和ivshmem-demo安装到/usr/local/sbin;
python helper脚本安装到/usr/local/libexec/jailhouse;jailhouse-config-collect.tmpl和root-cell-config.c.tmpl
安装到/usr/local/share/jailhouse;jailhouse-completion.bash安装到/usr/share/bash-completion/completions/并改名为jailhouse;
另外,还将configs/*/*.cell安装到/etc/jailhouse;inmates/demos/*/*.bin安装到/usr/local/libexec/jailhouse/demos;
pyjailhouse安装到/usr/local/lib/python3.8/dist-packages
另外,还将configs/*/*.cell安装到/etc/jailhouse;inmates/demos/*/*.bin安装到/usr/local/libexec/jailhouse/demos;configs/arm64/dts/*.dtb安装到/usr/local/libexec/jailhouse/dtb;
pyjailhouse安装到/usr/local/lib/python3.x/dist-packages;上述的python3.x,对于ubuntu\debian\minimal系统分别是python3.8\python3.9\python3.10
```
关于jailhouse的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-jailhouse/blob/master/Readme.md`
@ -287,7 +287,7 @@ LINUX_OVERRIDE_SRCDIR指定了一个本地的内核源码目录,这样buildroo
指定的内核源码目录。
这样开发人员首先在LINUX_OVERRIDE_SRCDIR指定的目录对内核进行修改,然后运行`make linux-rebuild`或`make linux-reconfigure`即可。
该命令首先将LINUX_OVERRIDE_SRCDIR中的内核源码同步到`output/build/linux-custom`目录,然后进行配置、编译、安装。
如果想要编译、安装内核,并重新生成系统镜像,请运行`make linux-rebuild all`。
如果想要编译、安装内核,并重新生成系统镜像,请运行`make linux-rebuild all`;若是编译phytiumpi,请运行'make linux-rebuild phyuboot-rebuild all'
# 在开发板上启动系统
## 安装系统

4
board/phytium/common/ubuntu-additional_packages_list

@ -3,4 +3,6 @@ additional_full_packages_list=" "
# for Lite userland gathered from main repo
additional_base_packages_list="net-tools iputils-ping gcc g++ vim make autoconf automake libtool pkg-config bison bc flex libssl-dev openssh-server python-is-python3 \
libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-pulseaudio dkms initramfs-tools debhelper"
libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools \
gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-pulseaudio \
dkms initramfs-tools debhelper libgles-dev libexpat1-dev libglvnd-dev"

BIN
board/phytium/genimage-tools/genimage

Binary file not shown.

62
board/phytium/genimage-tools/genimage-sd.cfg

@ -0,0 +1,62 @@
image efi-part.vfat {
vfat {
file EFI {
image = "efi-part/EFI"
}
file Image {
image = "Image"
}
files = {
"e2000d-chillipi-edu-board.dtb",
"e2000d-demo-board.dtb",
"e2000d-miniitx-board.dtb",
"e2000d-power-board.dtb",
"e2000q-come-board.dtb",
"e2000q-demo-board.dtb",
"e2000q-edu-board.dtb",
"e2000q-hanwei-board.dtb",
"e2000q-miniitx-board.dtb",
"e2000q-vpx-board.dtb",
"e2000s-demo-board.dtb",
"phytiumpi_firefly.dtb"
}
}
size = 400M
}
image rootfs.ext4 {
ext4 {
use-mke2fs = true
}
size = 10G
mountpoint = "/"
}
image sdcard.img {
hdimage {
partition-table-type = "gpt"
}
partition uboot {
in-partition-table = no
offset = 0
image = "uboot.bin"
size = 20M
}
partition boot {
image = "efi-part.vfat"
partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
offset = 20M
bootable = true
}
partition root {
partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4
partition-uuid = "0a52c129-7e0f-43ad-989f-d96b07ccdbb2"
image = "rootfs.ext4"
size = 11G
}
}

55
board/phytium/genimage-tools/genimage.cfg

@ -0,0 +1,55 @@
image efi-part.vfat {
vfat {
file EFI {
image = "efi-part/EFI"
}
file Image {
image = "Image"
}
files = {
"e2000d-chillipi-edu-board.dtb",
"e2000d-demo-board.dtb",
"e2000d-miniitx-board.dtb",
"e2000d-power-board.dtb",
"e2000q-come-board.dtb",
"e2000q-demo-board.dtb",
"e2000q-edu-board.dtb",
"e2000q-hanwei-board.dtb",
"e2000q-miniitx-board.dtb",
"e2000q-vpx-board.dtb",
"e2000s-demo-board.dtb",
"phytiumpi_firefly.dtb"
}
}
size = 400M
}
image rootfs.ext4 {
ext4 {
use-mke2fs = true
}
size = 10G
mountpoint = "/"
}
image disk.img {
hdimage {
partition-table-type = "gpt"
}
partition boot {
image = "efi-part.vfat"
partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
offset = 32K
bootable = true
}
partition root {
partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4
partition-uuid = "0a52c129-7e0f-43ad-989f-d96b07ccdbb2"
image = "rootfs.ext4"
size = 11G
}
}

47
board/phytium/genimage-tools/genimage.sh

@ -0,0 +1,47 @@
#!/usr/bin/env bash
die() {
cat <<EOF >&2
Error: $@
Usage: ${0} -c GENIMAGE_CONFIG_FILE
EOF
exit 1
}
# Parse arguments and put into argument list of the script
opts="$(getopt -n "${0##*/}" -o c: -- "$@")" || exit $?
eval set -- "$opts"
while true ; do
case "$1" in
-c)
GENIMAGE_CFG="${2}";
shift 2 ;;
--) # Discard all non-option parameters
shift 1;
break ;;
*)
die "unknown option '${1}'" ;;
esac
done
[ -n "${GENIMAGE_CFG}" ] || die "Missing argument"
WORKDIR=$(dirname $(readlink -f "$0"))
export PATH=${WORKDIR}:$PATH
ROOTPATH=${ROOTPATH-${WORKDIR}/root}
GENIMAGE_TMP=${GENIMAGE_TMP-${WORKDIR}/genimage.tmp}
INPUTPATH=${INPUTPATH-${WORKDIR}/input}
OUTPUTPATH=${OUTPUTPATH-${WORKDIR}/images}
rm -rf "${GENIMAGE_TMP}"
trap 'rm -rf "${GENIMAGE_TMP}"' EXIT
genimage \
--rootpath "${ROOTPATH}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${INPUTPATH}" \
--outputpath "${OUTPUTPATH}" \
--config "${GENIMAGE_CFG}"

2
configs/e2000_optee.config

@ -4,5 +4,5 @@ BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/phytium_
BR2_PACKAGE_PHYTIUM_OPTEE=y
BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-optee.git"
BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_VERSION="v3.0"
BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_VERSION="v3.1"
BR2_PACKAGE_PHYTIUM_OPTEE_BOARD="e2000qdemo"

2
configs/linux_4.19.config

@ -1,5 +1,5 @@
# Filesystem
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-4.19.cfg"
# kernel 4.19
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-4.19_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="6c5b6efe8ee3ffd4d1489aaf37b172d206926bb7"
BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly"

2
configs/linux_4.19_rt.config

@ -1,6 +1,6 @@
# Filesystem
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-4.19.cfg"
# kernel 4.19_rt
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-4.19-rt_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="1974132ebbf428deea37241e8522b8f732720881"
BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly"

2
configs/linux_5.10_rt.config

@ -1,3 +1,3 @@
# kernel 5.10_rt
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10-rt_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="c5d2908c782302764ce3be2f692e3cdb1f590818"

3
configs/phytium_debian_defconfig

@ -5,6 +5,7 @@ BR2_cortex_a53=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_EXT2_SIZE="10G"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/phytium/post-image.sh support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-5.10.cfg"
@ -36,7 +37,7 @@ BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git"
# kernel 5.10
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3d4c08f6ed3e1dd0732b2f9701439a0cb34190e5"
BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_DEFCONFIG="phytium"

23
configs/phytium_defconfig

@ -18,6 +18,7 @@ BR2_ROOTFS_OVERLAY="board/phytium/common/busybox_init_overlay"
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_EXT2_SIZE="2G"
@ -38,7 +39,7 @@ BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git"
# kernel 5.10
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3d4c08f6ed3e1dd0732b2f9701439a0cb34190e5"
BR2_LINUX_KERNEL_DEFCONFIG="phytium"
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
@ -84,3 +85,23 @@ BR2_PACKAGE_VIM=y
# util-linux
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
# core python3 modules
BR2_PACKAGE_PYTHON3_2TO3=y
BR2_PACKAGE_PYTHON3_BERKELEYDB=y
BR2_PACKAGE_PYTHON3_BZIP2=y
BR2_PACKAGE_PYTHON3_CODECSCJK=y
BR2_PACKAGE_PYTHON3_CURSES=y
BR2_PACKAGE_PYTHON3_DECIMAL=y
BR2_PACKAGE_PYTHON3_OSSAUDIODEV=y
BR2_PACKAGE_PYTHON3_READLINE=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON3_UNICODEDATA=y
BR2_PACKAGE_PYTHON3_SQLITE=y
BR2_PACKAGE_PYTHON3_PYEXPAT=y
BR2_PACKAGE_PYTHON3_XZ=y
BR2_PACKAGE_PYTHON3_ZLIB=y
# External python modules
BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_MAKO=y

3
configs/phytium_ubuntu_defconfig

@ -5,6 +5,7 @@ BR2_cortex_a53=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_ROOTFS_EXT2_SIZE="10G"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/phytium/post-image.sh support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-5.10.cfg"
@ -36,7 +37,7 @@ BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git"
# kernel 5.10
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3d4c08f6ed3e1dd0732b2f9701439a0cb34190e5"
BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_DEFCONFIG="phytium"

13
configs/qt5_eglfs.config

@ -0,0 +1,13 @@
# X100 um
BR2_PACKAGE_PHYTIUM_X100_UM=y
# Qt5
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_EXAMPLES=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
BR2_PACKAGE_QT5BASE_OPENGL=y
BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
BR2_PACKAGE_QT53D=y
BR2_PACKAGE_LIBDRM=y

2
configs/xenomai_mercury_4.19.config

@ -1,7 +1,7 @@
# Filesystem
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-4.19.cfg"
# kernel 4.19_rt
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-4.19-rt_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="1974132ebbf428deea37241e8522b8f732720881"
BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly"
# xenomai libraries and tools
BR2_PACKAGE_XENOMAI=y

2
configs/xenomai_mercury_5.10.config

@ -1,5 +1,5 @@
# kernel 5.10-rt
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10-rt_v2.0"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="c5d2908c782302764ce3be2f692e3cdb1f590818"
# xenomai libraries and tools
BR2_PACKAGE_XENOMAI=y
BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y

1
package/Config.in

@ -437,6 +437,7 @@ menu "Firmware"
source "package/wilink-bt-firmware/Config.in"
source "package/zd1211-firmware/Config.in"
source "package/xorg-rogue-umlibs/Config.in"
source "package/phytium-x100-um/Config.in"
source "package/vpu-lib/Config.in"
source "package/phytium-tools/Config.in"
source "package/phyuboot/Config.in"

1910
package/ffmpeg/0001-Add-ftomx-plugin-for-vpu-hardware-decoder.patch

File diff suppressed because it is too large

2
package/genimage/genimage.mk

@ -7,7 +7,7 @@
GENIMAGE_VERSION = 15
GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz
GENIMAGE_SITE = https://github.com/pengutronix/genimage/releases/download/v$(GENIMAGE_VERSION)
HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse
HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse host-p7zip
GENIMAGE_LICENSE = GPL-2.0
GENIMAGE_LICENSE_FILES = COPYING

10
package/jailhouse/jailhouse.mk

@ -50,11 +50,19 @@ define JAILHOUSE_INSTALL_TARGET_CMDS
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/libexec/jailhouse/demos
$(INSTALL) -D -m 0755 $(@D)/src/jailhouse/inmates/demos/*/*.bin $(TARGET_DIR)/usr/local/libexec/jailhouse/demos
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/libexec/jailhouse/dtb
$(INSTALL) -D -m 0644 $(@D)/src/jailhouse/configs/arm64/dts/*.dtb $(TARGET_DIR)/usr/local/libexec/jailhouse/dtb
$(if $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS), \
cd $(@D)/src/jailhouse && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py install --no-compile $(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS))
$(and $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),$(BR2_ROOTFS_SKELETON_UBUNTU), \
cd $(@D)/src/jailhouse && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py install --no-compile $(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS) && \
mkdir -p $(TARGET_DIR)/usr/local/lib/python3.8/dist-packages && \
mv $(TARGET_DIR)/usr/lib/python3.10/site-packages/pyjailhouse $(TARGET_DIR)/usr/local/lib/python3.8/dist-packages && \
mv $(TARGET_DIR)/usr/lib/python3.10/site-packages/pyjailhouse-0.12-py3.10.egg-info $(TARGET_DIR)/usr/local/lib/python3.8/dist-packages/pyjailhouse-0.12-py3.8.egg-info)
$(and $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),$(BR2_ROOTFS_SKELETON_DEBIAN), \
mkdir -p $(TARGET_DIR)/usr/local/lib/python3.9/dist-packages && \
mv $(TARGET_DIR)/usr/lib/python3.10/site-packages/pyjailhouse $(TARGET_DIR)/usr/local/lib/python3.9/dist-packages && \
mv $(TARGET_DIR)/usr/lib/python3.10/site-packages/pyjailhouse-0.12-py3.10.egg-info $(TARGET_DIR)/usr/local/lib/python3.9/dist-packages/pyjailhouse-0.12-py3.9.egg-info)
endef
$(eval $(generic-package))

9
package/p7zip/p7zip.mk

@ -31,4 +31,13 @@ define P7ZIP_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/$(P7ZIP_TARGET)
endef
define HOST_P7ZIP_BUILD_CMDS
$(BR2_MAKE1) -C $(@D) $(P7ZIP_TARGET)
endef
define HOST_P7ZIP_INSTALL_CMDS
$(INSTALL) -m 0755 -D $(@D)/bin/$(P7ZIP_TARGET) $(HOST_DIR)/bin/$(P7ZIP_TARGET)
endef
$(eval $(generic-package))
$(eval $(host-generic-package))

2
package/phytium-tools/phytium-tools.mk

@ -13,10 +13,12 @@ define PHYTIUM_TOOLS_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/bin
mkdir -p $(TARGET_DIR)/lib/firmware/rtlbt
mkdir -p $(TARGET_DIR)/lib/systemd/system/
mkdir -p $(TARGET_DIR)/lib/firmware/rtw88/
$(INSTALL) -m 755 -D $(@D)/rtlbt/* $(TARGET_DIR)/lib/firmware/rtlbt/
$(INSTALL) -m 755 -D $(@D)/rtk_hciattach $(TARGET_DIR)/usr/bin/
$(INSTALL) -m 755 -D $(@D)/resize.sh $(TARGET_DIR)/usr/bin/
$(INSTALL) -m 644 -D $(@D)/systemd-hciattach.service $(TARGET_DIR)/lib/systemd/system/
$(INSTALL) -m 444 -D $(@D)/rtw8821c_fw.bin $(TARGET_DIR)/lib/firmware/rtw88/
endef
$(eval $(generic-package))

BIN
package/phytium-tools/src/rtw8821c_fw.bin

Binary file not shown.

22
package/phytium-x100-um/Config.in

@ -0,0 +1,22 @@
config BR2_PACKAGE_PHYTIUM_X100_UM
bool "phytium-x100-um"
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_HAS_LIBGBM
help
Phytium X100 um deb package.
https://gitee.com/phytium_embedded/phytium-rogue-umlibs/tree/develop/
if BR2_PACKAGE_PHYTIUM_X100_UM
config BR2_PACKAGE_PROVIDES_LIBEGL
default "phytium-x100-um"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "phytium-x100-um"
config BR2_PACKAGE_PROVIDES_LIBGBM
default "phytium-x100-um"
endif

32
package/phytium-x100-um/phytium-x100-um.mk

@ -0,0 +1,32 @@
################################################################################
#
# phytium-x100-um
#
################################################################################
PHYTIUM_X100_UM_VERSION = x100-package-v1.0
PHYTIUM_X100_UM_SITE = https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git
PHYTIUM_X100_UM_SITE_METHOD = git
PHYTIUM_X100_UM_INSTALL_STAGING = YES
PHYTIUM_X100_UM_PROVIDES = libegl libgles libgbm
define PHYTIUM_X100_UM_EXTRACT_DEB_PACKAGE
(cd $(@D) && $(TARGET_AR) -x packages/DEBS/phytium-x100-gpu-drivers-um*.deb && \
$(call suitable-extractor,data.tar.xz) data.tar.xz | \
$(TAR) $(TAR_OPTIONS) -)
endef
PHYTIUM_X100_UM_POST_EXTRACT_HOOKS += PHYTIUM_X100_UM_EXTRACT_DEB_PACKAGE
ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y)
define PHYTIUM_X100_UM_INSTALL_TARGET_CMDS
cp -a $(@D)/etc/* $(TARGET_DIR)/etc
cp -a $(@D)/usr/* $(TARGET_DIR)/usr
endef
define PHYTIUM_X100_UM_INSTALL_STAGING_CMDS
cp -a $(@D)/etc/* $(STAGING_DIR)/etc
cp -a $(@D)/usr/* $(STAGING_DIR)/usr
endef
endif
$(eval $(generic-package))

BIN
package/phyuboot/src/fip-all-optee-2GB.bin

Binary file not shown.

BIN
package/phyuboot/src/fip-all-optee-4GB.bin

Binary file not shown.

8
package/qt5/qt5base/qmake.conf.in

@ -15,6 +15,14 @@ QMAKE_CXX = $${CROSS_COMPILE}g++
# modifications to gcc-base.conf
QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
# qmake configuration for X100
QMAKE_LIBDIR_OPENGL_ES2 = $${BUILDROOT_STAGING_DIR}/usr/lib/aarch64-linux-gnu
QMAKE_LIBS_OPENGL_ES2 += -lGLdispatch
QMAKE_LIBDIR_EGL = $${BUILDROOT_STAGING_DIR}/usr/lib/aarch64-linux-gnu
QMAKE_LIBS_EGL += -lGLdispatch
QMAKE_LIBS += -L$${BUILDROOT_STAGING_DIR}/usr/lib/aarch64-linux-gnu -lexpat
# Remove all optimisation flags, we really only want our own.
QMAKE_CFLAGS_OPTIMIZE =
QMAKE_CFLAGS_OPTIMIZE_DEBUG =

3
package/qt5/qt5base/qt5base.mk

@ -310,6 +310,7 @@ define QT5BASE_CONFIGURE_CMDS
sed 's/@EGLFS_DEVICE@/$(QT5BASE_EGLFS_DEVICE)/g' \
$(QT5BASE_PKGDIR)/qmake.conf.in > \
$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
sed -i '20 i BUILDROOT_STAGING_DIR = $(STAGING_DIR)' $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \
$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
$(QT5BASE_CONFIGURE_CONFIG_FILE)
@ -320,7 +321,7 @@ define QT5BASE_CONFIGURE_CMDS
(cd $(@D); \
$(TARGET_MAKE_ENV) \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/local/lib/pkgconfig:$(STAGING_DIR)/usr/local/share/pkgconfig" \
PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/lib/aarch64-linux-gnu/pvr/pkgconfig:$(STAGING_DIR)/usr/lib/aarch64-linux-gnu/pkgconfig" \
MAKEFLAGS="-j$(PARALLEL_JOBS) $(MAKEFLAGS)" \
./configure \
-v \

10
support/scripts/genimage.sh

@ -46,3 +46,13 @@ genimage \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
if [ -e ${BINARIES_DIR}/disk.img ]; then
7zr a ${BINARIES_DIR}/disk.img.7z ${BINARIES_DIR}/disk.img
fi
if [ -e ${BINARIES_DIR}/sdcard.img ]; then
7zr a ${BINARIES_DIR}/sdcard.img.7z ${BINARIES_DIR}/sdcard.img
fi

Loading…
Cancel
Save