Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
orangepi-xunlong
GitHub Repository: orangepi-xunlong/orangepi-build
Path: blob/next/external/config/sources/families/rockchip-rk3588.conf
17851 views
1
source "${BASH_SOURCE%/*}/include/rockchip64_common.inc"
2
3
OVERLAY_PREFIX='rk3588'
4
BOOTDELAY=0
5
6
CPUMIN=408000
7
CPUMAX=2400000
8
9
case $BRANCH in
10
11
legacy)
12
13
BOOTBRANCH='branch:v2017.09-rk3588'
14
UBOOT_COMPILER="aarch64-linux-gnu-"
15
UBOOT_USE_GCC='< 8.0'
16
17
KERNELBRANCH='branch:orange-pi-5.10-rk35xx'
18
KERNELPATCHDIR='rockchip-rk3588-legacy'
19
LINUXCONFIG="linux-rockchip-rk3588-legacy"
20
[[ ${BOARD} == orangepi5pro ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5pro"
21
[[ ${BOARD} =~ orangepi5max|orangepi5ultra ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5max"
22
[[ ${BOARD} == orangepicm5-tablet ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opicm5-tablet"
23
24
if [[ "${build_rt_image}" =~ yes ]]; then
25
KERNELBRANCH='branch:orange-pi-5.10-rk35xx-rt'
26
LINUXCONFIG="linux-rockchip-rk3588-legacy-rt"
27
[[ ${BOARD}x =~ orangepi5prox|orangepi5maxx|orangepi5ultrax ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-rt-opi5pro"
28
fi
29
30
KERNEL_USE_GCC='> 10.0'
31
32
;;
33
current)
34
35
BOOTBRANCH='branch:v2017.09-rk3588'
36
UBOOT_COMPILER="aarch64-linux-gnu-"
37
UBOOT_USE_GCC='< 8.0'
38
39
KERNELBRANCH='branch:orange-pi-6.1-rk35xx'
40
KERNELPATCHDIR='rockchip-rk3588-current'
41
LINUXCONFIG="linux-rockchip-rk3588-current"
42
[[ ${BOARD} == orangepicm5-tablet ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opicm5-tablet"
43
[[ ${BOARD} =~ orangepi5pro|orangepi5max|orangepi5ultra ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opi5pro"
44
45
KERNEL_USE_GCC='> 10.0'
46
esac
47
48
prepare_boot_configuration
49
50
family_tweaks_bsp() {
51
52
install -m 755 $EXTER/packages/bsp/adb/adbd-${ARCH} ${destination}/usr/bin/adbd
53
:
54
}
55
56
57
install_balenaEtcher(){
58
59
if [[ $BUILD_DESKTOP == yes && $install_balena_etcher == yes ]]; then
60
61
balena_etcher_deb=balena-etcher-electron_1.7.9+5945ab1f_arm64.deb
62
balena_etcher_url="https://github.com/Itai-Nelken/BalenaEtcher-arm/releases/download/v1.7.9/${balena_etcher_deb}"
63
balena_etcher=${EXTER}/cache/debs/arm64/${balena_etcher_deb}
64
65
if [[ ! -f ${balena_etcher} ]]; then
66
wget -P ${EXTER}/cache/debs/arm64 ${balena_etcher_url}
67
fi
68
69
install_deb_chroot ${balena_etcher}
70
fi
71
}
72
73
family_tweaks_s() {
74
75
if [[ ${SELECTED_CONFIGURATION} == desktop && ${DESKTOP_ENVIRONMENT} == kde-plasma ]]; then
76
77
rsync -a --chown=root:root --exclude=etc/pulse "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/
78
79
cat > "${SDCARD}"/etc/profile.d/kde_env.sh <<- __EOF__
80
#!/bin/bash
81
82
export KWIN_COMPOSE=X
83
__EOF__
84
85
cat > "${SDCARD}"/home/orangepi/.config/kwalletrc <<- __EOF__
86
[Wallet]
87
Enabled=false
88
__EOF__
89
90
if [[ ${RELEASE} == bullseye ]]; then
91
cat > "${SDCARD}"/home/orangepi/.config/kwinrc <<- __EOF__
92
[Compositing]
93
Backend=XRender
94
OpenGLIsUnsafe=false
95
__EOF__
96
97
cat <<-EOF >>"${SDCARD}"/home/orangepi/.config/kglobalshortcutsrc
98
[org.kde.konsole.desktop]
99
NewTab=,,Open a New Tab
100
NewWindow=,,Open a New Window
101
_k_friendly_name=Konsole
102
_launch=Ctrl+Alt+T,,Konsole
103
EOF
104
105
cat <<-EOF >>"${SDCARD}"/home/orangepi/.config/plasma-org.kde.plasma.desktop-appletsrc
106
[Containments][2][Applets][5][Configuration][General]
107
launchers=applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser,applications:org.kde.konsole.desktop
108
109
[Containments][2][Applets][5][Configuration][General]
110
launchers=applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser,applications:org.kde.konsole.desktop,applications:chromium-browser.desktop
111
EOF
112
fi
113
else
114
rsync -a --chown=root:root "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/
115
fi
116
117
if [[ ${BOARD} =~ orangepi5plus|orangepiaimax|orangepi5max|orangepi900|orangepi5ultra ]]; then
118
119
if [[ ${SELECTED_CONFIGURATION} == desktop && ${DESKTOP_ENVIRONMENT} == kde-plasma ]]; then
120
rsync -a --chown=root:root --exclude=etc/pulse "${EXTER}"/packages/bsp/orangepi5plus/* ${SDCARD}/
121
else
122
rsync -a --chown=root:root "${EXTER}"/packages/bsp/orangepi5plus/* ${SDCARD}/
123
fi
124
cp $EXTER/cache/sources/linuxpg "${SDCARD}"/opt/ -rfa
125
fi
126
127
if [[ ${BOARD} =~ orangepicm5 ]]; then
128
129
cp $EXTER/cache/sources/linuxpg "${SDCARD}"/opt/ -rfa
130
fi
131
132
[[ ${RELEASE} == jammy ]] && rm ${SDCARD}/etc/profile.d/orangepi-ssh-title.sh # for adbd
133
134
if [[ -f "${SDCARD}"/etc/profile.d/im-config_wayland.sh && ${DESKTOP_ENVIRONMENT} =~ xfce|kde-plasma ]]; then
135
chroot $SDCARD /bin/bash -c "rm /etc/profile.d/im-config_wayland.sh" # for adbd
136
fi
137
138
# enable additional services
139
chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable usbdevice.service >/dev/null 2>&1"
140
#[[ $BOARD == orangepi5plus ]] && chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable pwm-fan.service >/dev/null 2>&1"
141
142
sed "s/^SIZE=.*/SIZE=200M/" -i "${SDCARD}"/etc/default/orangepi-ramlog
143
chroot "${SDCARD}" /bin/bash -c "ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime"
144
chroot "${SDCARD}" /bin/bash -c "dpkg-reconfigure -f noninteractive tzdata" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1
145
146
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
147
148
[[ ${BOARD} =~ orangepiaimax ]] && install_310b-npu-driver
149
install_wiringop
150
install_balenaEtcher
151
152
# Board audio specific changes
153
if [[ ${BOARD}x =~ orangepi5x|orangepi5bx|orangepicm5-tabletx|orangepi5prox ]]; then
154
155
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
156
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
157
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
158
159
elif [[ ${BOARD}x =~ orangepicm5x ]]; then
160
161
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
162
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
163
164
elif [[ "${BOARD}x" =~ orangepi5plusx|orangepiaimaxx|orangepi900x ]]; then
165
166
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
167
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI1 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
168
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmiin-sound", ENV{SOUND_DESCRIPTION}="HDMI-In Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
169
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
170
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
171
172
elif [[ "${BOARD}x" == orangepi5maxx ]]; then
173
174
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
175
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI1 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
176
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
177
178
elif [[ "${BOARD}x" == orangepi5ultrax ]]; then
179
180
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI Audio"' > ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
181
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmiin-sound", ENV{SOUND_DESCRIPTION}="HDMI-In Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
182
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> ${SDCARD}/etc/udev/rules.d/90-naming-audios.rules
183
fi
184
185
# Realtek 8811CU/8821CU usb modeswitch support
186
if [[ -f ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ]]; then
187
cp ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules
188
sed '/LABEL="modeswitch_rules_end"/d' -i ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules
189
cat >> ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules <<-EOF
190
# Realtek 8821CU Wifi AC USB
191
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"
192
LABEL="modeswitch_rules_end"
193
EOF
194
fi
195
196
if [[ "${BOARD}x" == orangepi5ultrax ]]; then
197
cp $EXTER/cache/sources/orangepi-firmware-git/nvram_ap6611s.txt-${BOARD} ${SDCARD}/lib/firmware/nvram_ap6611s.txt
198
199
elif [[ "${BOARD}x" == orangepicm5-tabletx ]]; then
200
cp $EXTER/cache/sources/orangepi-firmware-git/nvram_ap6256.txt-${BOARD} ${SDCARD}/lib/firmware/nvram_ap6256.txt
201
fi
202
}
203
204