123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- 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-rk35xx'
- KERNELPATCHDIR='rockchip-rk3588-legacy'
- LINUXCONFIG="linux-rockchip-rk3588-legacy"
- [[ ${BOARD} == orangepi5pro ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5pro"
- [[ ${BOARD} =~ orangepi5max|orangepi5ultra ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5max"
- [[ ${BOARD} == orangepicm5-tablet ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opicm5-tablet"
- if [[ "${build_rt_image}" =~ yes ]]; then
- KERNELBRANCH='branch:orange-pi-5.10-rk35xx-rt'
- LINUXCONFIG="linux-rockchip-rk3588-legacy-rt"
- fi
- KERNEL_USE_GCC='> 10.0'
- ;;
- current)
- BOOTBRANCH='branch:v2017.09-rk3588'
- UBOOT_COMPILER="aarch64-linux-gnu-"
- UBOOT_USE_GCC='< 8.0'
- KERNELBRANCH='branch:orange-pi-6.1-rk35xx'
- KERNELPATCHDIR='rockchip-rk3588-current'
- LINUXCONFIG="linux-rockchip-rk3588-current"
- [[ ${BOARD} == orangepicm5-tablet ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opicm5-tablet"
- [[ ${BOARD} =~ orangepi5pro|orangepi5max|orangepi5ultra ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opi5pro"
- 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|orangepiaimax|orangepi5max|orangepi900|orangepi5ultra ]]; 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
- if [[ ${BOARD} =~ orangepicm5 ]]; then
- 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 usb-modeswitch tree dnsmasq v4l-utils swig python3-dev python3-setuptools bluez libncurses-dev" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1
- [[ ${BOARD} =~ orangepiaimax ]] && install_310b-npu-driver
- install_wiringop
- install_balenaEtcher
- # Board audio specific changes
- if [[ ${BOARD}x =~ orangepi5x|orangepi5bx|orangepicm5-tabletx|orangepi5prox ]]; 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}x =~ orangepicm5x ]]; 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
- elif [[ "${BOARD}x" =~ orangepi5plusx|orangepiaimaxx|orangepi900x ]]; 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
- elif [[ "${BOARD}x" == orangepi5maxx ]]; 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-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
- elif [[ "${BOARD}x" == orangepi5ultrax ]]; then
- echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI 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-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
- fi
- # Realtek 8811CU/8821CU usb modeswitch support
- if [[ -f ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ]]; then
- 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
- fi
- if [[ "${BOARD}x" == orangepi5ultrax ]]; then
- cp $EXTER/cache/sources/orangepi-firmware-git/nvram_ap6611s.txt-${BOARD} ${SDCARD}/lib/firmware/nvram_ap6611s.txt
- elif [[ "${BOARD}x" == orangepicm5-tabletx ]]; then
- cp $EXTER/cache/sources/orangepi-firmware-git/nvram_ap6256.txt-${BOARD} ${SDCARD}/lib/firmware/nvram_ap6256.txt
- fi
- }
|