Support Orange Pi Zero3

This commit is contained in:
orangepi-xunlong
2023-02-16 19:46:49 +08:00
parent 8499305fe0
commit 5b98978bd1
89 changed files with 56014 additions and 901 deletions

View File

@@ -26,40 +26,32 @@ family_tweaks()
{
# execute specific tweaks function if present
[[ $(type -t family_tweaks_s) == function ]] && family_tweaks_s
#cp $SRC/packages/blobs/splash/orangepi-u-boot-24.bmp $SDCARD/boot/boot.bmp
#if [[ $BOARD == orangepizero2 ]]; then
# install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/xfce4-zorinmenulite-plugin_1.1.2_arm64.deb"
# install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/dockbarx-common_1.0~beta+git20210222-1~ppa1_all.deb"
# install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/dockbarx-dockx_1.0~beta+git20210222-1~ppa1_all.deb"
# install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/dockbarx_1.0~beta+git20210222-1~ppa1_all.deb"
# install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/xfce4-dockbarx-plugin_0.6+git20210221-1~ppa2~20.10_arm64.deb"
# install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/dockbarx-theme-zorin_1.1.0_all.deb"
# #install_deb_chroot "$EXTER/cache/debs/extra/bullseye-desktop/scratch-desktop_3.26.0_arm64.deb"
#fi
if [[ $RELEASE == jammy && $BUILD_DESKTOP == yes && $install_chromium == yes ]]; then
chromium_name="chromium-browser_101.0.4951.15-0ubuntu1~ppa1~22.04.1_arm64.deb"
chromium_extra_name="chromium-codecs-ffmpeg-extra_101.0.4951.15-0ubuntu1~ppa1~22.04.1_arm64.deb"
chromium_name="chromium-browser_107.0.5304.62-0ubuntu1~ppa1~22.04.1_arm64.deb"
chromium_extra_name="chromium-codecs-ffmpeg-extra_107.0.5304.62-0ubuntu1~ppa1~22.04.1_arm64.deb"
chromium_browser_l10n_name="chromium-browser-l10n_107.0.5304.62-0ubuntu1~ppa1~22.04.1_all.deb"
chromium_url="http://ppa.launchpadcontent.net/saiarcot895/chromium-beta/ubuntu/pool/main/c/chromium-browser"
chromium=${EXTER}/cache/debs/arm64/${chromium_name}
chromium_extra=${EXTER}/cache/debs/arm64/${chromium_extra_name}
chromium_browser_l10n=${EXTER}/cache/debs/arm64/${chromium_browser_l10n_name}
if [[ ! -f $chromium_extra ]]; then
wget -P ${EXTER}/cache/debs/arm64 ${chromium_url}/${chromium_name}
wget -P ${EXTER}/cache/debs/arm64 ${chromium_url}/${chromium_extra_name}
wget -P ${EXTER}/cache/debs/arm64 ${chromium_url}/${chromium_browser_l10n_name}
fi
install_deb_chroot $chromium_extra
install_deb_chroot $chromium
install_deb_chroot $chromium_browser_l10n
fi
if [[ $RELEASE == jammy && $BUILD_DESKTOP == yes && $install_firefox == yes ]]; then
firefox_name="firefox-esr_102.1.0esr+build1-0ubuntu0.22.04.1_arm64.deb"
firefox_name="firefox-esr_102.6.0esr+build1-0ubuntu0.22.04.1_arm64.deb"
firefox_url="https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/pool/main/f/firefox-esr/"
firefox=${EXTER}/cache/debs/arm64/${firefox_name}

View File

@@ -116,7 +116,7 @@ family_tweaks_s() {
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
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
install_wiringop
install_docker

View File

@@ -6,96 +6,133 @@ LINUXFAMILY=sun50iw9
[[ -z $CPUMAX ]] && CPUMAX=1512000
GOVERNOR=ondemand
ASOUND_STATE=asound.state.sun50iw9-${BRANCH}
case $BRANCH in
legacy)
KERNELBRANCH="branch:orange-pi-4.9-sun50iw9"
KERNELPATCHDIR=${BOARDFAMILY}-${BRANCH}
BOOTBRANCH='branch:v2018.05-sun50iw9'
KERNELPATCHDIR=${BOARDFAMILY}-${BRANCH}
UBOOT_TARGET_MAP=";;dts/${BOARD}-u-boot.dts boot0_sdcard.fex boot_package.fex"
UBOOT_COMPILER="arm-linux-gnueabi-"
UBOOT_USE_GCC='> 6.0'
BOOTENV_FILE=sun50iw9-default.txt
BOOTSCRIPT='boot-sun50iw9.cmd:boot.cmd'
KERNEL_USE_GCC='> 10.0'
OFFSET=20
ATFSOURCE=""
ATF_COMPILE="no"
INITRD_ARCH=arm
[[ ${BOARD} =~ orangepizero2|orangepizero2-b|orangepizero2-lts ]] && ASOUND_STATE='asound.state.sun50iw9-legacy'
[[ ${BOARD} == orangepi400 ]] && ASOUND_STATE='asound.state.orangepi400-es8316'
;;
current)
OVERLAY_PREFIX='sun50i-h616'
KERNELBRANCH="branch:orange-pi-5.4-sun50iw9"
#BOOTBRANCH='branch:u-boot-2018'
BOOTBRANCH='branch:u-boot-2018-h618'
#BOOTBRANCH='branch:v2018.05-sun50iw9'
KERNELPATCHDIR=${BOARDFAMILY}-${BRANCH}
UBOOT_TARGET_MAP=";;dts/${BOARD}-u-boot.dts boot0_sdcard.fex boot_package.fex"
UBOOT_COMPILER="arm-linux-gnueabi-"
UBOOT_USE_GCC='> 6.0'
BOOTENV_FILE=sun50iw9-default.txt
BOOTSCRIPT='boot-sun50iw9.cmd:boot.cmd'
KERNEL_USE_GCC='> 10.0'
OFFSET=20
ATFSOURCE=""
ATF_COMPILE="no"
INITRD_ARCH=arm
;;
next)
OVERLAY_PREFIX='sun50i-h616'
ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
ATFBRANCH='branch:master'
ATF_PLAT="sun50i_h616";
ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
UBOOT_TARGET_MAP=';;u-boot-sunxi-with-spl.bin'
#BOOTBRANCH='branch:v2021.07-sunxi'
BOOTBRANCH='branch:v2021.10-sunxi'
BOOTSCRIPT='boot-sun50iw9-current.cmd:boot.cmd'
ASOUND_STATE='asound.state.sun50iw9-current'
[[ $BOARD =~ orangepizero2 ]] && BOOTBRANCH='branch:v2021.10-sunxi'
[[ $BOARD =~ orangepizero3|orangepir1b ]] && BOOTBRANCH='v2021.07-sunxi'
BOOTSCRIPT='boot-sun50iw9-next.cmd:boot.cmd'
KERNELBRANCH="branch:orange-pi-5.16-sunxi64"
LINUXCONFIG="linux-5.16-sun50iw9-current"
## For Linux5.16.y
#KERNELBRANCH="branch:orange-pi-5.16-sunxi64"
#LINUXCONFIG="linux-5.16-sun50iw9-current"
## For Linu6.1.y
KERNELBRANCH="branch:orange-pi-6.1-sun50iw9"
LINUXCONFIG="linux-6.1-sun50iw9-next"
;;
esac
family_tweaks_s()
{
rsync -a --chown=root:root "${EXTER}"/packages/bsp/overlays_arm64/* ${SDCARD}/
if [[ $BOARD =~ orangepizero2|orangepizero2-lts|orangepizero2-b ]]; then
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools" >/dev/null 2>&1
fi
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools ir-keytable tree lirc v4l-utils" >/dev/null 2>&1
if [[ $BUILD_DESKTOP == yes ]]; then
sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
if [[ $BRANCH == legacy ]]; then
if [[ $BRANCH =~ legacy ]]; then
echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
echo "load-module module-alsa-sink device=hw:1,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
elif [[ $BRANCH == current ]]; then
echo "load-module module-alsa-sink device=hw:2,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
echo "load-module module-alsa-sink device=hw:0,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
elif [[ $BRANCH =~ current|next ]]; then
echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
echo "load-module module-alsa-sink device=hw:2,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
fi
fi
if [[ ${BRANCH} == current ]]; then
sed -i 's/^debug_uart.*/debug_uart=ttyAS0/' "${SDCARD}"/boot/orangepiEnv.txt
SERIALCON="ttyAS0"
fi
install_wiringop
install_docker
}
family_tweaks_bsp()
{
:
install -m 755 $EXTER/packages/blobs/bt/hciattach/hciattach_opi_${ARCH} $destination/usr/bin/hciattach_opi
}
uboot_custom_postprocess()
{
if [[ ${BRANCH} == legacy ]]; then
if [[ ${BRANCH} =~ legacy|current ]]; then
rm dts/*.dts sys_config ${BOARD}-u-boot.dtb -r >/dev/null 2>&1
rm dts/*.dts sys_config ${BOARD}-u-boot-${BRANCH}.dtb -r >/dev/null 2>&1
export PATH=${EXTER}/packages/pack-uboot/${BOARDFAMILY}/tools/:$PATH
cp ${EXTER}/packages/pack-uboot/${BOARDFAMILY}/bin/* . -r
cp sys_config/sys_config_${BOARD}.fex sys_config.fex
cp u-boot.bin u-boot.fex
[[ ${BOARD} =~ orangepizero2-b|orangepizero2-lts ]] && mv boot0_sdcard_new.fex boot0_sdcard.fex
if [[ $KERNELBRANCH == "branch:orange-pi-5.4-sun50iw9" ]]; then
mv monitor.fex-linux5.4 monitor.fex
mv boot_package.cfg-linux5.4 boot_package.cfg
mv boot0_sdcard.fex-linux5.4 boot0_sdcard.fex
fi
# make u-boot dtb
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/dtc -p 2048 -W no-unit_address_vs_reg -@ -O dtb -o ${BOARD}-u-boot.dtb -b 0 dts/${BOARD}-u-boot.dts >/dev/null 2>&1
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/dtc -p 2048 -W no-unit_address_vs_reg -@ -O dtb -o ${BOARD}-u-boot.dtb -b 0 dts/${BOARD}-u-boot-${BRANCH}.dts >/dev/null 2>&1
[[ ! -f ${BOARD}-u-boot.dtb ]] && exit_with_error "dts compilation failed"
busybox unix2dos sys_config.fex
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/script sys_config.fex >/dev/null 2>&1
cp ${BOARD}-u-boot.dtb sunxi.fex
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/update_dtb sunxi.fex 4096 >/dev/null 2>&1
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD >/dev/null 2>&1
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/update_uboot -no_merge u-boot.fex sys_config.bin >/dev/null 2>&1
update_uboot -no_merge u-boot.bin sys_config.bin >/dev/null 2>&1