From ab2229cbe8e0e45ebb8ea0972501c816eb513e6a Mon Sep 17 00:00:00 2001 From: lindongping Date: Thu, 10 Apr 2025 14:40:20 +0800 Subject: [PATCH 01/23] post-custom-skeleton-debian-11.sh: rm $RFSDIR/usr/bin/qemu-${tgtarch}-static Signed-off-by: lindongping --- board/phytium/common/post-custom-skeleton-debian-11.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/board/phytium/common/post-custom-skeleton-debian-11.sh b/board/phytium/common/post-custom-skeleton-debian-11.sh index 1b88770f..e2a41038 100755 --- a/board/phytium/common/post-custom-skeleton-debian-11.sh +++ b/board/phytium/common/post-custom-skeleton-debian-11.sh @@ -94,8 +94,9 @@ do_distrorfs_first_stage() { do_recover_from_error "debian-package-installer failed" exit 1 fi + sudo rm -f $RFSDIR/usr/bin/qemu-${tgtarch}-static - # sudo chroot $RFSDIR systemctl enable systemd-rootfs-resize + # sudo chroot $RFSDIR systemctl enable systemd-rootfs-resize file_s=$(sudo find $RFSDIR -perm -4000) sudo chown -R $USER:$GROUPS $RFSDIR for f in $file_s; do -- Gitee From 557d79dd727560d8184fb3a49d60cf2f131a9498 Mon Sep 17 00:00:00 2001 From: lindongping Date: Thu, 10 Apr 2025 14:42:29 +0800 Subject: [PATCH 02/23] linux_kernel: add package rtl8820cs for linux 4.19 Signed-off-by: lindongping --- configs/phytiumpi_linux_4.19.config | 1 + package/Config.in | 1 + package/rtl8821cs/Config.in | 11 +++++++++++ package/rtl8821cs/rtl8821cs.mk | 22 ++++++++++++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 package/rtl8821cs/Config.in create mode 100644 package/rtl8821cs/rtl8821cs.mk diff --git a/configs/phytiumpi_linux_4.19.config b/configs/phytiumpi_linux_4.19.config index 2c556ccc..7a74db1b 100644 --- a/configs/phytiumpi_linux_4.19.config +++ b/configs/phytiumpi_linux_4.19.config @@ -1,2 +1,3 @@ # kernel 4.19 BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="b96cb86c663b65a684cb5aed3a379a0598f775f7" +BR2_PACKAGE_RTL8821CS=y diff --git a/package/Config.in b/package/Config.in index e3ac7afa..fcbfeddb 100644 --- a/package/Config.in +++ b/package/Config.in @@ -580,6 +580,7 @@ endmenu source "package/rtl8723bu/Config.in" source "package/rtl8812au-aircrack-ng/Config.in" source "package/rtl8821au/Config.in" + source "package/rtl8821cs/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" diff --git a/package/rtl8821cs/Config.in b/package/rtl8821cs/Config.in new file mode 100644 index 00000000..7b10261f --- /dev/null +++ b/package/rtl8821cs/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_RTL8821CS + bool "rtl8821cs" + depends on BR2_LINUX_KERNEL + help + rtl8821cs wifi driver + + https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git + +comment "rtl8821cs needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + diff --git a/package/rtl8821cs/rtl8821cs.mk b/package/rtl8821cs/rtl8821cs.mk new file mode 100644 index 00000000..da33fd82 --- /dev/null +++ b/package/rtl8821cs/rtl8821cs.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# rtl8821cs +# +################################################################################ +RTL8821CS_VERSION = b146d555586a0fdd4a1c30b24a10c98d4d620100 +RTL8821CS_SITE = https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git +RTL8821CS_SITE_METHOD = git + +RTL8821CS_MODULE_MAKE_OPTS = \ + CONFIG_RTL8821CS=m \ + INSTALL_MOD_DIR="rtl8821cs" \ + +RTL8821CS_MODULE_SUBDIRS = rtl8821cs/rtl8821cs/ + +RTL8821CS_POST_EXTRACT_HOOKS += RTL8821CS_DECOMPRESSION_CMDS +define RTL8821CS_DECOMPRESSION_CMDS + $(TAR) xf $(@D)/rtl8821cs/rtl8821cs.tar.gz -C $(@D)/rtl8821cs +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- Gitee From f62e5d8e1a5aee253b400f1580c91ef31400afa5 Mon Sep 17 00:00:00 2001 From: lindongping Date: Mon, 28 Apr 2025 17:10:45 +0800 Subject: [PATCH 03/23] add package qlauncher Signed-off-by: lindongping --- package/Config.in | 1 + ...nly-reserve-NET-Painting-Other-panel.patch | 101 ++++++++++++++++++ package/qlauncher/Config.in | 6 ++ package/qlauncher/qlauncher.mk | 18 ++++ 4 files changed, 126 insertions(+) create mode 100644 package/qlauncher/0001-mainwindow.cpp-only-reserve-NET-Painting-Other-panel.patch create mode 100644 package/qlauncher/Config.in create mode 100644 package/qlauncher/qlauncher.mk diff --git a/package/Config.in b/package/Config.in index fcbfeddb..976413e1 100644 --- a/package/Config.in +++ b/package/Config.in @@ -324,6 +324,7 @@ comment "Graphic applications" source "package/stellarium/Config.in" source "package/tesseract-ocr/Config.in" source "package/tinifier/Config.in" + source "package/qlauncher/Config.in" comment "Graphic libraries" source "package/cegui/Config.in" diff --git a/package/qlauncher/0001-mainwindow.cpp-only-reserve-NET-Painting-Other-panel.patch b/package/qlauncher/0001-mainwindow.cpp-only-reserve-NET-Painting-Other-panel.patch new file mode 100644 index 00000000..a1bcb590 --- /dev/null +++ b/package/qlauncher/0001-mainwindow.cpp-only-reserve-NET-Painting-Other-panel.patch @@ -0,0 +1,101 @@ +From b43b692edb7c56bfb460463ea79ba24af6b1f3e0 Mon Sep 17 00:00:00 2001 +From: lindongping2027 +Date: Thu, 24 Apr 2025 16:58:18 +0800 +Subject: [PATCH] mainwindow.cpp: only reserve NET\Painting\Other panel + +Signed-off-by: lindongping2027 +--- + mainwindow.cpp | 62 ++++---------------------------------------------- + 1 file changed, 4 insertions(+), 58 deletions(-) + +diff --git a/mainwindow.cpp b/mainwindow.cpp +index 68dd0ae..504b2d7 100755 +--- a/mainwindow.cpp ++++ b/mainwindow.cpp +@@ -124,79 +124,25 @@ namespace ui { + + void MainWindow::initButtons() + { +- ActionButton *wifiButton = new ActionButton(0, +- QIcon(":/icons/wifi2.png"), +- QPixmap(":/icons/wifi_l.png"), +- this); +- ActionButton *blueButton = new ActionButton(1, +- QIcon(":/icons/bluetooth2.png"), +- QPixmap(":/icons/bluetooth_l.png"), +- this); + ActionButton *netButton = new ActionButton(2, + QIcon(":/icons/net2.png"), + QPixmap(":/icons/net_l.png"), + this); +- ActionButton *internetButton = new ActionButton(3, +- QIcon(":/icons/internet2.png"), +- QPixmap(":/icons/internet_l.png"), +- this); +- ActionButton *keyButton = new ActionButton(4, +- QIcon(":/icons/key2.png"), +- QPixmap(":/icons/irda_l.png"), +- this); +-#if 0 +- ActionButton *irdaButton = new ActionButton(5, +- QIcon(":/icons/irda2.png"), +- QPixmap(":/icons/irda_l.png"), +- this); +-#endif + ActionButton *paintingButton = new ActionButton(5, + QIcon(":/icons/painting2.png"), + QPixmap(":/icons/painting_l.png"), + this); +- ActionButton *cameraButton = new ActionButton(6, +- QIcon(":/icons/camera2.png"), +- QPixmap(":/icons/camera_l.png"), +- this); +- ActionButton *videoButton = new ActionButton(7, +- QIcon(":/icons/video2.png"), +- QPixmap(":/icons/video_l.png"), +- this); +- ActionButton *gameButton = new ActionButton(8, +- QIcon(":/icons/game2.png"), +- QPixmap(":/icons/game_l.png"), +- this); +- ActionButton *tfButton = new ActionButton(9, +- QIcon(":/icons/IFcard2.png"), +- QPixmap(":/icons/IFcard_l.png"), +- this); + ActionButton *otherButton = new ActionButton(10, + QIcon(":/icons/other2.png"), + QPixmap(":/icons/other_l.png"), + this); + +- mItemLayout->addWidget(wifiButton, 0, 0); +- mItemLayout->addWidget(blueButton, 0, 1); +- mItemLayout->addWidget(netButton, 0, 2); +- mItemLayout->addWidget(internetButton, 0, 3); +- mItemLayout->addWidget(keyButton, 0, 4); +- mItemLayout->addWidget(paintingButton, 1, 0); +- mItemLayout->addWidget(cameraButton, 1, 1); +- mItemLayout->addWidget(videoButton, 1, 2); +- mItemLayout->addWidget(gameButton, 1, 3); +- mItemLayout->addWidget(tfButton, 1, 4); +- mItemLayout->addWidget(otherButton, 2, 0); +- +- connect(wifiButton, SIGNAL(clicked()), SLOT(onWifiButtonClicked())); +- connect(blueButton, SIGNAL(clicked()), SLOT(onBlueButtonClicked())); ++ mItemLayout->addWidget(netButton, 0, 0); ++ mItemLayout->addWidget(paintingButton, 0, 1); ++ mItemLayout->addWidget(otherButton, 0, 2); ++ + connect(netButton, SIGNAL(clicked()), SLOT(onNetButtonClicked())); +- connect(internetButton, SIGNAL(clicked()), SLOT(onInternetButtonClicked())); +- connect(keyButton, SIGNAL(clicked()), SLOT(onKeyButtonClicked())); + connect(paintingButton, SIGNAL(clicked()), SLOT(onPaintingButtonClicked())); +- connect(cameraButton, SIGNAL(clicked()), SLOT(onCameraButtonClicked())); +- connect(videoButton, SIGNAL(clicked()), SLOT(onVideoButtonClicked())); +- connect(gameButton, SIGNAL(clicked()), SLOT(onGameButtonClicked())); +- connect(tfButton, SIGNAL(clicked()), SLOT(onTFButtonClicked())); + connect(otherButton, SIGNAL(clicked()), SLOT(onOtherButtonClicked())); + } + +-- +2.30.2 + diff --git a/package/qlauncher/Config.in b/package/qlauncher/Config.in new file mode 100644 index 00000000..53902126 --- /dev/null +++ b/package/qlauncher/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_QLAUNCHER + bool "qlauncher" + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_PCRE2 + help + A simple launcher for Qt applications. diff --git a/package/qlauncher/qlauncher.mk b/package/qlauncher/qlauncher.mk new file mode 100644 index 00000000..cd90ed4b --- /dev/null +++ b/package/qlauncher/qlauncher.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# Qt Launcher +# +################################################################################ + +QLAUNCHER_VERSION = abd9b187804c60be2b34dee1917e36e5c7ab917d +QLAUNCHER_SITE = https://gitee.com/murphy-wong/qtlauncher.git +QLAUNCHER_SITE_METHOD = git + +#QLAUNCHER_DEPENDENCIES = qt5base pcre2 +QLAUNCGER_INSTALL_TARGET = YES + +define QLAUNCHER_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/launcher $(TARGET_DIR)/usr/bin/QLauncher +endef + +$(eval $(qmake-package)) -- Gitee From 75d2b1e1d6fdb1f758d4c64bde0a7735df58fd1f Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 29 Apr 2025 17:24:44 +0800 Subject: [PATCH 04/23] add package weston-qlauncher Signed-off-by: lindongping --- package/Config.in | 1 + package/weston-qlauncher/Config.in | 8 +++ package/weston-qlauncher/src/.bash_profile | 11 ++++ package/weston-qlauncher/src/launcher.service | 28 ++++++++ package/weston-qlauncher/src/qtwayland.sh | 3 + package/weston-qlauncher/src/weston.ini | 47 +++++++++++++ package/weston-qlauncher/src/weston.sh | 66 +++++++++++++++++++ package/weston-qlauncher/weston-qlauncher.mk | 31 +++++++++ 8 files changed, 195 insertions(+) create mode 100644 package/weston-qlauncher/Config.in create mode 100644 package/weston-qlauncher/src/.bash_profile create mode 100644 package/weston-qlauncher/src/launcher.service create mode 100644 package/weston-qlauncher/src/qtwayland.sh create mode 100644 package/weston-qlauncher/src/weston.ini create mode 100644 package/weston-qlauncher/src/weston.sh create mode 100644 package/weston-qlauncher/weston-qlauncher.mk diff --git a/package/Config.in b/package/Config.in index 976413e1..86c9016e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -380,6 +380,7 @@ endif source "package/tekui/Config.in" source "package/weston/Config.in" source "package/x11r7/Config.in" + source "package/weston-qlauncher/Config.in" comment "X applications" depends on BR2_PACKAGE_XORG7 diff --git a/package/weston-qlauncher/Config.in b/package/weston-qlauncher/Config.in new file mode 100644 index 00000000..52875d7b --- /dev/null +++ b/package/weston-qlauncher/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_WESTON_QLAUNCHER + bool "weston-qlauncher" + select BR2_PACKAGE_QLAUNCHER + help + weston-qlauncher is a tool that integrates the functionality of + Weston, the Wayland compositor, and qlauncher, a simple application + launcher. It provides a seamless way to start and manage Qt-based + applications within the Weston environment. diff --git a/package/weston-qlauncher/src/.bash_profile b/package/weston-qlauncher/src/.bash_profile new file mode 100644 index 00000000..dc29cf58 --- /dev/null +++ b/package/weston-qlauncher/src/.bash_profile @@ -0,0 +1,11 @@ +if [[ -z "$DISPLAY" && "$(tty)" == "/dev/tty1" ]]; then + # set Wayland enviroment + export XDG_SESSION_TYPE=wayland + export WAYLAND_DISPLAY=wayland-0 + export XDG_RUNTIME_DIR=/run/user/$(id -u) + + mkdir -p $XDG_RUNTIME_DIR + chmod 700 $XDG_RUNTIME_DIR + + weston --tty=1 & +fi diff --git a/package/weston-qlauncher/src/launcher.service b/package/weston-qlauncher/src/launcher.service new file mode 100644 index 00000000..f6e0626e --- /dev/null +++ b/package/weston-qlauncher/src/launcher.service @@ -0,0 +1,28 @@ +[Unit] +Description=The Qt Desktop +After=graphical.target + +[Service] +Type=simple +User=root +Group=root +ExecStartPre=-/bin/mkdir -p /run/user/0 +ExecStartPre=-/bin/chown root:root /run/user/0 +Environment=XDG_RUNTIME_DIR=/run/user/0 +#Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +#Environment=LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/aarch64-linux-gnu:/lib/aarch64-linux-gnu +Environment=QT_QPA_PLATFORM=wayland +ExecStartPre=/bin/sleep 2 +ExecStart=/usr/bin/QLauncher +#StandardInput=tty-force +#StandardOutput=inherit +#StandardError=inherit +#TTYPath=/dev/tty1 +#TTYReset=yes +#TTYVHangup=yes +RemainAfterExit=yes +Restart=on-failure + +[Install] +WantedBy=graphical.target +#WantedBy=multi-user.target diff --git a/package/weston-qlauncher/src/qtwayland.sh b/package/weston-qlauncher/src/qtwayland.sh new file mode 100644 index 00000000..e0c26c9b --- /dev/null +++ b/package/weston-qlauncher/src/qtwayland.sh @@ -0,0 +1,3 @@ +# The env variables below can be overridden + +export QT_QPA_PLATFORM=${QT_QPA_PLATFORM:-wayland} diff --git a/package/weston-qlauncher/src/weston.ini b/package/weston-qlauncher/src/weston.ini new file mode 100644 index 00000000..23391edf --- /dev/null +++ b/package/weston-qlauncher/src/weston.ini @@ -0,0 +1,47 @@ +[core] +backend=drm-backend.so + +# Allow running without input devices +require-input=false + +# Disable screen idle timeout by default +idle-time=0 + +# The repaint-window is used to calculate repaint delay(ms) after flipped. +# value <= 0: delay = abs(value) +# value > 0: delay = vblank_duration - value +repaint-window=-1 + +# Allow blending with lower drm planes +# gbm-format=argb8888 + +[shell] +# top(default)|bottom|left|right|none, none to disable panel +panel-position=bottom + +panel-scale=4 + +# background-image +background-image=/usr/share/images/desktop-base/dark.jpg + +# scale|scale-crop|tile +background-type=scale-crop + +# none|minutes(default)|seconds +# clock-format=seconds + +# Disable screen locking +locking=false + +[libinput] +# Uncomment below to enable touch screen calibrator(weston-touch-calibrator) +# touchscreen_calibrator=true +# calibration_helper=/bin/weston-calibration-helper.sh + +[keyboard] +# Comment this to enable vt switching +vt-switching=false + +# Configs for auto key repeat +# repeat-rate=40 +# repeat-delay=400 diff --git a/package/weston-qlauncher/src/weston.sh b/package/weston-qlauncher/src/weston.sh new file mode 100644 index 00000000..772da0f8 --- /dev/null +++ b/package/weston-qlauncher/src/weston.sh @@ -0,0 +1,66 @@ +# The env variables below can be overridden + +# Comment out this for atomic related functions, e.g. sprites +export WESTON_DISABLE_ATOMIC=1 + +# Allow using drm modifier, e.g. ARM AFBC +# export WESTON_ALLOW_GBM_MODIFIERS=1 + +# Enable black background for fullscreen views +# export WESTON_FULLSCREEN_BLACK_BACKGROUND=1 + +# Allow disabling unused CRTCs +# WESTON_DRM_MASTER=1 + +# Override output's freezing time +# export WESTON_DRM_RESIZE_FREEZE_MS=1000 + +# Primary screen +# export WESTON_DRM_PRIMARY=eDP-1 + +# Single screen +# export WESTON_DRM_SINGLE_HEAD=1 + +# Fallback to any available connector +# export WESTON_DRM_HEAD_FALLBACK=1 + +# Connector selecting mode: +# default|primary|internal|external|external-dual +# export WESTON_DRM_HEAD_MODE=external-dual + +# Screens layout direction +# horizontal|vertical|same-as +# export WESTON_OUTPUT_FLOW=vertical + +# Virtual display size +# export WESTON_DRM_VIRTUAL_SIZE=1024x768 + +# Comment out these to disable mirror mode +export WESTON_DRM_MIRROR=1 +export WESTON_DRM_KEEP_RATIO=1 + +# Disable DRM plane hardware scale feature +# export WESTON_DRM_DISABLE_PLANE_SCALE=1 + +# Tag file for freezing weston display +export WESTON_FREEZE_DISPLAY=/tmp/.freeze_weston + +# Set dynamic config file path +# export WESTON_DRM_CONFIG=/tmp/.weston_drm.conf +# +# Dynamic config examples: +# echo "compositor:state:sleep" > /tmp/.weston_drm.conf # off + input wakeable +# echo "compositor:state:block" > /tmp/.weston_drm.conf # no input +# echo "compositor:state:freeze" > /tmp/.weston_drm.conf # no input + freeze +# echo "compositor:state:off" > /tmp/.weston_drm.conf # no input + off +# echo "compositor:state:on" > /tmp/.weston_drm.conf +# echo "output:DSI-1:off" >> /tmp/.weston_drm.conf +# echo "output:eDP-1:freeze" >> /tmp/.weston_drm.conf +# echo "output:DSI-1:on" >> /tmp/.weston_drm.conf +# echo "output:all:rotate90" >> /tmp/.weston_drm.conf +# echo "output:all:rect=<100,20,1636,2068>" >> /tmp/.weston_drm.conf +# echo "output:HDMI-A-1:mode=800x600" >> /tmp/.weston_drm.conf +# echo "output:HDMI-A-1:pos=100,200" >> /tmp/.weston_drm.conf +# echo "output:HDMI-A-1:size=1920x1080" >> /tmp/.weston_drm.conf +# echo "output:HDMI-A-1:prefer" >> /tmp/.weston_drm.conf +# echo "output:HDMI-A-1:primary" >> /tmp/.weston_drm.conf diff --git a/package/weston-qlauncher/weston-qlauncher.mk b/package/weston-qlauncher/weston-qlauncher.mk new file mode 100644 index 00000000..0be720c2 --- /dev/null +++ b/package/weston-qlauncher/weston-qlauncher.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# Weston and Qt Launcher +# +################################################################################ + +WESTON_QLAUNCHER_VERSION = 0.1 +WESTON_QLAUNCHER_SITE = package/weston-qlauncher/src +WESTON_QLAUNCHER_SITE_METHOD = local +WESTON_QLAUNCHER_INSTALL_TARGET = YES + +define WESTON_QLAUNCHER_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/etc/xdg/weston/ + mkdir -p $(TARGET_DIR)/etc/profile.d/ + mkdir -p $(TARGET_DIR)/lib/systemd/system/ + $(INSTALL) -m 644 -D $(@D)/weston.ini $(TARGET_DIR)/etc/xdg/weston/ + $(INSTALL) -m 755 -D $(@D)/weston.sh $(TARGET_DIR)/etc/profile.d/ + $(INSTALL) -m 755 -D $(@D)/qtwayland.sh $(TARGET_DIR)/etc/profile.d/ + $(INSTALL) -m 644 -D $(@D)/launcher.service $(TARGET_DIR)/lib/systemd/system/ + $(INSTALL) -m 644 -D $(@D)/.bash_profile $(TARGET_DIR)/root + touch $(TARGET_DIR)/root/.weston +endef + +define ENABLE_WESTON_QLAUNCHER_SERVICE + mkdir -p $(TARGET_DIR)/etc/systemd/system/graphical.target.wants/ + ln -sf /lib/systemd/system/launcher.service $(TARGET_DIR)/etc/systemd/system/graphical.target.wants/launcher.service +endef + +WESTON_QLAUNCHER_POST_INSTALL_TARGET_HOOKS += ENABLE_WESTON_QLAUNCHER_SERVICE + +$(eval $(generic-package)) -- Gitee From e1631750579a645127479950a8a8e9c3bf846e05 Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 29 Apr 2025 17:26:05 +0800 Subject: [PATCH 05/23] add weston.config Signed-off-by: lindongping --- board/phytium/common/debian-additional_packages_list | 1 + board/phytium/common/debian-package-installer | 10 ++++++++-- board/phytium/common/post-custom-skeleton-debian-11.sh | 6 +++++- configs/weston.config | 8 ++++++++ package/phytium-firstlogin/src/phytium-firstlogin | 6 ++++-- 5 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 configs/weston.config diff --git a/board/phytium/common/debian-additional_packages_list b/board/phytium/common/debian-additional_packages_list index 4712cb46..5c4cd0e0 100644 --- a/board/phytium/common/debian-additional_packages_list +++ b/board/phytium/common/debian-additional_packages_list @@ -1,6 +1,7 @@ # additional packages list for SDK main userland gathered from main repo additional_full_packages_list=" python3-pygame python3-tk thonny python3-pgzero python3-serial debian-reference-en dillo python3-pip python3-numpy pypy alacarte rc-gui sense-hat tree libgl1-mesa-dri libgles1 libgles2-mesa xcompmgr geany python3-spidev python3-twython python3-smbus python3-flask pprompt piwiz" +additonal_weston_qlauncher_packages_list="xwayland weston qtbase5-dev qtbase5-dev-tools qtwayland5 libqt5serialport5 libqt5serialport5-dev qtwebengine5-* libqt5webengine5" additional_desktop_packages_list="tigervnc-standalone-server vlc rfkill blueman bluetooth gstreamer1.0-tools fbset audacity" diff --git a/board/phytium/common/debian-package-installer b/board/phytium/common/debian-package-installer index c4e7d62d..809577d7 100755 --- a/board/phytium/common/debian-package-installer +++ b/board/phytium/common/debian-package-installer @@ -44,7 +44,7 @@ do_distrorfs_second_stage() { export LC_ALL=C LANGUAGE=C LANG=C - echo installing base packages: $pkglist + echo installing base packages for pkg in $additional_base_packages_list; do echo Installing $pkg ... DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install $pkg || exit 1 @@ -59,7 +59,7 @@ do_distrorfs_second_stage() { rm -f /etc/systemd/system/display-manager.service - echo installing desktop packages list packages: $pkglist + echo installing desktop packages list packages for pkg in $additional_desktop_packages_list; do echo Installing $pkg ... DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install $pkg || exit 1 @@ -88,6 +88,12 @@ do_distrorfs_second_stage() { echo remove packages. DEBIAN_FRONTEND=noninteractive apt-get -y remove --purge parole || exit 1 + elif [ $6 = weston ]; then + echo installing weston packages list packages + for pkg in $additonal_weston_qlauncher_packages_list; do + echo Installing $pkg ... + DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install $pkg || exit 1 + done fi # set timezone diff --git a/board/phytium/common/post-custom-skeleton-debian-11.sh b/board/phytium/common/post-custom-skeleton-debian-11.sh index e2a41038..cfd6007b 100755 --- a/board/phytium/common/post-custom-skeleton-debian-11.sh +++ b/board/phytium/common/post-custom-skeleton-debian-11.sh @@ -185,7 +185,11 @@ full_rtf() if grep -Eq "^BR2_PACKAGE_ROOTFS_DESKTOP=y$" ${BR2_CONFIG}; then echo "desktop" else - echo "base" + if grep -Eq "^BR2_PACKAGE_WESTON_QLAUNCHER=y$" ${BR2_CONFIG}; then + echo "weston" + else + echo "base" + fi fi } diff --git a/configs/weston.config b/configs/weston.config new file mode 100644 index 00000000..a58d13bc --- /dev/null +++ b/configs/weston.config @@ -0,0 +1,8 @@ +BR2_PACKAGE_WESTON_QLAUNCHER=y +BR2_PACKAGE_QLAUNCHER=y +BR2_PACKAGE_QT5=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_QT5BASE_GUI=y +BR2_PACKAGE_QT5BASE_WIDGETS=y +BR2_PACKAGE_PHYTIUM_DESKTOP_TOOLS=y +BR2_TARGET_ROOTFS_EXT2_SIZE="3G" diff --git a/package/phytium-firstlogin/src/phytium-firstlogin b/package/phytium-firstlogin/src/phytium-firstlogin index a78ad79c..bc6f39ab 100755 --- a/package/phytium-firstlogin/src/phytium-firstlogin +++ b/package/phytium-firstlogin/src/phytium-firstlogin @@ -531,8 +531,10 @@ firmware_configure(){ if [[ -f /root/.not_logged_in_yet && -n $(tty) ]]; then do_firstrun_automated_network_configuration - # disable autologin - rm -f /etc/systemd/system/getty@.service.d/override.conf + # disable autologin, reserve autologin when weston is enable + if [[ ! -f /root/.weston ]]; then + rm -f /etc/systemd/system/getty@.service.d/override.conf + fi rm -f /etc/systemd/system/serial-getty@.service.d/override.conf systemctl daemon-reload -- Gitee From d4482ae01cdc2341f422d899142215faa96e2a98 Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 29 Apr 2025 17:26:28 +0800 Subject: [PATCH 06/23] README: add weston+qlauncher Signed-off-by: lindongping --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 9c8c5be1..567364af 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,17 @@ openamp_core0.elf安装到/lib/firmware,用户空间测试程序安装到/usr/bi 生成的根文件系统、内核、sdcard.img 镜像位于output/images目录。 关于使用5G模块上网的详细步骤,请参考本仓库的wiki[飞腾派支持5G模块上网](https://gitee.com/phytium_embedded/phytium-pi-os/wikis/%E9%A3%9E%E8%85%BE%E6%B4%BE%E6%94%AF%E6%8C%815G%E6%A8%A1%E5%9D%97%E4%B8%8A%E7%BD%91)。 +### 支持weston+qlauncher +Wayland是一个用于替代X Window System(通常简称为X)的计算机显示服务器通信协议,旨在提供更现代、简化和高性能的图形用户界面(GUI)体验。 +Weston作为Wayland协议的一个示例实现,主要目的是作为Wayland协议的参考实现,但它的设计允许它运行在不同的图形环境中,包括传统的X11环境。 +weston.config实现了weston+qlauncher的简单桌面,显示服务默认使用Weston drm后端,并提供了一个简单的qt launcher应用。 +如果需要使用weston+qlauncher功能,请使用不带桌面的配置项phytiumpi_defconfig,合并weston.config配置项: +`./support/kconfig/merge_config.sh configs/phytiumpi_defconfig configs/weston.config` +(2)编译 +`$ make` +(3)镜像的输出位置 +生成的根文件系统、内核、sdcard.img 镜像位于output/images目录。 + ## 清理编译结果 (1)`$ make clean` 删除所有编译结果,包括output目录下的所有内容。当编译完一个文件系统后,编译另一个文件系统前,需要执行此命令。 -- Gitee From 93b5c94c097c4a285e890bf9797fec4c40b9ef55 Mon Sep 17 00:00:00 2001 From: lindongping Date: Wed, 14 May 2025 10:50:27 +0800 Subject: [PATCH 07/23] support jailhouse Signed-off-by: lindongping --- configs/jailhouse.config | 9 +++++ .../0001-disable-smmu-in-dts.patch | 34 +++++++++++++++++++ ...ytiumpi-linux-kernel-to-reserve-memo.patch | 34 +++++++++++++++++++ package/jailhouse/jailhouse.hash | 3 -- package/jailhouse/jailhouse.mk | 30 ++++++++++------ package/libffi/libffi.mk | 3 ++ package/python3/python3.mk | 3 ++ 7 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 configs/jailhouse.config create mode 100644 linux/kernel-patches/0001-disable-smmu-in-dts.patch create mode 100644 linux/kernel-patches/jailhouse/0001-modify-the-dts-of-phytiumpi-linux-kernel-to-reserve-memo.patch delete mode 100644 package/jailhouse/jailhouse.hash diff --git a/configs/jailhouse.config b/configs/jailhouse.config new file mode 100644 index 00000000..0f785189 --- /dev/null +++ b/configs/jailhouse.config @@ -0,0 +1,9 @@ +# jailhouse +BR2_PACKAGE_JAILHOUSE=y + +# jailhouse helper scripts +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS=y + +# kernel patch for phytiumpi,kernel version of 4.19 and 5.10 +BR2_LINUX_KERNEL_PATCH="$(LINUX_PKGDIR)/kernel-patches/jailhouse/0001-modify-the-dts-of-phytiumpi-linux-kernel-to-reserve-memo.patch $(LINUX_PKGDIR)/kernel-patches/0001-disable-smmu-in-dts.patch" diff --git a/linux/kernel-patches/0001-disable-smmu-in-dts.patch b/linux/kernel-patches/0001-disable-smmu-in-dts.patch new file mode 100644 index 00000000..c84b9017 --- /dev/null +++ b/linux/kernel-patches/0001-disable-smmu-in-dts.patch @@ -0,0 +1,34 @@ +From 3e75cd0d84d86f395d945c244c43bb0d3f5e7bbd Mon Sep 17 00:00:00 2001 +From: weishanshan1084 +Date: Tue, 2 Jan 2024 10:56:39 +0800 +Subject: [PATCH] disable smmu in dts + +Signed-off-by: weishanshan1084 +--- + arch/arm64/boot/dts/phytium/pe220x.dtsi | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/phytium/pe220x.dtsi b/arch/arm64/boot/dts/phytium/pe220x.dtsi +index ef2dc3190..874b6fc8e 100644 +--- a/arch/arm64/boot/dts/phytium/pe220x.dtsi ++++ b/arch/arm64/boot/dts/phytium/pe220x.dtsi +@@ -173,6 +173,7 @@ smmu: iommu@30000000 { + interrupt-names = "eventq", "priq", "cmdq-sync", "gerror"; + dma-coherent; + #iommu-cells = <1>; ++ status = "disabled"; + }; + + soc: soc { +@@ -1001,7 +1002,7 @@ pcie: pcie@40000000 { + ranges = <0x01000000 0x00 0x00000000 0x0 0x50000000 0x0 0x00f00000>, + <0x02000000 0x00 0x58000000 0x0 0x58000000 0x0 0x28000000>, + <0x03000000 0x10 0x00000000 0x10 0x00000000 0x10 0x00000000>; +- iommu-map = <0x0 &smmu 0x0 0x10000>; ++ //iommu-map = <0x0 &smmu 0x0 0x10000>; + status = "disabled"; + }; + +-- +2.25.1 + diff --git a/linux/kernel-patches/jailhouse/0001-modify-the-dts-of-phytiumpi-linux-kernel-to-reserve-memo.patch b/linux/kernel-patches/jailhouse/0001-modify-the-dts-of-phytiumpi-linux-kernel-to-reserve-memo.patch new file mode 100644 index 00000000..5064a247 --- /dev/null +++ b/linux/kernel-patches/jailhouse/0001-modify-the-dts-of-phytiumpi-linux-kernel-to-reserve-memo.patch @@ -0,0 +1,34 @@ +From 01bcd5347ace6a71bad5e71cf8ab8d165e34eec0 Mon Sep 17 00:00:00 2001 +From: lindongping +Date: Fri, 1 Dec 2023 16:37:18 +0800 +Subject: [PATCH] modify the dts of e2000 linux kernel to reserve memory for + jailhouse. + +--- + arch/arm64/boot/dts/phytium/pe2204.dtsi | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/arch/arm64/boot/dts/phytium/pe2204.dtsi b/arch/arm64/boot/dts/phytium/pe2204.dtsi +index 201a01e75..54cd6f0a4 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204.dtsi ++++ b/arch/arm64/boot/dts/phytium/pe2204.dtsi +@@ -10,6 +10,16 @@ + / { + compatible = "phytium,pe2204"; + ++ reserved-memory { ++ #address-cells = <0x00000002>; ++ #size-cells = <0x00000002>; ++ ranges; ++ reserved@b0000000 { ++ reg = <0x00000000 0xb0000000 0x00000000 0x10000000>; ++ no-map; ++ }; ++ }; ++ + aliases { + ethernet0 = &macb0; + ethernet1 = &macb1; +-- +2.34.1 + diff --git a/package/jailhouse/jailhouse.hash b/package/jailhouse/jailhouse.hash deleted file mode 100644 index 13a260e8..00000000 --- a/package/jailhouse/jailhouse.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 3777a553c2acb2b693843fe4d16ab80333879daedd47d9c9f3717c9644e6cf93 jailhouse-0.12.tar.gz -sha256 3aafb31a2436178323663e00511f16d58fc36ea654b1457532e79d017205efd8 COPYING diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index 6356c5a7..83c612a8 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -4,8 +4,9 @@ # ################################################################################ -JAILHOUSE_VERSION = 0.12 -JAILHOUSE_SITE = $(call github,siemens,jailhouse,v$(JAILHOUSE_VERSION)) +JAILHOUSE_VERSION = jailhouse_v2.2 +JAILHOUSE_SITE = ssh://git@gitlab.phytium.com.cn:12022/embedded/linux/jailhouse.git +JAILHOUSE_SITE_METHOD = git JAILHOUSE_LICENSE = GPL-2.0 JAILHOUSE_LICENSE_FILES = COPYING JAILHOUSE_DEPENDENCIES = \ @@ -15,10 +16,12 @@ JAILHOUSE_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH="$(KERNEL_ARCH)" \ KDIR="$(LINUX_DIR)" \ - DESTDIR="$(TARGET_DIR)" + DESTDIR="$(TARGET_DIR)" \ + INSTALL_MOD_DIR="jailhouse" ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) JAILHOUSE_DEPENDENCIES += \ + python3 \ host-python-mako \ host-python-setuptools JAILHOUSE_MAKE_OPTS += \ @@ -31,24 +34,31 @@ JAILHOUSE_MAKE_OPTS += \ endif define JAILHOUSE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/src/jailhouse $(if $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS), \ - cd $(@D) && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py build) + cd $(@D)/src/jailhouse && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py build) endef define JAILHOUSE_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) modules_install firmware_install tool_inmates_install - $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/tools src=$(@D)/tools install + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/src/jailhouse modules_install firmware_install tool_inmates_install + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/src/jailhouse/tools src=$(@D)/src/jailhouse/tools install $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/jailhouse - $(INSTALL) -D -m 0644 $(@D)/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse + $(INSTALL) -D -m 0644 $(@D)/src/jailhouse/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/libexec/jailhouse/demos - $(INSTALL) -D -m 0755 $(@D)/inmates/demos/*/*.bin $(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) && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py install --no-compile $(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS)) + 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_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)) diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 093256a6..7e18b0d2 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -11,6 +11,9 @@ LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_CPE_ID_VENDOR = libffi_project LIBFFI_INSTALL_STAGING = YES +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +LIBFFI_INSTALL_TARGET = NO +endif # We're patching Makefile.am LIBFFI_AUTORECONF = YES diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 0fdea8e6..574bd5ef 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -61,6 +61,9 @@ HOST_PYTHON3_CONF_OPTS += --disable-openssl endif PYTHON3_INSTALL_STAGING = YES +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +PYTHON3_INSTALL_TARGET = NO +endif ifeq ($(BR2_PACKAGE_PYTHON3_2TO3),y) PYTHON3_CONF_OPTS += --enable-lib2to3 -- Gitee From 4f345c4d922334d31544899181590afb3132ff9f Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 13 May 2025 16:10:50 +0800 Subject: [PATCH 08/23] skeleton scripts: deleting skeleton-custom directory requires sudo permission Signed-off-by: weishanshan1084 --- board/phytium/common/post-custom-skeleton-debian-11.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/phytium/common/post-custom-skeleton-debian-11.sh b/board/phytium/common/post-custom-skeleton-debian-11.sh index cfd6007b..1a85eba2 100755 --- a/board/phytium/common/post-custom-skeleton-debian-11.sh +++ b/board/phytium/common/post-custom-skeleton-debian-11.sh @@ -196,7 +196,7 @@ full_rtf() main() { # $1 - the current rootfs directory, skeleton-custom or target - rm -rf $1/* + sudo rm -rf $1/* # run first stage do_distrorfs_first_stage arm64 ${1} ubuntu-additional_packages_list focal ubuntu do_distrorfs_first_stage $(arch_type) ${1} debian-additional_packages_list bullseye debian $(plat_name) $(full_rtf) -- Gitee From 94e71af8d96c8b9ced071cb650b59789bfd7fe37 Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 25 Mar 2025 10:52:48 +0800 Subject: [PATCH 09/23] update phyuboot Signed-off-by: lindongping --- package/phyuboot/phyuboot.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/phyuboot/phyuboot.mk b/package/phyuboot/phyuboot.mk index 7da8ef37..3fadf3ab 100644 --- a/package/phyuboot/phyuboot.mk +++ b/package/phyuboot/phyuboot.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHYUBOOT_VERSION = 1393e14413f2e3f65597dcd2eb19e307f5636f74 +PHYUBOOT_VERSION = 52881fd67e2453e173c0e6f608d3887598efd0ef PHYUBOOT_SITE = https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git PHYUBOOT_SITE_METHOD = git -- Gitee From 5d80ef65bdd92798c3d4e5837d6843bdd4a35489 Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 13 May 2025 16:55:55 +0800 Subject: [PATCH 10/23] add ffmpeg and dkms for vpu Signed-off-by: lindongping --- board/phytium/common/debian-additional_packages_list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/phytium/common/debian-additional_packages_list b/board/phytium/common/debian-additional_packages_list index 5c4cd0e0..e3021082 100644 --- a/board/phytium/common/debian-additional_packages_list +++ b/board/phytium/common/debian-additional_packages_list @@ -11,4 +11,4 @@ v4l-utils python3-gpiozero avahi-daemon lua5.1 luajit hardlink curl fake-hwclock dphys-swapfile apt-listchanges usb-modeswitch libmtp-runtime rsync htop man-db rng-tools \ ssh-import-id ethtool ntfs-3g pciutils udisks2 zip p7zip-full file \ cifs-utils mkvtoolnix wpasupplicant wireless-tools \ -net-tools vim locales git network-manager jq" +net-tools vim locales git network-manager jq ffmpeg dkms" -- Gitee From cecdb9c35a06371c6da163664538cc46a617b7ba Mon Sep 17 00:00:00 2001 From: lindongping Date: Mon, 31 Mar 2025 16:42:51 +0800 Subject: [PATCH 11/23] debian-package-installer: remove plymouth Signed-off-by: lindongping --- board/phytium/common/debian-package-installer | 2 ++ 1 file changed, 2 insertions(+) diff --git a/board/phytium/common/debian-package-installer b/board/phytium/common/debian-package-installer index 809577d7..74715975 100755 --- a/board/phytium/common/debian-package-installer +++ b/board/phytium/common/debian-package-installer @@ -64,6 +64,8 @@ do_distrorfs_second_stage() { echo Installing $pkg ... DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install $pkg || exit 1 done + # remove plymouth + DEBIAN_FRONTEND=noninteractive apt -y remove plymouth || true echo 'root' >> /etc/deniedusers chmod 600 /etc/deniedusers echo 'auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/deniedusers' >> /etc/pam.d/lightdm -- Gitee From 2588e08e5482b3c8fe14a85906bc850138c37894 Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 13 May 2025 17:06:14 +0800 Subject: [PATCH 12/23] disable automatic switching of audio output devices Signed-off-by: lindongping --- board/phytium/common/debian-package-installer | 3 +- .../phytium-desktop-tools.mk | 5 --- .../src/PMDK-I2S/HiFi.conf | 16 ---------- .../src/PMDK-I2S/PMDK-I2S.conf | 6 ---- .../src/phytium_pe220x-/HiFi.conf | 31 ------------------- .../src/phytium_pe220x-/phytium_pe220x-.conf | 6 ---- .../src/sound_output_device_switching.desktop | 8 ----- .../src/switch_to_headphone.sh | 29 ----------------- 8 files changed, 1 insertion(+), 103 deletions(-) delete mode 100644 package/phytium-desktop-tools/src/PMDK-I2S/HiFi.conf delete mode 100644 package/phytium-desktop-tools/src/PMDK-I2S/PMDK-I2S.conf delete mode 100644 package/phytium-desktop-tools/src/phytium_pe220x-/HiFi.conf delete mode 100644 package/phytium-desktop-tools/src/phytium_pe220x-/phytium_pe220x-.conf delete mode 100644 package/phytium-desktop-tools/src/sound_output_device_switching.desktop delete mode 100755 package/phytium-desktop-tools/src/switch_to_headphone.sh diff --git a/board/phytium/common/debian-package-installer b/board/phytium/common/debian-package-installer index 74715975..68328365 100755 --- a/board/phytium/common/debian-package-installer +++ b/board/phytium/common/debian-package-installer @@ -71,10 +71,9 @@ do_distrorfs_second_stage() { echo 'auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/deniedusers' >> /etc/pam.d/lightdm # set the name of the sound output devices - #echo 'update-sink-proplist 1 device.description=Headphone' >> /etc/pulse/default.pa + echo 'update-sink-proplist 1 device.description=Headphone' >> /etc/pulse/default.pa echo 'update-sink-proplist 0 device.description=HDMI' >> /etc/pulse/default.pa #echo 'set-default-sink 1' >> /etc/pulse/default.pa - echo 'load-module module-switch-on-connect' >> /etc/pulse/default.pa # touch .desktop_firstrun touch /root/.desktop_firstlogin diff --git a/package/phytium-desktop-tools/phytium-desktop-tools.mk b/package/phytium-desktop-tools/phytium-desktop-tools.mk index fec296f0..899472ed 100644 --- a/package/phytium-desktop-tools/phytium-desktop-tools.mk +++ b/package/phytium-desktop-tools/phytium-desktop-tools.mk @@ -15,17 +15,12 @@ define PHYTIUM_DESKTOP_TOOLS_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/share/lightdm/lightdm-gtk-greeter.conf.d/ mkdir -p $(TARGET_DIR)/usr/share/desktop-base/profiles/xdg-config/xfce4/xfconf/xfce-perchannel-xml/ mkdir -p $(TARGET_DIR)/var/lib/alsa/ - mkdir -p $(TARGET_DIR)/usr/share/alsa/ucm2/ mkdir -p $(TARGET_DIR)/usr/local/bin/ mkdir -p $(TARGET_DIR)/etc/udev/rules.d/ $(INSTALL) -m 777 -D $(@D)/dark.jpg $(TARGET_DIR)/usr/share/images/desktop-base/ $(INSTALL) -m 755 -D $(@D)/01_debian.conf $(TARGET_DIR)/usr/share/lightdm/lightdm-gtk-greeter.conf.d/ $(INSTALL) -m 755 -D $(@D)/xfce4-desktop.xml $(TARGET_DIR)/usr/share/desktop-base/profiles/xdg-config/xfce4/xfconf/xfce-perchannel-xml/ $(INSTALL) -m 644 -D $(@D)/asound.state $(TARGET_DIR)/var/lib/alsa/ - cp -rf $(@D)/PMDK-I2S/ $(TARGET_DIR)/usr/share/alsa/ucm2/ - cp -rf $(@D)/phytium_pe220x-/ $(TARGET_DIR)/usr/share/alsa/ucm2/ - $(INSTALL) -m 755 -D $(@D)/switch_to_headphone.sh $(TARGET_DIR)/usr/bin/ - $(INSTALL) -m 644 -D $(@D)/sound_output_device_switching.desktop $(TARGET_DIR)/usr/share/alsa/ucm2/ $(INSTALL) -m 755 -D $(@D)/auto_resolution.sh $(TARGET_DIR)/usr/local/bin/ $(INSTALL) -m 644 -D $(@D)/99-monitor-hotplug.rules $(TARGET_DIR)/etc/udev/rules.d/ endef diff --git a/package/phytium-desktop-tools/src/PMDK-I2S/HiFi.conf b/package/phytium-desktop-tools/src/PMDK-I2S/HiFi.conf deleted file mode 100644 index 1845c10c..00000000 --- a/package/phytium-desktop-tools/src/PMDK-I2S/HiFi.conf +++ /dev/null @@ -1,16 +0,0 @@ -SectionDevice."HDMI Audio" { - Comment "HDMI Audio" - - EnableSequence [ - ] - - DisableSequence [ - ] - - Value { - PlaybackPriority 200 - PlaybackPCM "hw:${CardId},0" - JackControl "HDMI/DP,pcm=0 Jack" - } -} - diff --git a/package/phytium-desktop-tools/src/PMDK-I2S/PMDK-I2S.conf b/package/phytium-desktop-tools/src/PMDK-I2S/PMDK-I2S.conf deleted file mode 100644 index 14a3a45e..00000000 --- a/package/phytium-desktop-tools/src/PMDK-I2S/PMDK-I2S.conf +++ /dev/null @@ -1,6 +0,0 @@ -Syntax 3 - -SectionUseCase."HiFi" { - File "HiFi.conf" - Comment "Play HiFi quality voice." -} diff --git a/package/phytium-desktop-tools/src/phytium_pe220x-/HiFi.conf b/package/phytium-desktop-tools/src/phytium_pe220x-/HiFi.conf deleted file mode 100644 index e5295f0c..00000000 --- a/package/phytium-desktop-tools/src/phytium_pe220x-/HiFi.conf +++ /dev/null @@ -1,31 +0,0 @@ -SectionDevice."Headphones" { - Comment "Headphones" - - EnableSequence [ - ] - - DisableSequence [ - ] - - Value { - PlaybackPriority 200 - PlaybackPCM "hw:${CardId},0" - JackControl "Headphones Jack" - } -} - -SectionDevice."Microphone" { - Comment "Microphone" - - EnableSequence [ - cset "name='Differential Mux' lin2-rin2" - ] - - DisableSequence [ - ] - - Value { - CapturePriority 200 - CapturePCM "hw:${CardId},0" - } -} diff --git a/package/phytium-desktop-tools/src/phytium_pe220x-/phytium_pe220x-.conf b/package/phytium-desktop-tools/src/phytium_pe220x-/phytium_pe220x-.conf deleted file mode 100644 index 14a3a45e..00000000 --- a/package/phytium-desktop-tools/src/phytium_pe220x-/phytium_pe220x-.conf +++ /dev/null @@ -1,6 +0,0 @@ -Syntax 3 - -SectionUseCase."HiFi" { - File "HiFi.conf" - Comment "Play HiFi quality voice." -} diff --git a/package/phytium-desktop-tools/src/sound_output_device_switching.desktop b/package/phytium-desktop-tools/src/sound_output_device_switching.desktop deleted file mode 100644 index 412b500d..00000000 --- a/package/phytium-desktop-tools/src/sound_output_device_switching.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Application -Exec=/usr/bin/switch_to_headphone.sh -Hidden=false -NoDisplay=false -X-GNOME-Autostart-enabled=true -Name=Switch to headphone Script -Comment=Starts switch to headphone script on login diff --git a/package/phytium-desktop-tools/src/switch_to_headphone.sh b/package/phytium-desktop-tools/src/switch_to_headphone.sh deleted file mode 100755 index 166e0d9e..00000000 --- a/package/phytium-desktop-tools/src/switch_to_headphone.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Phytium phytiumpi script for automatically switching the sound output device. -# -# Copyright (c) 2024 Phytium Technology Co., Ltd. - - -FLAG=true - -while true; do - - HEADPHONE_AVAILABLE="$(pactl list cards | grep -oP '\[Out\] Headphones:.*?\b available\b' | grep -o 'not')" - if pgrep -x pulseaudio > /dev/null; then - if [ -z "$HEADPHONE_AVAILABLE" ]; then - pactl set-card-profile 1 HiFi - if [ "$FLAG" == true ]; then - pacmd update-sink-proplist alsa_output.platform-sound.HiFi__hw_phytiumpe220xi2_0__sink device.description=Headphone - pacmd set-default-sink alsa_output.platform-sound.HiFi__hw_phytiumpe220xi2_0__sink - - FLAG=false - fi - - elif [ -n "$HEADPHONE_AVAILABLE" ] && [ "$FLAG" == false ]; then - FLAG=true - fi - fi - sleep 1 - -done -- Gitee From a92e39753214112282bb3c1a9cf0aa411422a146 Mon Sep 17 00:00:00 2001 From: lindongping Date: Wed, 14 May 2025 10:57:13 +0800 Subject: [PATCH 13/23] README: support jailhouse Signed-off-by: lindongping --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index 567364af..b2fc8c71 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,34 @@ ethercat用户态的库、工具被安装到根文件系统: 配置文件安装到/etc,其它内容分别被安装到/usr目录下的bin,include,lib,sbin,share。 关于ethercat的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/ethercat` +### 支持jailhouse +本项目还支持编译jailhouse,关于jailhouse的信息请参考:`https://gitee.com/phytium_embedded/phytium-jailhouse` +支持将jailhouse编译安装到debian系统上,如果需要编译jailhouse请执行: +(1)使用phytiumpi_defconfig或者phytiumpi_desktop_defconfig作为基础配置项,合并支持jailhouse的配置: +`./support/kconfig/merge_config.sh configs/phytiumpi_xxx_defconfig configs/phytiumpi_jailhouse.config` +(2)编译 +`$ make` +(3)镜像的输出位置 +生成的根文件系统、内核、img 镜像位于output/images目录。 +(4)文件的安装路径 +jailhouse相关的文件被安装到根文件系统: +``` +按照Makefile中的规则, +将jailhouse的驱动jailhouse.ko安装到/lib/modules/version/jailhouse/driver; +jailhouse.bin安装到/lib/firmware; +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; +configs/arm64/dts/*.dtb安装到/usr/local/libexec/jailhouse/dtb; +pyjailhouse安装到/usr/local/lib/python3.11/site-packages, +通过/usr/local/lib/python3/dist-packages/pyjailhouse.pth文件,将pyjailhouse模块添加到python模块的搜索路径。 +``` +关于jailhouse的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-jailhouse/blob/master/Readme.md` + ### 支持openamp 本项目还支持编译openamp,编译OpenAMP裸跑二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-standalone-sdk`,编译OpenAMP FreeRTOS二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-free-rtos-sdk` 支持将openamp二进制镜像、用户空间测试程序安装到debian系统上,openamp只支持linux 4.19,linux 5.10内核。如果需要编译openamp请执行: -- Gitee From f58793b0221b8428860763940c143c08c292acea Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 13 May 2025 17:12:51 +0800 Subject: [PATCH 14/23] defconfig: disable package ffmpeg Signed-off-by: lindongping --- configs/phytiumpi_defconfig | 2 +- configs/phytiumpi_desktop_defconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/phytiumpi_defconfig b/configs/phytiumpi_defconfig index dbb19a75..06ddabc4 100644 --- a/configs/phytiumpi_defconfig +++ b/configs/phytiumpi_defconfig @@ -62,7 +62,7 @@ BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt board/phytium/common/device_tab BR2_PACKAGE_BUSYBOX=n # FFmpeg -BR2_PACKAGE_FFMPEG=y +#BR2_PACKAGE_FFMPEG=y # Phytium_tools BR2_PACKAGE_PHYTIUM_TOOLS=y diff --git a/configs/phytiumpi_desktop_defconfig b/configs/phytiumpi_desktop_defconfig index c5d567c1..02aaea5b 100644 --- a/configs/phytiumpi_desktop_defconfig +++ b/configs/phytiumpi_desktop_defconfig @@ -76,7 +76,7 @@ BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt board/phytium/common/desktop_de BR2_PACKAGE_BUSYBOX=n # FFmpeg -BR2_PACKAGE_FFMPEG=y +#BR2_PACKAGE_FFMPEG=y # util-linux BR2_PACKAGE_UTIL_LINUX=y -- Gitee From b17e3f416f8efc5f878abfa8ad341a3419812a8e Mon Sep 17 00:00:00 2001 From: lindongping Date: Wed, 14 May 2025 09:56:36 +0800 Subject: [PATCH 15/23] README: update openamp Signed-off-by: lindongping --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b2fc8c71..8dca33db 100644 --- a/README.md +++ b/README.md @@ -167,8 +167,8 @@ pyjailhouse安装到/usr/local/lib/python3.11/site-packages, 关于jailhouse的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-jailhouse/blob/master/Readme.md` ### 支持openamp -本项目还支持编译openamp,编译OpenAMP裸跑二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-standalone-sdk`,编译OpenAMP FreeRTOS二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-free-rtos-sdk` -支持将openamp二进制镜像、用户空间测试程序安装到debian系统上,openamp只支持linux 4.19,linux 5.10内核。如果需要编译openamp请执行: +本项目还支持编译openamp,编译OpenAMP裸跑二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-standalone-sdk`,编译OpenAMP FreeRTOS二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-free-rtos-sdk` +支持将openamp二进制镜像、用户空间测试程序安装到debian系统上,openamp只支持linux 4.19,linux 5.10内核,并且5.10内核下功能更丰富,推荐使用5.10内核。如果需要编译openamp请执行: (1)使用phytiumpi_xxx_defconfig作为基础配置项,合并支持openamp的配置: `./support/kconfig/merge_config.sh configs/phytiumpi_xxx_defconfig configs/openamp_xxx.config` 其中,`phytiumpi_xxx_defconfig`为`phytiumpi_defconfig`或`phytiumpi_desktop_defconfig`; @@ -332,4 +332,4 @@ $ make ``` # FAQ -1、关于phytium pi vpu的包请咨询飞腾技术支持或FAE。 +1、关于phytium pi vpu的包请咨询linan1284@phytium.com.cn。 -- Gitee From 23fd675721d7fad0b7d312b4b76acecc8e118d7a Mon Sep 17 00:00:00 2001 From: lindongping Date: Thu, 15 May 2025 10:02:15 +0800 Subject: [PATCH 16/23] weston-qlauncher: depends on qlauncher instead of select Signed-off-by: lindongping --- package/weston-qlauncher/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/weston-qlauncher/Config.in b/package/weston-qlauncher/Config.in index 52875d7b..c4dfc14d 100644 --- a/package/weston-qlauncher/Config.in +++ b/package/weston-qlauncher/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_WESTON_QLAUNCHER bool "weston-qlauncher" - select BR2_PACKAGE_QLAUNCHER + depends on BR2_PACKAGE_QLAUNCHER help weston-qlauncher is a tool that integrates the functionality of Weston, the Wayland compositor, and qlauncher, a simple application -- Gitee From 2641725c27aebecb4756be1c161af0906a5d8ce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=9C=E5=B9=B3?= Date: Thu, 22 May 2025 11:39:48 +0800 Subject: [PATCH 17/23] update xenomai and ethercat Signed-off-by: lindongping --- configs/phytiumpi_xenomai_cobalt_4.19.config | 4 +- configs/phytiumpi_xenomai_cobalt_5.10.config | 4 +- configs/phytiumpi_xenomai_mercury_4.19.config | 4 +- configs/phytiumpi_xenomai_mercury_5.10.config | 4 +- package/igh-ethercat/igh-ethercat.mk | 2 +- .../0001-smokey-fix-build-failure.patch | 55 ------------------- 6 files changed, 9 insertions(+), 64 deletions(-) delete mode 100644 package/xenomai/0001-smokey-fix-build-failure.patch diff --git a/configs/phytiumpi_xenomai_cobalt_4.19.config b/configs/phytiumpi_xenomai_cobalt_4.19.config index 49d67228..84f002dd 100644 --- a/configs/phytiumpi_xenomai_cobalt_4.19.config +++ b/configs/phytiumpi_xenomai_cobalt_4.19.config @@ -1,11 +1,11 @@ # cobalt kernel 4.19.209-cip59 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/linux-kernel-xenomai.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-4.19.209-cip59_v2.2" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9047e03ad6f681a2a9b22603e29f959732722748" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/cobalt.config" # xenomai libraries and tools BR2_PACKAGE_XENOMAI=y BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y -BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.1.3/xenomai-v3.1.3.tar.gz" +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.1.5/xenomai-v3.1.5.tar.gz" BR2_PACKAGE_XENOMAI_COBALT=y BR2_PACKAGE_XENOMAI_ENABLE_SMP=y BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS="--enable-pshared --enable-dlopen-libs" diff --git a/configs/phytiumpi_xenomai_cobalt_5.10.config b/configs/phytiumpi_xenomai_cobalt_5.10.config index acda735a..9b65563d 100644 --- a/configs/phytiumpi_xenomai_cobalt_5.10.config +++ b/configs/phytiumpi_xenomai_cobalt_5.10.config @@ -1,11 +1,11 @@ # cobalt kernel 5.10.209-dovetail1 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/linux-kernel-xenomai.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="6cccbc3fd510935617122aaa10345dfe217d0e03" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="28783e5cc2dfdeac4ae77538955de94df73873cd" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/cobalt.config" # xenomai libraries and tools BR2_PACKAGE_XENOMAI=y BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y -BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.2.4/xenomai-v3.2.4.tar.gz" +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.2.6/xenomai-v3.2.6.tar.gz" BR2_PACKAGE_XENOMAI_COBALT=y BR2_PACKAGE_XENOMAI_ENABLE_SMP=y BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS="--enable-pshared --enable-dlopen-libs" diff --git a/configs/phytiumpi_xenomai_mercury_4.19.config b/configs/phytiumpi_xenomai_mercury_4.19.config index e7854da7..643f8435 100644 --- a/configs/phytiumpi_xenomai_mercury_4.19.config +++ b/configs/phytiumpi_xenomai_mercury_4.19.config @@ -1,9 +1,9 @@ # kernel 4.19-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-4.19-rt_v2.2" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e0fcdeaba3fc9866393ed6c2102b9a5f9415d6b2" # xenomai libraries and tools BR2_PACKAGE_XENOMAI=y BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y -BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.1.3/xenomai-v3.1.3.tar.gz" +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.1.5/xenomai-v3.1.5.tar.gz" BR2_PACKAGE_XENOMAI_MERCURY=y BR2_PACKAGE_XENOMAI_ENABLE_SMP=y BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS="--enable-pshared --enable-dlopen-libs" diff --git a/configs/phytiumpi_xenomai_mercury_5.10.config b/configs/phytiumpi_xenomai_mercury_5.10.config index 3eeddc24..db950790 100644 --- a/configs/phytiumpi_xenomai_mercury_5.10.config +++ b/configs/phytiumpi_xenomai_mercury_5.10.config @@ -1,9 +1,9 @@ # kernel 5.10-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10-rt_v2.2" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fa09984405016a2678f5507fd5e10b3119ec7559" # xenomai libraries and tools BR2_PACKAGE_XENOMAI=y BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y -BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.2.2/xenomai-v3.2.2.tar.gz" +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.2.6/xenomai-v3.2.6.tar.gz" BR2_PACKAGE_XENOMAI_MERCURY=y BR2_PACKAGE_XENOMAI_ENABLE_SMP=y BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS="--enable-pshared --enable-dlopen-libs" diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk index ed8919ae..8ea2cb9d 100644 --- a/package/igh-ethercat/igh-ethercat.mk +++ b/package/igh-ethercat/igh-ethercat.mk @@ -4,7 +4,7 @@ # ################################################################################ -IGH_ETHERCAT_VERSION = stable-1.5_v2.2 +IGH_ETHERCAT_VERSION = 47dc5942ff6b982197e70342279e7788e8cf1425 IGH_ETHERCAT_SITE = https://gitee.com/phytium_embedded/ether-cat.git IGH_ETHERCAT_SITE_METHOD = git IGH_ETHERCAT_AUTORECONF = YES diff --git a/package/xenomai/0001-smokey-fix-build-failure.patch b/package/xenomai/0001-smokey-fix-build-failure.patch deleted file mode 100644 index 9a1bd204..00000000 --- a/package/xenomai/0001-smokey-fix-build-failure.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 86c4592bee073d6bcd21b16dbd13b0d60af202dc Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Sat, 14 Sep 2024 15:10:26 +0200 -Subject: [PATCH] smokey: fix build failure -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch fixes the following building failure raised on bumping Xenomai -to version 3.2.5 in Buildroot: - -In file included from helpers.c:29: -../../include/smokey/smokey.h:258:39: error: unknown type name ‘bool’ - 258 | int smokey_modprobe(const char *name, bool silent); - | ^~~~ -../../include/smokey/smokey.h:27:1: note: ‘bool’ is defined in header ‘’; did you forget to ‘#include ’? - 26 | #include - +++ |+#include - 27 | -In file included from init.c:33: -../../include/smokey/smokey.h:258:39: error: unknown type name ‘bool’ - 258 | int smokey_modprobe(const char *name, bool silent); - | ^~~~ -../../include/smokey/smokey.h:26:1: note: ‘bool’ is defined in header ‘’; did you forget to ‘#include ’? - 25 | #include - +++ |+#include - 26 | #include -helpers.c:299:39: error: unknown type name ‘bool’ - 299 | int smokey_modprobe(const char *name, bool silent) - | ^~~~ -helpers.c:30:1: note: ‘bool’ is defined in header ‘’; did you forget to ‘#include ’? - 29 | #include - +++ |+#include - -Signed-off-by: Dario Binacchi -Signed-off-by: Jan Kiszka ---- - include/smokey/smokey.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/smokey/smokey.h b/include/smokey/smokey.h -index cf9701966d..45dd0dcd01 100644 ---- a/include/smokey/smokey.h -+++ b/include/smokey/smokey.h -@@ -19,6 +19,7 @@ - #define _XENOMAI_SMOKEY_SMOKEY_H - - #include -+#include - #include - #include - #include --- -GitLab - -- Gitee From e7bd5213060f72ec538f13beaf5cbc241da5e8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=9C=E5=B9=B3?= Date: Thu, 22 May 2025 11:41:23 +0800 Subject: [PATCH 18/23] update linux kernel Signed-off-by: lindongping2027 --- configs/phytiumpi_defconfig | 4 ++-- configs/phytiumpi_desktop_defconfig | 2 +- configs/phytiumpi_linux_4.19.config | 2 +- configs/phytiumpi_linux_4.19_rt.config | 2 +- configs/phytiumpi_linux_5.10_rt.config | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/configs/phytiumpi_defconfig b/configs/phytiumpi_defconfig index 06ddabc4..6355de94 100644 --- a/configs/phytiumpi_defconfig +++ b/configs/phytiumpi_defconfig @@ -6,7 +6,7 @@ BR2_cortex_a53=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_TAR_XZ=y -BR2_TARGET_ROOTFS_EXT2_SIZE="2G" +BR2_TARGET_ROOTFS_EXT2_SIZE="3G" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-phytiumpi.cfg" @@ -36,7 +36,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="2f5aba740e588982f5f910998372b7ebce0a66ad" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e6a4da02bb8d91f5074b18168a24798443b43fea" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/configs/phytiumpi_desktop_defconfig b/configs/phytiumpi_desktop_defconfig index 02aaea5b..e00a6353 100644 --- a/configs/phytiumpi_desktop_defconfig +++ b/configs/phytiumpi_desktop_defconfig @@ -36,7 +36,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="2f5aba740e588982f5f910998372b7ebce0a66ad" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e6a4da02bb8d91f5074b18168a24798443b43fea" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/configs/phytiumpi_linux_4.19.config b/configs/phytiumpi_linux_4.19.config index 7a74db1b..37ca08eb 100644 --- a/configs/phytiumpi_linux_4.19.config +++ b/configs/phytiumpi_linux_4.19.config @@ -1,3 +1,3 @@ # kernel 4.19 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="b96cb86c663b65a684cb5aed3a379a0598f775f7" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="64eb3d620941f6ec0f6af2a24fd42819fa2dc366" BR2_PACKAGE_RTL8821CS=y diff --git a/configs/phytiumpi_linux_4.19_rt.config b/configs/phytiumpi_linux_4.19_rt.config index 7e3a8905..8c4f086c 100644 --- a/configs/phytiumpi_linux_4.19_rt.config +++ b/configs/phytiumpi_linux_4.19_rt.config @@ -1,2 +1,2 @@ # kernel 4.19-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-4.19-rt_v2.2" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e0fcdeaba3fc9866393ed6c2102b9a5f9415d6b2" diff --git a/configs/phytiumpi_linux_5.10_rt.config b/configs/phytiumpi_linux_5.10_rt.config index 5f7fbb4e..60a12668 100644 --- a/configs/phytiumpi_linux_5.10_rt.config +++ b/configs/phytiumpi_linux_5.10_rt.config @@ -1,2 +1,2 @@ # kernel 5.10-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-5.10-rt_v2.2" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fa09984405016a2678f5507fd5e10b3119ec7559" -- Gitee From f465c8167e30fa61e3baedd50d0e36f4e771987b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=9C=E5=B9=B3?= Date: Thu, 22 May 2025 11:42:41 +0800 Subject: [PATCH 19/23] optee: update to v4.5.2 Signed-off-by: lindongping2027 --- configs/phytiumpi_optee.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/phytiumpi_optee.config b/configs/phytiumpi_optee.config index b4ec28e4..5edcfcbc 100644 --- a/configs/phytiumpi_optee.config +++ b/configs/phytiumpi_optee.config @@ -3,5 +3,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.2" +BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_VERSION="v4.5.2" BR2_PACKAGE_PHYTIUM_OPTEE_BOARD="phytiumpi" -- Gitee From 650d2b617e85ef0d0563ab23e8c283a0402262e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=9C=E5=B9=B3?= Date: Thu, 22 May 2025 11:43:45 +0800 Subject: [PATCH 20/23] jailhouse: update version Signed-off-by: lindongping2027 --- package/jailhouse/jailhouse.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index 83c612a8..098163df 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -4,8 +4,8 @@ # ################################################################################ -JAILHOUSE_VERSION = jailhouse_v2.2 -JAILHOUSE_SITE = ssh://git@gitlab.phytium.com.cn:12022/embedded/linux/jailhouse.git +JAILHOUSE_VERSION = 1581a8ceaaa1f0a4ec6ea95b6dca3ba5f4e62ba5 +JAILHOUSE_SITE = https://gitee.com/phytium_embedded/phytium-jailhouse.git JAILHOUSE_SITE_METHOD = git JAILHOUSE_LICENSE = GPL-2.0 JAILHOUSE_LICENSE_FILES = COPYING -- Gitee From 11b2e0643a7b8b965756fb64191796546cfe94ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=9C=E5=B9=B3?= Date: Thu, 22 May 2025 11:44:30 +0800 Subject: [PATCH 21/23] remove the linux-headers installed when installing dkms Signed-off-by: lindongping2027 --- board/phytium/common/debian-package-installer | 2 ++ 1 file changed, 2 insertions(+) diff --git a/board/phytium/common/debian-package-installer b/board/phytium/common/debian-package-installer index 68328365..fcdab92b 100755 --- a/board/phytium/common/debian-package-installer +++ b/board/phytium/common/debian-package-installer @@ -50,6 +50,8 @@ do_distrorfs_second_stage() { DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install $pkg || exit 1 done + dpkg -l | grep linux-headers | cut -d ' ' -f3 | xargs dpkg --purge + dpkg -l | grep linux-kbuild | cut -d ' ' -f3 | xargs dpkg --purge echo installed additional packages. if [ $6 = desktop ]; then -- Gitee From 1bd58d43d26e846d53c8e9689098edb9220f6cb8 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 21 May 2025 10:25:46 +0800 Subject: [PATCH 22/23] jailhouse: install files to /usr Signed-off-by: weishanshan1084 --- package/jailhouse/jailhouse.mk | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index 098163df..e4a34739 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -17,6 +17,7 @@ JAILHOUSE_MAKE_OPTS = \ ARCH="$(KERNEL_ARCH)" \ KDIR="$(LINUX_DIR)" \ DESTDIR="$(TARGET_DIR)" \ + prefix=/usr \ INSTALL_MOD_DIR="jailhouse" ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) @@ -47,11 +48,11 @@ define JAILHOUSE_INSTALL_TARGET_CMDS $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/jailhouse $(INSTALL) -D -m 0644 $(@D)/src/jailhouse/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse - $(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/libexec/jailhouse/demos + $(INSTALL) -D -m 0755 $(@D)/src/jailhouse/inmates/demos/*/*.bin $(TARGET_DIR)/usr/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 + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/libexec/jailhouse/dtb + $(INSTALL) -D -m 0644 $(@D)/src/jailhouse/configs/arm64/dts/*.dtb $(TARGET_DIR)/usr/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)) -- Gitee From 490bfbe744f0e2fddd23a0f67d42edf06e433a38 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 21 May 2025 10:41:21 +0800 Subject: [PATCH 23/23] jailhouse: use pth file to search pyjailhouse module Signed-off-by: weishanshan1084 --- configs/jailhouse.config | 1 + package/jailhouse/jailhouse.mk | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/jailhouse.config b/configs/jailhouse.config index 0f785189..370fc0b3 100644 --- a/configs/jailhouse.config +++ b/configs/jailhouse.config @@ -3,6 +3,7 @@ BR2_PACKAGE_JAILHOUSE=y # jailhouse helper scripts BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON3_PY_ONLY=y BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS=y # kernel patch for phytiumpi,kernel version of 4.19 and 5.10 diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index e4a34739..8dfa2177 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -56,10 +56,9 @@ define JAILHOUSE_INSTALL_TARGET_CMDS $(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_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) + $(and $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),$(BR2_ROOTFS_SKELETON_CUSTOM), \ + mkdir -p $(TARGET_DIR)/usr/lib/python3/dist-packages && \ + echo "/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages" > $(TARGET_DIR)/usr/lib/python3/dist-packages/pyjailhouse.pth) endef $(eval $(generic-package)) -- Gitee