source "${BASH_SOURCE%/*}/include/rockchip64_common.inc" OVERLAY_PREFIX='rk3588' BOOTDELAY=0 CPUMIN=408000 CPUMAX=2400000 case $BRANCH in legacy) BOOTBRANCH='branch:v2017.09-rk3588' UBOOT_COMPILER="aarch64-linux-gnu-" UBOOT_USE_GCC='< 8.0' KERNELBRANCH='branch:orange-pi-5.10-rk3588' KERNELPATCHDIR='rockchip-rk3588-legacy' LINUXCONFIG="linux-rockchip-rk3588-legacy" KERNEL_USE_GCC='> 10.0' ;; esac prepare_boot_configuration 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() { if [[ ${SELECTED_CONFIGURATION} == desktop && ${DESKTOP_ENVIRONMENT} == kde-plasma ]]; then rsync -a --chown=root:root --exclude=etc/pulse "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/ cat > "${SDCARD}"/etc/profile.d/kde_env.sh <<- __EOF__ #!/bin/bash export KWIN_COMPOSE=X __EOF__ cat > "${SDCARD}"/home/orangepi/.config/kwalletrc <<- __EOF__ [Wallet] Enabled=false __EOF__ if [[ ${RELEASE} == bullseye ]]; then cat > "${SDCARD}"/home/orangepi/.config/kwinrc <<- __EOF__ [Compositing] Backend=XRender OpenGLIsUnsafe=false __EOF__ cat <<-EOF >>"${SDCARD}"/home/orangepi/.config/kglobalshortcutsrc [org.kde.konsole.desktop] NewTab=,,Open a New Tab NewWindow=,,Open a New Window _k_friendly_name=Konsole _launch=Ctrl+Alt+T,,Konsole EOF cat <<-EOF >>"${SDCARD}"/home/orangepi/.config/plasma-org.kde.plasma.desktop-appletsrc [Containments][2][Applets][5][Configuration][General] launchers=applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser,applications:org.kde.konsole.desktop [Containments][2][Applets][5][Configuration][General] launchers=applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser,applications:org.kde.konsole.desktop,applications:chromium-browser.desktop EOF fi else rsync -a --chown=root:root "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/ fi if [[ ${BOARD} =~ orangepi5plus|orangepi900 ]]; then if [[ ${SELECTED_CONFIGURATION} == desktop && ${DESKTOP_ENVIRONMENT} == kde-plasma ]]; then rsync -a --chown=root:root --exclude=etc/pulse "${EXTER}"/packages/bsp/orangepi5plus/* ${SDCARD}/ else rsync -a --chown=root:root "${EXTER}"/packages/bsp/orangepi5plus/* ${SDCARD}/ fi cp $EXTER/cache/sources/linuxpg "${SDCARD}"/opt/ -rfa fi [[ ${RELEASE} == jammy ]] && rm ${SDCARD}/etc/profile.d/orangepi-ssh-title.sh # for adbd if [[ -f "${SDCARD}"/etc/profile.d/im-config_wayland.sh && ${DESKTOP_ENVIRONMENT} =~ xfce|kde-plasma ]]; then chroot $SDCARD /bin/bash -c "rm /etc/profile.d/im-config_wayland.sh" # for adbd fi # enable additional services chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable usbdevice.service >/dev/null 2>&1" #[[ $BOARD == orangepi5plus ]] && chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable pwm-fan.service >/dev/null 2>&1" 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 usb-modeswitch tree dnsmasq v4l-utils swig python3-dev python3-setuptools bluez libncurses-dev" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 install_wiringop install_docker install_balenaEtcher # Board audio specific changes if [[ ${BOARD} =~ orangepi5|orangepi5b ]]; then echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules elif [[ "${BOARD}" =~ orangepi5plus|orangepi900 ]]; then echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI1 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmiin-sound", ENV{SOUND_DESCRIPTION}="HDMI-In Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules fi # Realtek 8811CU/8821CU usb modeswitch support cp ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules sed '/LABEL="modeswitch_rules_end"/d' -i ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules cat >> ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules <<-EOF # Realtek 8821CU Wifi AC USB ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b" LABEL="modeswitch_rules_end" EOF }