diff --git a/.gitignore b/.gitignore index 34b3341..5572f28 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ external/cache/sources/orangepi-firmware* external/cache/sources/ffmpeg_kodi* external/cache/sources/rk3399_gst_xserver_libs external/cache/sources/arm-trusted-firmware-sunxi-mainline +external/cache/debs/arm64/balena-etcher-electron_1.7.9+5945ab1f_arm64.deb diff --git a/external/config/boards/orangepi5.conf b/external/config/boards/orangepi5.conf index 43e962c..9f4b6ce 100644 --- a/external/config/boards/orangepi5.conf +++ b/external/config/boards/orangepi5.conf @@ -11,4 +11,4 @@ BOOT_SUPPORT_SPI="yes" SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes DISTRIB_TYPE_LEGACY="bullseye jammy" BOOTFS_TYPE="fat" -REVISION="1.0.0" +REVISION="1.0.2" diff --git a/external/config/optional/families/rockchip-rk3588/_config/desktop/bullseye/environments/xfce/config_base/packages b/external/config/optional/families/rockchip-rk3588/_config/desktop/bullseye/environments/xfce/config_base/packages index 9a440c1..3b06c18 100644 --- a/external/config/optional/families/rockchip-rk3588/_config/desktop/bullseye/environments/xfce/config_base/packages +++ b/external/config/optional/families/rockchip-rk3588/_config/desktop/bullseye/environments/xfce/config_base/packages @@ -261,3 +261,7 @@ geany audacity tightvncserver xrdp +libva-wayland2 +liblua5.2-0 +vlc +gparted diff --git a/external/config/sources/families/include/rk3588_gpu_vpu.inc b/external/config/sources/families/include/rk3588_gpu_vpu.inc index 7254046..29a28cf 100755 --- a/external/config/sources/families/include/rk3588_gpu_vpu.inc +++ b/external/config/sources/families/include/rk3588_gpu_vpu.inc @@ -90,32 +90,29 @@ rk3588_gpu_vpu_tweaks() install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libmali/libmali-valhall-g610-g6p0-x11_1.9-1_arm64.deb" - #apt install libva-wayland2 liblua5.2-0 - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libaom0_1.0.0.errata1-3_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libcodec2-0.9_0.9.2-4_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavutil56_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavutil-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libpostproc55_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libpostproc-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswresample3_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswresample-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswscale5_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswscale-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavcodec58_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavcodec-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavformat58_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavformat-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavresample4_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavresample-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavfilter7_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavfilter-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavdevice58_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavdevice-dev_4.3.2-0+deb11u2_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/ffmpeg_4.3.2-0+deb11u2_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavutil56_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavutil-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libpostproc55_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libpostproc-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswresample3_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswresample-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswscale5_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswscale-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavcodec58_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavcodec-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavformat58_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavformat-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavresample4_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavresample-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavfilter7_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavfilter-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavdevice58_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavdevice-dev_4.3.5-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/ffmpeg_4.3.5-0+deb11u1_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/libmpv1_0.32.0-3_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/libmpv-dev_0.32.0-3_arm64.deb" - #dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/mpv_0.32.0-3_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/libmpv1_0.32.0-3_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/libmpv-dev_0.32.0-3_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/mpv_0.32.0-3_arm64.deb" chroot $SDCARD /bin/bash -c "sed -i '5aexport LD_PRELOAD=libdrm-cursor.so.1' /usr/bin/X" diff --git a/external/config/sources/families/rockchip-rk3588.conf b/external/config/sources/families/rockchip-rk3588.conf index 827ebc7..4a7a10f 100644 --- a/external/config/sources/families/rockchip-rk3588.conf +++ b/external/config/sources/families/rockchip-rk3588.conf @@ -28,6 +28,24 @@ family_tweaks_bsp() { install -m 755 $EXTER/packages/bsp/adb/adbd-${ARCH} ${destination}/usr/bin/adbd } + +install_balenaEtcher(){ + + if [[ $BUILD_DESKTOP == yes && $install_balena_etcher == yes ]]; then + + balena_etcher_deb=balena-etcher-electron_1.7.9+5945ab1f_arm64.deb + balena_etcher_url="https://github.com/Itai-Nelken/BalenaEtcher-arm/releases/download/v1.7.9/${balena_etcher_deb}" + balena_etcher=${EXTER}/cache/debs/arm64/${balena_etcher_deb} + + if [[ ! -f ${balena_etcher} ]]; then + wget -P ${EXTER}/cache/debs/arm64 ${balena_etcher_url} + fi + + install_deb_chroot ${balena_etcher} + fi +} + + family_tweaks_s() { rsync -a "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/ @@ -35,12 +53,14 @@ family_tweaks_s() { # enable additional services chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable usbdevice.service >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "rm /etc/profile.d/im-config_wayland.sh" + sed "s/^SIZE=.*/SIZE=200M/" -i "${SDCARD}"/etc/default/orangepi-ramlog + chroot "${SDCARD}" /bin/bash -c "ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime" + chroot "${SDCARD}" /bin/bash -c "dpkg-reconfigure -f noninteractive tzdata" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 + + chroot $SDCARD /bin/bash -c "apt-get -y -qq install lm-sensors" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 install_deb_chroot "$EXTER/cache/debs/arm64/wiringpi_2.46.deb" - chroot $SDCARD /bin/bash -c "apt-get -y -qq install lm-sensors vlc" >/dev/null 2>&1 - chroot $SDCARD /bin/bash -c "rm /etc/profile.d/im-config_wayland.sh" >/dev/null 2>&1 - - sed "s/^SIZE=.*/SIZE=200M/" -i "${SDCARD}"/etc/default/orangepi-ramlog - - #install_docker + install_docker + install_balenaEtcher } diff --git a/external/packages/bsp/rk3588/etc/docker/daemon.json b/external/packages/bsp/rk3588/etc/docker/daemon.json new file mode 100644 index 0000000..fa5438a --- /dev/null +++ b/external/packages/bsp/rk3588/etc/docker/daemon.json @@ -0,0 +1,5 @@ +{ + "registry-mirrors": [ + "https://docker.mirrors.ustc.edu.cn" + ] +} diff --git a/external/packages/bsp/rk3588/usr/local/bin/enable_docker.sh b/external/packages/bsp/rk3588/usr/local/bin/enable_docker.sh index 865940a..460c9da 100755 --- a/external/packages/bsp/rk3588/usr/local/bin/enable_docker.sh +++ b/external/packages/bsp/rk3588/usr/local/bin/enable_docker.sh @@ -1,3 +1,4 @@ #!/bin/bash sudo systemctl enable docker.service +sudo systemctl start docker.service diff --git a/external/packages/bsp/rk3588/usr/local/bin/fix_mmc_ssd.sh b/external/packages/bsp/rk3588/usr/local/bin/fix_mmc_ssd.sh new file mode 100755 index 0000000..10dc356 --- /dev/null +++ b/external/packages/bsp/rk3588/usr/local/bin/fix_mmc_ssd.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +mmc_dev=$(ls -d -1 /dev/mmcblk* | grep -w 'mmcblk[0-9]' | cut -d '/' -f3) +sed -i "s/^rootdev=.*/rootdev=\/dev\/${mmc_dev}p2/" /boot/orangepiEnv.txt +sed -i '/boot/d' /etc/fstab +echo "/dev/${mmc_dev}p1 /boot vfat defaults 0 2" >> /etc/fstab + +echo "Done" diff --git a/external/packages/bsp/rk3588/usr/local/bin/install_docker.sh b/external/packages/bsp/rk3588/usr/local/bin/install_docker.sh index 5165c0f..2ba89fb 100755 --- a/external/packages/bsp/rk3588/usr/local/bin/install_docker.sh +++ b/external/packages/bsp/rk3588/usr/local/bin/install_docker.sh @@ -1,22 +1,17 @@ #!/bin/bash -source /etc/orangepi-release - -sudo apt-get remove -y docker docker-engine docker-ce docker.io -sudo apt-get update -sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release - -codename=$(lsb_release -cs) distributor_id=$(lsb_release -is) distributor_id=${distributor_id,} -curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/${distributor_id}/gpg | sudo apt-key add - -echo "deb [arch=$(dpkg --print-architecture) \ -signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \ -https://mirrors.aliyun.com/docker-ce/linux/${distributor_id} \ -${codename} stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get remove -y docker docker-engine docker-ce docker.io +sudo apt-get update +sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common -apt-get update -apt-get install -y docker-ce docker-ce-cli containerd.io +curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/${distributor_id}/gpg | sudo apt-key add - +echo "deb [arch=$(dpkg --print-architecture)] https://repo.huaweicloud.com/docker-ce/linux/${distributor_id} $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list +sudo apt-get update +sudo apt-get install -y docker-ce docker-ce-cli containerd.io + +sudo groupadd docker sudo usermod -aG docker $USER diff --git a/external/packages/bsp/rk3588/usr/local/bin/set_vnc.sh b/external/packages/bsp/rk3588/usr/local/bin/set_vnc.sh new file mode 100755 index 0000000..3300050 --- /dev/null +++ b/external/packages/bsp/rk3588/usr/local/bin/set_vnc.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +[[ -d ~/.vnc ]] && rm -rf ~/.vnc + +vncserver +vncserver -kill :1 +mv ~/.vnc/xstartup ~/.vnc/xstartup.bak + +cat <<-EOF > \ +~/.vnc/xstartup +#!/bin/bash +xrdb $HOME/.Xresources +startxfce4 & +EOF + +chmod +x ~/.vnc/xstartup +vncserver diff --git a/external/packages/bsp/rk3588/usr/local/bin/vpu_debug.sh b/external/packages/bsp/rk3588/usr/local/bin/vpu_debug.sh new file mode 100755 index 0000000..d5d3114 --- /dev/null +++ b/external/packages/bsp/rk3588/usr/local/bin/vpu_debug.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo 0x100 > /sys/module/rk_vcodec/parameters/mpp_dev_debug diff --git a/scripts/configuration.sh b/scripts/configuration.sh index 1f18540..fa3d252 100755 --- a/scripts/configuration.sh +++ b/scripts/configuration.sh @@ -20,7 +20,7 @@ HOSTRELEASE=$(cat /etc/os-release | grep VERSION_CODENAME | cut -d"=" -f2) [[ -z $HOSTRELEASE ]] && HOSTRELEASE=$(cut -d'/' -f1 /etc/debian_version) [[ -z $EXIT_PATCHING_ERROR ]] && EXIT_PATCHING_ERROR="" # exit patching if failed [[ -z $HOST ]] && HOST="$BOARD" # set hostname to the board -[[ -z $CHINA_DOWNLOAD_MIRROR ]] && CHINA_DOWNLOAD_MIRROR=tsinghua +[[ -z $CHINA_DOWNLOAD_MIRROR ]] && CHINA_DOWNLOAD_MIRROR=huawei cd "${SRC}" || exit [[ -z "${ROOTFSCACHE_VERSION}" ]] && ROOTFSCACHE_VERSION=11 [[ -z "${CHROOT_CACHE_VERSION}" ]] && CHROOT_CACHE_VERSION=7 @@ -583,7 +583,7 @@ if [[ $DOWNLOAD_MIRROR == "china" ]] ; then UBUNTU_MIRROR='mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/' fi - if [[ ${CHINA_DOWNLOAD_MIRROR} == huawai ]]; then + if [[ ${CHINA_DOWNLOAD_MIRROR} == huawei ]]; then DEBIAN_MIRROR='repo.huaweicloud.com/debian' DEBIAN_SECURTY='repo.huaweicloud.com/debian-security' UBUNTU_MIRROR='repo.huaweicloud.com/ubuntu-ports/' diff --git a/scripts/general.sh b/scripts/general.sh index bae6a9f..2f01239 100755 --- a/scripts/general.sh +++ b/scripts/general.sh @@ -1816,8 +1816,10 @@ show_checklist_variables () install_docker() { - display_alert "Install Docker" "/etc/apt/sources.list.d/docker.list" "info" - chroot "${SDCARD}" /bin/bash -c "apt-get install -y -qq apt-transport-https ca-certificates curl gnupg lsb-release >/dev/null 2>&1" + [[ $install_docker != yes ]] && return + + display_alert "Installing" "docker" "info" + chroot "${SDCARD}" /bin/bash -c "apt-get install -y -qq apt-transport-https ca-certificates curl gnupg2 software-properties-common >/dev/null 2>&1" case ${RELEASE} in buster|bullseye|bookworm) @@ -1828,14 +1830,15 @@ install_docker() { ;; esac - chroot "${SDCARD}" /bin/bash -c "curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/${distributor_id}/gpg | sudo apt-key add -" - echo "deb [arch=${ARCH} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://repo.huaweicloud.com/docker-ce/linux/${distributor_id} ${RELEASE} stable" > "${SDCARD}"/etc/apt/sources.list.d/docker.list + chroot "${SDCARD}" /bin/bash -c "curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/${distributor_id}/gpg | apt-key add - > /dev/null 2>&1" + echo "deb [arch=${ARCH}] https://repo.huaweicloud.com/docker-ce/linux/${distributor_id} ${RELEASE} stable" > "${SDCARD}"/etc/apt/sources.list.d/docker.list - chroot "${SDCARD}" /bin/bash -c "apt-get update >/dev/null 2>&1" - chroot "${SDCARD}" /bin/bash -c "apt-get install -y -qq docker-ce docker-ce-cli containerd.io >/dev/null 2>&1" + chroot "${SDCARD}" /bin/bash -c "apt-get update > /dev/null 2>&1" + chroot "${SDCARD}" /bin/bash -c "apt-get install -y -qq docker-ce docker-ce-cli containerd.io > /dev/null 2>&1" + chroot "${SDCARD}" /bin/bash -c "sudo groupadd docker > /dev/null 2>&1" chroot "${SDCARD}" /bin/bash -c "sudo usermod -aG docker ${OPI_USERNAME}" - run_on_sdcard "systemctl --no-reload disable docker.service >/dev/null 2>&1" + run_on_sdcard "systemctl --no-reload disable docker.service > /dev/null 2>&1" }