Path: blob/next/external/config/sources/families/cix.conf
18285 views
ARCH="arm64"12LINUXFAMILY="cix"3BOOTCONFIG="none"4ATF_COMPILE="no"5EXTERNAL_NEW="none"67SERIALCON="ttyAMA2"8KERNEL_COMPILER='aarch64-none-linux-gnu-'910case $BRANCH in1112current)13if [[ $GITEE_SERVER == yes ]]; then14KERNELSOURCE="https://gitee.com/orangepi-xunlong/orange-pi-6.1-cix.git"15fi16KERNELBRANCH='branch:orange-pi-6.1-cix'17KERNELPATCHDIR='cix-current'18LINUXCONFIG="linux-6.1-cix-p1-current"19KERNEL_USE_GCC='> 12.0'20ROOTFSCACHE_VERSION=1221;;2223next)24if [[ $GITEE_SERVER == yes ]]; then25KERNELSOURCE="https://gitee.com/orangepi-xunlong/orange-pi-6.6-cix.git"26fi27KERNELBRANCH='branch:orange-pi-6.6-cix'28KERNELPATCHDIR='cix-next'29LINUXCONFIG="linux-6.6-cix-p1-next"30KERNEL_USE_GCC='> 12.0'31ROOTFSCACHE_VERSION=1132;;33esac3435family_tweaks_bsp() {36:37}3839function create_cix_deb() {40local pkg_Name="$1"41local PATH_CHANGELOGS=${EXTER}/cache/sources/component_cix-${BRANCH}/changelogs42local PRIVATE_DEB_PACKAGES=("cix-dpu-ddk" "cix-npu-umd" "cix-isp-umd" "cix-gpu-umd" "cix-audio-dsp" "cix-hdcp2" "cix-noe-umd")43local CIX_DEB_VERSION="0.01-1"4445display_alert "Building cix deb" "${pkg_Name}" "info"46CHANGELOG="$PATH_CHANGELOGS/changelog.${pkg_Name}"47if [[ ! -f "$CHANGELOG" ]]; then48exit_with_error "changelog not found" "${CHANGELOG}"49fi5051VERSION=$(grep -m 1 -oP '^\S+\s+\(\K[^)]+(?=\))' "$CHANGELOG")52if [[ ! -n "$VERSION" ]]; then53display_alert "get Version failed from: ${CHANGELOG}, will use default version" "1.0.0" "info"54sleep 1055VERSION="1.0.0"56fi5758local pkg_Ver=$VERSION59local pkg_private=false6061for str in "${PRIVATE_DEB_PACKAGES[@]}"; do62if [[ "$str" == "$pkg_Name" ]]; then63rm -rf ${PATH_OUT_DEB_PACKAGES}/$pkg_Name64cp -r ${PATH_OUT_PRIVATE_DEB_PACKAGES}/${pkg_Name} ${PATH_OUT_DEB_PACKAGES}/$pkg_Name65break66fi67done6869local build_deb_dir="${PATH_OUT_DEB_PACKAGES}/${pkg_Name}"7071case "$pkg_Name" in72(*)73CONTROL_CONTENT="Package: ${pkg_Name}74Version: ${pkg_Ver}75Architecture: arm6476Maintainer: Cix OS team77Depends: libc6 (>= 2.34)78Section: utils79Priority: optional80Description: $pkg_Name package"81;;82esac8384if [[ -e $build_deb_dir/usr/share/doc/$pkg_Name ]]; then85if [[ -e $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian.gz ]]; then86rm -rf $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian.gz87fi88else89mkdir -p $build_deb_dir/usr/share/doc/$pkg_Name90fi9192cp $CHANGELOG $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian93gzip $build_deb_dir/usr/share/doc/$pkg_Name/changelog.Debian9495if [[ -e $PATH_OUT_PRIVATE_DEB_PACKAGES/copyright/$pkg_Name ]]; then96mkdir -p $build_deb_dir/usr/share/doc/$pkg_Name97cp $PATH_OUT_PRIVATE_DEB_PACKAGES/copyright/$pkg_Name/copyright $build_deb_dir/usr/share/doc/$pkg_Name98fi99100if [[ -e "$build_deb_dir" ]]; then101if [[ ! -e "$build_deb_dir/DEBIAN/control" ]]; then102mkdir -p "$build_deb_dir/DEBIAN"103echo "${CONTROL_CONTENT}" > "$build_deb_dir/DEBIAN/control"104else105sed -i "s/^Version: .*/Version: $pkg_Ver/" "$build_deb_dir/DEBIAN/control"106fi107108chmod -R 755 "$build_deb_dir"109chmod -R g-s "$build_deb_dir"110rm -f ${PATH_OUT_DEB_PACKAGES}/${pkg_Name}_*.deb111dpkg-deb -b --root-owner-group "$build_deb_dir" "${PATH_OUT_DEB_PACKAGES}/${pkg_Name}_${pkg_Ver}_arm64.deb" > /dev/null112rm -rf ${PATH_OUT_DEB_PACKAGES}/${pkg_Name}113else114display_alert "deb path does not exist" "${build_deb_dir}" "info"115fi116}117118family_tweaks_kernel () {119120cix_open_src=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_opensource121PATH_OUT_PRIVATE_DEB_PACKAGES=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_proprietary/cix_proprietary-debs122PATH_OUT_DEB_PACKAGES=${DEB_STORAGE}/cix_debs-${BRANCH}123124export ARCH=arm64125export KDIR=${SRC}/kernel/${KERNELBRANCH#branch:}126export CROSS_COMPILE=${toolchain}/${KERNEL_COMPILER}127128[[ -d ${PATH_OUT_DEB_PACKAGES} ]] && rm -r ${PATH_OUT_DEB_PACKAGES}129mkdir -p ${PATH_OUT_DEB_PACKAGES}130131cd ${cix_open_src}/vpu/vpu_driver/132bash ./clean.sh > /dev/null133scons $CTHREADS target=linux > /dev/null134# build deb package135pkg_Name="cix-vpu-driver"136linux_version=$(strings ${SRC}/output/cix/Image | grep "Linux version" | cut -d' ' -f3 | head -1)137build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}138rm -rf ${build_deb_dir}139install_dir=${build_deb_dir}/usr/share/cix/bin140install_dir_kernel_modules=${build_deb_dir}/lib/modules/${linux_version}/extra141install_dir_include=${build_deb_dir}/usr/share/cix/include142install_dir_firmware="${build_deb_dir}/lib/firmware"143mkdir -p ${install_dir}144mkdir -p ${install_dir_kernel_modules}145mkdir -p ${install_dir_include}146mkdir -p ${install_dir_firmware}147if [ -f bin/aarch64-none-linux-gnu/amvx.ko ]; then148cp bin/aarch64-none-linux-gnu/amvx.ko ${install_dir_kernel_modules}149cp include/aarch64-none-linux-gnu/mvx-v4l2-controls.h ${install_dir_include}150if [[ -d "${PATH_OUT_PRIVATE_DEB_PACKAGES}/cix-vpu-umd/usr/lib/firmware" ]]; then151cp -fp ${PATH_OUT_PRIVATE_DEB_PACKAGES}/cix-vpu-umd/usr/lib/firmware/* ${install_dir_firmware}/152fi153create_cix_deb "${pkg_Name}"154else155exit_with_error "vpu: amvx.ko module not exist"156fi157# finish build deb package158cd - > /dev/null159160export COMPASS_DRV_BTENVAR_ARCH=${ARCH}161export COMPASS_DRV_BTENVAR_KMD_DIR=driver162export COMPASS_DRV_BTENVAR_KMD_VERSION=5.11.0163export COMPASS_DRV_BTENVAR_KPATH=${KDIR}164export BUILD_AIPU_VERSION_KMD=BUILD_ZHOUYI_V3165export BUILD_TARGET_PLATFORM_KMD=BUILD_PLATFORM_SKY1166export BUILD_NPU_DEVFREQ=y167cd ${cix_open_src}/npu/npu_driver168cp -f ${COMPASS_DRV_BTENVAR_KMD_DIR}/armchina-npu/include/armchina_aipu.h ${KDIR}/include/uapi/misc169make $CTHREADS -C ${COMPASS_DRV_BTENVAR_KMD_DIR} ARCH=${COMPASS_DRV_BTENVAR_ARCH} CROSS_COMPILE=${CROSS_COMPILE} clean > /dev/null170make $CTHREADS -C ${COMPASS_DRV_BTENVAR_KMD_DIR} ARCH=${COMPASS_DRV_BTENVAR_ARCH} CROSS_COMPILE=${CROSS_COMPILE} > /dev/null171pkg_Name="cix-npu-driver"172if [ -f ${COMPASS_DRV_BTENVAR_KMD_DIR}/aipu.ko ]; then173# build deb package174build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}175rm -rf ${build_deb_dir}176install_dir=${build_deb_dir}/lib/modules/${linux_version}/extra177dkms_src_dir=${build_deb_dir}/usr/src178mkdir -p ${install_dir}179mkdir -p ${dkms_src_dir}180cp ${COMPASS_DRV_BTENVAR_KMD_DIR}/aipu.ko ${install_dir}181make $CTHREADS -C ${COMPASS_DRV_BTENVAR_KMD_DIR} ARCH=${COMPASS_DRV_BTENVAR_ARCH} CROSS_COMPILE=${CROSS_COMPILE} clean > /dev/null182cp -r ${COMPASS_DRV_BTENVAR_KMD_DIR} ${dkms_src_dir}/aipu-${COMPASS_DRV_BTENVAR_KMD_VERSION}183create_cix_deb "${pkg_Name}"184rm -f $PATH_LINUX/include/uapi/misc/armchina_aipu.h185# finish build deb package186else187exit_with_error "npu: aipu.ko module not exist"188fi189cd - > /dev/null190191export CONFIG_MALI_BASE_MODULES=y192export CONFIG_MALI_MEMORY_GROUP_MANAGER=y193export CONFIG_MALI_PROTECTED_MEMORY_ALLOCATOR=y194export CONFIG_MALI_PLATFORM_NAME="sky1"195export CONFIG_MALI_CSF_SUPPORT=y196export CONFIG_MALI_CIX_POWER_MODEL=y197cd ${cix_open_src}/gpu198bash clean.sh > /dev/null199gpu_driver_dir=${cix_open_src}/gpu/gpu_kernel/drivers200if [[ "${DOCKER_MODE}" == "docker" ]]; then201ARCH=arm64 make KCFLAGS="-D__ANDROID_COMMON_KERNEL__ -DUSING_DOCKER_MODE" $CTHREADS -C ${gpu_driver_dir}/base/arm/ > /dev/null202ARCH=arm64 make KCFLAGS="-D__ANDROID_COMMON_KERNEL__ -DUSING_DOCKER_MODE" $CTHREADS -C ${gpu_driver_dir}/gpu/arm/ > /dev/null203else204ARCH=arm64 make $CTHREADS -C ${gpu_driver_dir}/base/arm/ > /dev/null205ARCH=arm64 make $CTHREADS -C ${gpu_driver_dir}/gpu/arm/ > /dev/null206fi207# build deb package208pkg_Name="cix-gpu-driver"209build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}210rm -rf ${build_deb_dir}211install_dir=${build_deb_dir}/lib/modules/${linux_version}/extra212mkdir -p ${install_dir}213if [ -f ${gpu_driver_dir}/gpu/arm/midgard/mali_kbase.ko ]; then214cp ${gpu_driver_dir}/base/arm/memory_group_manager/memory_group_manager.ko ${install_dir}215cp ${gpu_driver_dir}/base/arm/protected_memory_allocator/protected_memory_allocator.ko ${install_dir}216cp ${gpu_driver_dir}/gpu/arm/midgard/mali_kbase.ko ${install_dir}217create_cix_deb "${pkg_Name}"218else219exit_with_error "gpu: amxv.ko module not exist"220fi221# finish build deb package222cd - > /dev/null223224local DRV_DIR=${cix_open_src}/isp/isp_driver225MODULE=armcb_isp_v4l2226cd "${DRV_DIR}"227make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} $CTHREADS PATH_ROOT=${KDIR} clean > /dev/null228make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} $CTHREADS PATH_ROOT=${KDIR} build > /dev/null229if [ -f ${DRV_DIR}/${MODULE}.ko ]; then230# build deb package231pkg_Name="cix-isp-driver-v4l2"232build_deb_dir=${PATH_OUT_DEB_PACKAGES}/${pkg_Name}233rm -rf ${build_deb_dir}234install_dir=${build_deb_dir}/lib/modules/${linux_version}/extra235mkdir -p ${install_dir}236cp ${DRV_DIR}/${MODULE}.ko ${install_dir}237create_cix_deb "${pkg_Name}"238else239exit_with_error "${MODULE}.ko module not exist"240fi241cd - > /dev/null242243rm ${SRC}/output/debs/linux-dtb* > /dev/null 2>&1244rm ${SRC}/output/debs/linux-libc-dev* > /dev/null 2>&1245}246247install_cix_debs() {248249[[ $BUILD_DESKTOP != yes ]] && return250[[ ${RELEASE} == noble ]] && return251252display_alert "Installing" "Cix debs" "info"253254local POOL_PATH=${EXTER}/cache/sources/component_cix-${BRANCH}/cix_proprietary/cix_proprietary-debs255local DEB_PATH=${SDCARD}/root/debs256257mkdir -p ${DEB_PATH}258if [[ $BRANCH == current ]]; then259cp -fp $POOL_PATH/pool/main/*/*/*.deb ${DEB_PATH}/260cp -fp $POOL_PATH/pool/main/*/*.deb ${DEB_PATH}/261fi262cp ${EXTER}/cache/sources/component_cix-${BRANCH}/debs/*.deb ${DEB_PATH}/263264chroot $SDCARD /bin/bash -e -c "apt-get -y --allow-downgrades install /root/debs/*.deb"265run_on_sdcard "systemctl mask swap.target"266run_on_sdcard "systemctl enable cix_resume.service"267run_on_sdcard "systemctl enable cix_resume_prepare.service"268rm ${DEB_PATH} -rf269270run_on_sdcard "EBIAN_FRONTEND=noninteractive apt-get -yqq install pulseaudio"271run_on_sdcard "EBIAN_FRONTEND=noninteractive apt-get -yqq remove wireplumber"272run_on_sdcard "EBIAN_FRONTEND=noninteractive apt-get -yqq remove pipewire-pulse"273dpkg_install_deb_chroot "${EXTER}/cache/sources/component_cix-${BRANCH}/debs_manual/gnome-core_arm64.deb"274275rm $SDCARD/root/*.deb >/dev/null 2>&1276}277278family_tweaks() {279280#install_cix_debs281install_balenaEtcher282#install_wiringop283284if [[ -L "${SDCARD}/usr/lib/policykit-1/polkit-agent-helper-1" ]]; then285chmod 5755 ${SDCARD}/usr/lib/policykit-1/polkit-agent-helper-1286fi287288cp ${DEB_STORAGE}/cix_debs-${BRANCH} ${SDCARD}/root/ -rf289run_on_sdcard "apt-get -y --allow-downgrades install /root/cix_debs-${BRANCH}/*.deb"290291linux_version=$(strings ${SRC}/output/cix/Image | grep "Linux version" | cut -d' ' -f3 | head -1)292293run_on_sdcard "depmod -a $linux_version/"294rm -rf ${SDCARD}/root/cix_debs-${BRANCH}295rm -rf ${SDCARD}/usr/local/test.mp4296297touch ${SDCARD}/root/.Xauthority298299mv ${SDCARD}/usr/share/cix/bin/spidev_test ${SDCARD}/usr/bin/ >/dev/null 2>&1300rm ${SDCARD}/usr/share/cix/bin/isp_app >/dev/null 2>&1301302sed -i 's/^ENABLED=true$/ENABLED=false/' ${SDCARD}/etc/default/orangepi-zram-config303304run_on_sdcard "systemctl --no-reload enable [email protected] >/dev/null 2>&1"305if [[ ${RELEASE} == bookworm ]]; then306run_on_sdcard "systemctl mask ssh.socket" >/dev/null 2>&1307fi308309rsync -a --chown=root:root "${EXTER}"/packages/bsp/overlays_cix/* ${SDCARD}/310if [[ $BRANCH == next ]]; then311rsync -a --chown=root:root "${EXTER}"/packages/bsp/overlays_cix_next/* ${SDCARD}/312fi313run_on_sdcard "systemctl --no-reload enable isp-daemon.service >/dev/null 2>&1"314315rm $SDCARD/root/*.deb >/dev/null 2>&1316}317318install_balenaEtcher(){319320if [[ $BUILD_DESKTOP == yes && $install_balena_etcher == yes ]]; then321322[[ ${RELEASE} == noble ]] && return323324balena_etcher_deb=balena-etcher-electron_1.7.9+5945ab1f_arm64.deb325balena_etcher_url="https://github.com/Itai-Nelken/BalenaEtcher-arm/releases/download/v1.7.9/${balena_etcher_deb}"326balena_etcher=${EXTER}/cache/debs/arm64/${balena_etcher_deb}327328if [[ ! -f ${balena_etcher} ]]; then329wget -P ${EXTER}/cache/debs/arm64 ${balena_etcher_url}330fi331332install_deb_chroot ${balena_etcher}333rm $SDCARD/root/*.deb >/dev/null 2>&1334fi335}336337338