Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
orangepi-xunlong
GitHub Repository: orangepi-xunlong/orangepi-build
Path: blob/next/external/config/sources/families/cix.conf
15075 views
1
ARCH="arm64"
2
3
LINUXFAMILY="cix"
4
BOOTCONFIG="none"
5
ATF_COMPILE="no"
6
EXTERNAL_NEW="none"
7
8
SERIALCON="ttyAMA2"
9
KERNEL_COMPILER='aarch64-none-linux-gnu-'
10
11
case $BRANCH in
12
13
current)
14
if [[ $GITEE_SERVER == yes ]]; then
15
KERNELSOURCE="https://gitee.com/orangepi-xunlong/orange-pi-6.1-cix.git"
16
fi
17
KERNELBRANCH='branch:orange-pi-6.1-cix'
18
KERNELPATCHDIR='cix-current'
19
LINUXCONFIG="linux-cix-p1-current"
20
KERNEL_USE_GCC='> 12.0'
21
;;
22
23
next)
24
KERNELBRANCH='branch:orange-pi-6.6-cix'
25
KERNELPATCHDIR='cix-next'
26
LINUXCONFIG="linux-cix-p1-next"
27
KERNEL_USE_GCC='> 12.0'
28
;;
29
esac
30
31
family_tweaks_bsp() {
32
:
33
}
34
35
function build_cix_prideb() {
36
local PATH_OUT_PRIVATE_DEB_PACKAGES=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_proprietary/cix_proprietary-debs
37
local amvx_module=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_opensource/vpu/vpu_driver/bin/aarch64-none-linux-gnu/amvx.ko
38
local linux_version=$(modinfo ${amvx_module} | awk -F': ' '/vermagic/{split($2,a," "); print a[1]}')
39
40
#npu-noe-umd
41
pkg_Name="cix-noe-umd"
42
create_cix_deb "$pkg_Name"
43
44
#isp-umd
45
pkg_Name="cix-isp-umd"
46
create_cix_deb "$pkg_Name"
47
48
#gpu
49
pkg_Name="cix-gpu-umd"
50
if [[ ! -e $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/etc/systemd/system ]]; then
51
mkdir -p $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/etc/systemd/system
52
fi
53
if [[ ! -e $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/usr/bin ]]; then
54
mkdir -p $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/usr/bin
55
fi
56
cat > $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/etc/systemd/system/load-modules.service <<- EOF
57
[Unit]
58
Description=Load custom kernel modules
59
60
[Service]
61
Type=oneshot
62
ExecStart=/usr/bin/load-modules.sh
63
RemainAfterExit=yes
64
65
[Install]
66
WantedBy=sysinit.target
67
EOF
68
cat > $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/usr/bin/load-modules.sh <<- EOF
69
#!/bin/bash
70
71
insmod /lib/modules/$linux_version/extra/protected_memory_allocator.ko
72
insmod /lib/modules/$linux_version/extra/memory_group_manager.ko
73
insmod /lib/modules/$linux_version/extra/mali_kbase.ko
74
#insmod /lib/modules/$linux_version/extra/rtl_btusb.ko
75
#insmod /lib/modules/$linux_version/extra/rtl_wlan.ko
76
insmod /lib/modules/$linux_version/extra/aipu.ko
77
insmod /lib/modules/$linux_version/extra/amvx.ko
78
insmod /lib/modules/$linux_version/kernel/drivers/hid/uhid.ko
79
80
#insmod /lib/modules/$linux_version/kernel/net/netfilter/x_tables.ko
81
#insmod /lib/modules/$linux_version/kernel/net/ipv4/netfilter/ip_tables.ko
82
#insmod /lib/modules/$linux_version/kernel/net/ipv4/netfilter/iptable_nat.ko
83
#insmod /lib/modules/$linux_version/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko
84
#insmod /lib/modules/$linux_version/kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko
85
#insmod /lib/modules/$linux_version/kernel/lib/libcrc32c.ko
86
#insmod /lib/modules/$linux_version/kernel/net/netfilter/nf_conntrack.ko
87
#insmod /lib/modules/$linux_version/kernel/net/netfilter/nf_nat.ko
88
#insmod /lib/modules/$linux_version/kernel/net/netfilter/xt_MASQUERADE.ko
89
90
ln -s /dev/dma_heap/reserved /dev/dma_heap/linux,cma
91
92
if [[ ! -e /etc/machine-id ]]; then
93
dbus-uuidgen > /etc/machine-id
94
ln -sf /etc/machine-id /var/lib/dbus/machine-id
95
fi
96
97
EOF
98
cat >> $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/usr/bin/load-modules.sh <<- 'EOF'
99
video_devices=($(ls /dev/video* 2>/dev/null | sort -V))
100
101
if [ ${#video_devices[@]} -eq 1 ]; then
102
ln -s "${video_devices[0]}" /dev/video-cixdec0
103
elif [ ${#video_devices[@]} -eq 0 ]; then
104
echo "Not found /dev/video*"
105
else
106
max_device="${video_devices[-2]}"
107
ln -s "$max_device" /dev/video-cixdec0
108
fi
109
EOF
110
sudo chmod a+x $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/usr/bin/load-modules.sh
111
if [[ ! -e $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/DEBIAN ]]; then
112
mkdir -p $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/DEBIAN
113
fi
114
cat > $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/DEBIAN/postinst <<- EOF
115
#!/bin/sh
116
set -e
117
118
# Enable the service to start on boot
119
systemctl enable load-modules.service || true
120
121
exit 0
122
EOF
123
cat > $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/DEBIAN/triggers <<- EOF
124
activate-noawait ldconfig
125
EOF
126
cat > $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/DEBIAN/shlibs <<- EOF
127
libgbm 1 cix-gpu-umd (>= 1.0.0-1)
128
EOF
129
sudo chmod a+x $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/DEBIAN/postinst
130
rm -rf $PATH_OUT_PRIVATE_DEB_PACKAGES/cix-gpu-umd/usr/share/cix
131
create_cix_deb "$pkg_Name"
132
133
#dsp
134
pkg_Name="cix-audio-dsp"
135
create_cix_deb "$pkg_Name"
136
}
137
138
function create_cix_deb() {
139
local pkg_Name="$1"
140
local PATH_CHANGELOGS=${EXTER}/cache/sources/component_cix-${BRANCH}/changelogs
141
local PRIVATE_DEB_PACKAGES=("cix-dpu-ddk" "cix-npu-umd" "cix-isp-umd" "cix-gpu-umd" "cix-audio-dsp" "cix-hdcp2" "cix-noe-umd")
142
local CIX_DEB_VERSION="0.01-1"
143
144
display_alert "Building cix deb" "${pkg_Name}" "info"
145
CHANGELOG="$PATH_CHANGELOGS/changelog.${pkg_Name}"
146
if [[ ! -f "$CHANGELOG" ]]; then
147
exit_with_error "changelog not found" "${CHANGELOG}"
148
fi
149
150
VERSION=$(grep -m 1 -oP '^\S+\s+\(\K[^)]+(?=\))' "$CHANGELOG")
151
if [[ ! -n "$VERSION" ]]; then
152
display_alert "get Version failed from: ${CHANGELOG}, will use default version" "1.0.0" "info"
153
sleep 10
154
VERSION="1.0.0"
155
fi
156
157
local pkg_Ver=$VERSION
158
local pkg_private=false
159
160
for str in "${PRIVATE_DEB_PACKAGES[@]}"; do
161
if [[ "$str" == "$pkg_Name" ]]; then
162
rm -rf ${PATH_OUT_DEB_PACKAGES}/$pkg_Name
163
cp -r ${PATH_OUT_PRIVATE_DEB_PACKAGES}/${pkg_Name} ${PATH_OUT_DEB_PACKAGES}/$pkg_Name
164
break
165
fi
166
done
167
168
local build_deb_dir="${PATH_OUT_DEB_PACKAGES}/${pkg_Name}"
169
170
case "$pkg_Name" in
171
("cix-mesa")
172
CONTROL_CONTENT="Package: ${pkg_Name}
173
Version: ${pkg_Ver}
174
Architecture: arm64
175
Maintainer: Cix OS team
176
Depends: libc6 (>= 2.34)
177
Provides: libgl1-mesa-dri, libgl1, libglapi-mesa, libgl-dev
178
Replaces: libgl1-mesa-dri, libgl1, libglapi-mesa, libgl-dev
179
Section: utils
180
Priority: optional
181
Description: $pkg_Name package"
182
;;
183
("cix-xserver")
184
CONTROL_CONTENT="Package: ${pkg_Name}
185
Version: ${pkg_Ver}
186
Architecture: arm64
187
Maintainer: Cix OS team
188
Depends: libc6 (>= 2.34)
189
Provides: xwayland
190
Replaces: xwayland
191
Section: utils
192
Priority: optional
193
Description: $pkg_Name package"
194
;;
195
("cix-gpu-umd")
196
CONTROL_CONTENT="Package: ${pkg_Name}
197
Version: ${pkg_Ver}
198
Architecture: arm64
199
Maintainer: Cix OS team
200
Depends: libc6 (>= 2.34)
201
Provides: libwayland-dev, libwayland-egl1, libgles2, ocl-icd-libopencl1, libgbm1, libegl-dev, libgles1, libegl1, libgles1, libgles-dev, ocl-icd-opencl-dev, libgbm-dev
202
Replaces: libwayland-dev, libwayland-egl1, libgles2, ocl-icd-libopencl1, libgbm1, libegl-dev, libgles1, libegl1, libgles1, libgles-dev, ocl-icd-opencl-dev, libgbm-dev
203
Section: utils
204
Priority: optional
205
Description: $pkg_Name package"
206
;;
207
("cix-gstreamer")
208
CONTROL_CONTENT="Package: ${pkg_Name}
209
Version: ${pkg_Ver}
210
Architecture: arm64
211
Maintainer: Cix OS team
212
Depends: libc6 (>= 2.34), libglib2.0-0, libglib2.0-bin, libx11-6, libgdk-pixbuf-2.0-0, zlib1g, libasound2, libogg0, libopus0, libxext6, libxi6, libxfixes3, libxdamage1, libxml2, libnettle8, libcairo2, libjpeg62-turbo, libpng16-16, libsoup-3.0-0, libva-drm2, libva-glx2, libva-wayland2, libva-x11-2, libva2, libdrm2, libdrm-radeon1, libdrm-nouveau2, libdrm-amdgpu1, libdrm-freedreno1, libdrm-tegra0, libdrm-etnaviv1, libvulkan1, libxcb1, libxkbcommon0, libwayland-client0, libwayland-server0, libwayland-cursor0, libwayland-egl1, libwayland-bin, libnice10, libwebp7, libwebpmux3, libwebpdemux2, libjson-glib-1.0-0, libpango-1.0-0, libpangocairo-1.0-0, libpangoft2-1.0-0, libpangoxft-1.0-0
213
Section: utils
214
Priority: optional
215
Description: $pkg_Name package"
216
;;
217
("cix-npu-onnxruntime")
218
CONTROL_CONTENT="Package: ${pkg_Name}
219
Version: ${pkg_Ver}
220
Architecture: arm64
221
Maintainer: Cix OS team
222
Depends: python3-pip
223
Section: utils
224
Priority: optional
225
Description: $pkg_Name package"
226
;;
227
(*)
228
CONTROL_CONTENT="Package: ${pkg_Name}
229
Version: ${pkg_Ver}
230
Architecture: arm64
231
Maintainer: Cix OS team
232
Depends: libc6 (>= 2.34)
233
Section: utils
234
Priority: optional
235
Description: $pkg_Name package"
236
;;
237
esac
238
239
if [[ -e $build_deb_dir/usr/share/doc/$pkg_Name ]]; then
240
if [[ -e $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian.gz ]]; then
241
rm -rf $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian.gz
242
fi
243
else
244
mkdir -p $build_deb_dir/usr/share/doc/$pkg_Name
245
fi
246
247
cp $CHANGELOG $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian
248
gzip $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian
249
250
if [[ -e $PATH_OUT_PRIVATE_DEB_PACKAGES/copyright/$pkg_Name ]]; then
251
mkdir -p $build_deb_dir/usr/share/doc/$pkg_Name
252
cp $PATH_OUT_PRIVATE_DEB_PACKAGES/copyright/$pkg_Name/copyright $build_deb_dir/usr/share/doc/$pkg_Name
253
fi
254
255
if [[ -e "$build_deb_dir" ]]; then
256
if [[ ! -e "$build_deb_dir/DEBIAN/control" ]]; then
257
mkdir -p "$build_deb_dir/DEBIAN"
258
echo "${CONTROL_CONTENT}" > "$build_deb_dir/DEBIAN/control"
259
else
260
sed -i "s/^Version: .*/Version: $pkg_Ver/" "$build_deb_dir/DEBIAN/control"
261
fi
262
263
chmod -R 755 "$build_deb_dir"
264
chmod -R g-s "$build_deb_dir"
265
rm -f ${PATH_OUT_DEB_PACKAGES}/${pkg_Name}_*.deb
266
dpkg-deb -b --root-owner-group "$build_deb_dir" "${PATH_OUT_DEB_PACKAGES}/${pkg_Name}_${pkg_Ver}_arm64.deb" > /dev/null
267
rm -rf ${PATH_OUT_DEB_PACKAGES}/${pkg_Name}
268
else
269
display_alert "deb path does not exist" "${build_deb_dir}" "info"
270
fi
271
}
272
273
family_tweaks_kernel () {
274
275
cix_open_src=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_opensource
276
PATH_OUT_PRIVATE_DEB_PACKAGES=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_proprietary/cix_proprietary-debs
277
PATH_OUT_DEB_PACKAGES=${DEB_STORAGE}/cix_debs-${BRANCH}
278
279
export ARCH=arm64
280
export KDIR=${SRC}/kernel/${KERNELBRANCH#branch:}
281
export CROSS_COMPILE=${toolchain}/${KERNEL_COMPILER}
282
283
[[ -d ${PATH_OUT_DEB_PACKAGES} ]] && rm -r ${PATH_OUT_DEB_PACKAGES}
284
mkdir -p ${PATH_OUT_DEB_PACKAGES}
285
286
cd ${cix_open_src}/vpu/vpu_driver/
287
bash ./clean.sh > /dev/null
288
scons $CTHREADS target=linux > /dev/null
289
# build deb package
290
pkg_Name="cix-vpu-driver"
291
linux_version=$(strings ${LINUXSOURCEDIR}/arch/arm64/boot/Image | grep "Linux version" | cut -d' ' -f3 | head -1)
292
build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}
293
rm -rf ${build_deb_dir}
294
install_dir=${build_deb_dir}/usr/share/cix/bin
295
install_dir_kernel_modules=${build_deb_dir}/lib/modules/${linux_version}/extra
296
install_dir_include=${build_deb_dir}/usr/share/cix/include
297
install_dir_firmware="${build_deb_dir}/lib/firmware"
298
mkdir -p ${install_dir}
299
mkdir -p ${install_dir_kernel_modules}
300
mkdir -p ${install_dir_include}
301
mkdir -p ${install_dir_firmware}
302
if [ -f bin/aarch64-none-linux-gnu/amvx.ko ]; then
303
cp bin/aarch64-none-linux-gnu/amvx.ko ${install_dir_kernel_modules}
304
cp include/aarch64-none-linux-gnu/mvx-v4l2-controls.h ${install_dir_include}
305
if [[ -d "${PATH_OUT_PRIVATE_DEB_PACKAGES}/cix-vpu-umd/usr/lib/firmware" ]]; then
306
cp -fp ${PATH_OUT_PRIVATE_DEB_PACKAGES}/cix-vpu-umd/usr/lib/firmware/* ${install_dir_firmware}/
307
fi
308
create_cix_deb "${pkg_Name}"
309
else
310
exit_with_error "vpu: amvx.ko module not exist"
311
fi
312
# finish build deb package
313
cd - > /dev/null
314
315
export COMPASS_DRV_BTENVAR_ARCH=${ARCH}
316
export COMPASS_DRV_BTENVAR_KMD_DIR=driver
317
export COMPASS_DRV_BTENVAR_KMD_VERSION=5.8.0
318
export COMPASS_DRV_BTENVAR_KPATH=${KDIR}
319
export BUILD_AIPU_VERSION_KMD=BUILD_ZHOUYI_V3
320
export BUILD_TARGET_PLATFORM_KMD=BUILD_PLATFORM_SKY1
321
export BUILD_NPU_DEVFREQ=y
322
cd ${cix_open_src}/npu/npu_driver
323
cp -f ${COMPASS_DRV_BTENVAR_KMD_DIR}/armchina-npu/include/armchina_aipu.h ${KDIR}/include/uapi/misc
324
make $CTHREADS -C ${COMPASS_DRV_BTENVAR_KMD_DIR} ARCH=${COMPASS_DRV_BTENVAR_ARCH} CROSS_COMPILE=${CROSS_COMPILE} clean > /dev/null
325
make $CTHREADS -C ${COMPASS_DRV_BTENVAR_KMD_DIR} ARCH=${COMPASS_DRV_BTENVAR_ARCH} CROSS_COMPILE=${CROSS_COMPILE} > /dev/null
326
pkg_Name="cix-npu-driver"
327
if [ -f ${COMPASS_DRV_BTENVAR_KMD_DIR}/aipu.ko ]; then
328
# build deb package
329
build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}
330
rm -rf ${build_deb_dir}
331
install_dir=${build_deb_dir}/lib/modules/${linux_version}/extra
332
mkdir -p ${install_dir}
333
cp ${COMPASS_DRV_BTENVAR_KMD_DIR}/aipu.ko ${install_dir}
334
create_cix_deb "${pkg_Name}"
335
rm -f $PATH_LINUX/include/uapi/misc/armchina_aipu.h
336
# finish build deb package
337
else
338
exit_with_error "npu: aipu.ko module not exist"
339
fi
340
cd - > /dev/null
341
342
export CONFIG_MALI_BASE_MODULES=y
343
export CONFIG_MALI_MEMORY_GROUP_MANAGER=y
344
export CONFIG_MALI_PROTECTED_MEMORY_ALLOCATOR=y
345
export CONFIG_MALI_PLATFORM_NAME="sky1"
346
export CONFIG_MALI_CSF_SUPPORT=y
347
export CONFIG_MALI_CIX_POWER_MODEL=y
348
cd ${cix_open_src}/gpu
349
bash clean.sh > /dev/null
350
gpu_driver_dir=${cix_open_src}/gpu/gpu_kernel/drivers
351
if [[ "${DOCKER_MODE}" == "docker" ]]; then
352
ARCH=arm64 make KCFLAGS="-D__ANDROID_COMMON_KERNEL__ -DUSING_DOCKER_MODE" $CTHREADS -C ${gpu_driver_dir}/base/arm/ > /dev/null
353
ARCH=arm64 make KCFLAGS="-D__ANDROID_COMMON_KERNEL__ -DUSING_DOCKER_MODE" $CTHREADS -C ${gpu_driver_dir}/gpu/arm/ > /dev/null
354
else
355
ARCH=arm64 make $CTHREADS -C ${gpu_driver_dir}/base/arm/ > /dev/null
356
ARCH=arm64 make $CTHREADS -C ${gpu_driver_dir}/gpu/arm/ > /dev/null
357
fi
358
# build deb package
359
pkg_Name="cix-gpu-driver"
360
build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}
361
rm -rf ${build_deb_dir}
362
install_dir=${build_deb_dir}/lib/modules/${linux_version}/extra
363
mkdir -p ${install_dir}
364
if [ -f ${gpu_driver_dir}/gpu/arm/midgard/mali_kbase.ko ]; then
365
cp ${gpu_driver_dir}/base/arm/memory_group_manager/memory_group_manager.ko ${install_dir}
366
cp ${gpu_driver_dir}/base/arm/protected_memory_allocator/protected_memory_allocator.ko ${install_dir}
367
cp ${gpu_driver_dir}/gpu/arm/midgard/mali_kbase.ko ${install_dir}
368
create_cix_deb "${pkg_Name}"
369
else
370
exit_with_error "gpu: amxv.ko module not exist"
371
fi
372
# finish build deb package
373
cd - > /dev/null
374
375
local DRV_DIR=${cix_open_src}/isp/isp_driver
376
MODULE=armcb_isp_v4l2
377
cd "${DRV_DIR}"
378
make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} $CTHREADS PATH_ROOT=${KDIR} clean > /dev/null
379
make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} $CTHREADS PATH_ROOT=${KDIR} build > /dev/null
380
if [ -f ${DRV_DIR}/${MODULE}.ko ]; then
381
# build deb package
382
pkg_Name="cix-isp-driver-v4l2"
383
build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}
384
rm -rf ${build_deb_dir}
385
install_dir=${build_deb_dir}/lib/modules/${linux_version}/extra
386
mkdir -p ${install_dir}
387
cp ${DRV_DIR}/${MODULE}.ko ${install_dir}
388
create_cix_deb "${pkg_Name}"
389
else
390
exit_with_error "${MODULE}.ko module not exist"
391
fi
392
cd - > /dev/null
393
394
build_cix_prideb
395
396
mkdir -p ${SRC}/output/cix/ > /dev/null 2>&1
397
cp ${KDIR}/arch/arm64/boot/Image ${SRC}/output/cix/
398
cp ${KDIR}/arch/arm64/boot/dts/cix/sky1-*dtb ${SRC}/output/cix/
399
rm ${SRC}/output/debs/linux-dtb*
400
}
401
402
install_cix_debs() {
403
404
[[ $BUILD_DESKTOP != yes ]] && return
405
[[ ${RELEASE} == noble ]] && return
406
407
display_alert "Installing" "Cix debs" "info"
408
409
local POOL_PATH=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_proprietary/cix_proprietary-debs
410
local DEB_PATH=${SDCARD}/root/debs
411
412
mkdir -p ${DEB_PATH}
413
cp -fp $POOL_PATH/pool/main/*/*/*.deb ${DEB_PATH}/
414
cp -fp $POOL_PATH/pool/main/*/*.deb ${DEB_PATH}/
415
cp ${EXTER}/cache/sources/component_cix-${BRANCH}/debs/*.deb ${DEB_PATH}/
416
417
run_on_sdcard "apt-get -y --allow-downgrades install /root/debs/*.deb"
418
run_on_sdcard "systemctl mask swap.target"
419
run_on_sdcard "systemctl enable cix_resume.service"
420
run_on_sdcard "systemctl enable cix_resume_prepare.service"
421
rm ${DEB_PATH} -rf
422
423
dpkg_install_deb_chroot "${EXTER}/cache/sources/component_cix-${BRANCH}/debs_manual/cix-gnome-core-1.43_arm64.deb"
424
dpkg_install_deb_chroot "${EXTER}/cache/sources/component_cix-${BRANCH}/debs_manual/yolox-demo-v4l2_2.0.0_arm64.deb"
425
#dpkg_install_deb_chroot "${EXTER}/cache/sources/component_cix-${BRANCH}/debs_manual/systemd_252.26-1~deb12u2_arm64.deb"
426
run_on_sdcard "EBIAN_FRONTEND=noninteractive apt-get -yqq install pulseaudio"
427
run_on_sdcard "EBIAN_FRONTEND=noninteractive apt-get -yqq remove wireplumber"
428
run_on_sdcard "EBIAN_FRONTEND=noninteractive apt-get -yqq remove pipewire-pulse"
429
430
rm $SDCARD/root/*.deb >/dev/null 2>&1
431
}
432
433
family_tweaks() {
434
435
install_balenaEtcher
436
#install_wiringop
437
438
if [[ -L "${SDCARD}/usr/lib/policykit-1/polkit-agent-helper-1" ]]; then
439
chmod 5755 ${SDCARD}/usr/lib/policykit-1/polkit-agent-helper-1
440
fi
441
442
cp ${DEB_STORAGE}/cix_debs-${BRANCH} ${SDCARD}/root/ -rf
443
run_on_sdcard "apt-get -y --allow-downgrades install /root/cix_debs-${BRANCH}/*.deb"
444
445
amvx_module=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_opensource/vpu/vpu_driver/bin/aarch64-none-linux-gnu/amvx.ko
446
linux_version=$(modinfo ${amvx_module} | awk -F': ' '/vermagic/{split($2,a," "); print a[1]}')
447
448
run_on_sdcard "depmod -a $linux_version/"
449
rm -rf ${SDCARD}/root/cix_debs-${BRANCH}
450
rm -rf ${SDCARD}/usr/local/test.mp4
451
452
touch ${SDCARD}/root/.Xauthority
453
454
mv ${SDCARD}/usr/share/cix/bin/spidev_test ${SDCARD}/usr/bin/ >/dev/null 2>&1
455
rm ${SDCARD}/usr/share/cix/bin/isp_app >/dev/null 2>&1
456
457
sed -i 's/^ENABLED=true$/ENABLED=false/' ${SDCARD}/etc/default/orangepi-zram-config
458
459
run_on_sdcard "systemctl --no-reload enable [email protected] >/dev/null 2>&1"
460
run_on_sdcard "systemctl --no-reload enable isp-daemon.service >/dev/null 2>&1"
461
if [[ ${RELEASE} == bookworm ]]; then
462
run_on_sdcard "systemctl mask ssh.socket" >/dev/null 2>&1
463
fi
464
465
rsync -a --chown=root:root "${EXTER}"/packages/bsp/overlays_cix/* ${SDCARD}/
466
}
467
468
install_balenaEtcher(){
469
470
if [[ $BUILD_DESKTOP == yes && $install_balena_etcher == yes ]]; then
471
472
[[ ${RELEASE} == noble ]] && return
473
474
balena_etcher_deb=balena-etcher-electron_1.7.9+5945ab1f_arm64.deb
475
balena_etcher_url="https://github.com/Itai-Nelken/BalenaEtcher-arm/releases/download/v1.7.9/${balena_etcher_deb}"
476
balena_etcher=${EXTER}/cache/debs/arm64/${balena_etcher_deb}
477
478
if [[ ! -f ${balena_etcher} ]]; then
479
wget -P ${EXTER}/cache/debs/arm64 ${balena_etcher_url}
480
fi
481
482
install_deb_chroot ${balena_etcher}
483
rm $SDCARD/root/*.deb >/dev/null 2>&1
484
fi
485
}
486
487