104 lines
3.9 KiB
Plaintext
104 lines
3.9 KiB
Plaintext
ARCH="riscv64"
|
|
|
|
LINUXCONFIG="linux-ky-${BRANCH}"
|
|
LINUXFAMILY="ky"
|
|
|
|
SERIALCON="ttyS0"
|
|
BOOTSCRIPT='boot-ky.cmd:boot.cmd'
|
|
BOOTENV_FILE='ky.txt'
|
|
KERNEL_COMPILER='riscv64-unknown-linux-gnu-'
|
|
UBOOT_COMPILER='riscv64-unknown-linux-gnu-'
|
|
OVERLAY_PREFIX='x1'
|
|
OFFSET=30
|
|
|
|
case "${BRANCH}" in
|
|
|
|
current)
|
|
BOOTBRANCH='branch:v2022.10-ky'
|
|
|
|
KERNELBRANCH="branch:orange-pi-6.6-ky"
|
|
KERNELPATCHDIR="ky-${BRANCH}"
|
|
UBOOT_TARGET_MAP=";;bootinfo_sd.bin bootinfo_emmc.bin bootinfo_spinor.bin FSBL.bin u-boot-env-default.bin u-boot-opensbi.itb"
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
uboot_custom_postprocess()
|
|
{
|
|
:
|
|
}
|
|
|
|
write_uboot_platform()
|
|
{
|
|
if [[ -b "${2}boot0" ]]; then
|
|
echo 0 > /sys/block/${2##*/}boot0/force_ro
|
|
dd if=${1}/bootinfo_emmc.bin of=${2}boot0 >/dev/null 2>&1 && sync
|
|
dd if=${1}/FSBL.bin of=${2}boot0 seek=512 bs=1 >/dev/null 2>&1 && sync
|
|
echo 1 > /sys/block/${2##*/}boot0/force_ro
|
|
fi
|
|
|
|
dd if=$1/bootinfo_sd.bin of=$2 seek=0 conv=notrunc status=none >/dev/null 2>&1
|
|
dd if=$1/FSBL.bin of=$2 seek=256 conv=notrunc status=none >/dev/null 2>&1
|
|
dd if=$1/u-boot-env-default.bin of=$2 seek=768 conv=notrunc status=none >/dev/null 2>&1
|
|
dd if=$1/u-boot-opensbi.itb of=$2 seek=1664 conv=notrunc status=none >/dev/null 2>&1
|
|
}
|
|
|
|
write_uboot_platform_mtd()
|
|
{
|
|
if [[ -b /dev/mtdblock0 ]]; then
|
|
dd if=$1/bootinfo_spinor.bin of=/dev/mtdblock0 >/dev/null 2>&1 && sync
|
|
dd if=$1/FSBL.bin of=/dev/mtdblock2 seek=0 bs=1 >/dev/null 2>&1 && sync
|
|
dd if=$1/u-boot-env-default.bin of=/dev/mtdblock3 seek=0 bs=1 >/dev/null 2>&1 && sync
|
|
dd if=$1/u-boot-opensbi.itb of=/dev/mtdblock5 seek=0 bs=1K >/dev/null 2>&1 && sync
|
|
fi
|
|
}
|
|
|
|
family_tweaks()
|
|
{
|
|
rsync -a --chown=root:root "${EXTER}"/packages/bsp/ky/* ${SDCARD}/
|
|
|
|
run_on_sdcard "DEBIAN_FRONTEND=noninteractive apt-get install -y gdisk dnsmasq util-linux-extra smartmontools can-utils v4l-utils cmake python3-pip"
|
|
if [[ ${DESKTOP_ENVIRONMENT} == gnome ]]; then
|
|
run_on_sdcard "DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-screenshot tightvncserver gnome-bluetooth"
|
|
sed -i 's/# *AutomaticLoginEnable = true/AutomaticLoginEnable = true/' ${SDCARD}/etc/gdm3/custom.conf
|
|
sed -i 's/# *AutomaticLogin = user1/AutomaticLogin = orangepi/' ${SDCARD}/etc/gdm3/custom.conf
|
|
echo -e "\n[Install]\nWantedBy=multi-user.target" >> ${SDCARD}/lib/systemd/system/gdm3.service
|
|
#cp $EXTER/packages/blobs/desktop/desktop-wallpapers/orangepi-default.png ${SDCARD}/usr/share/backgrounds/warty-final-ubuntu.png
|
|
fi
|
|
|
|
if [[ $RELEASE == noble && ${SELECTED_CONFIGURATION} == desktop ]]; then
|
|
local packages_to_install
|
|
packages_to_install_common=("ddk" "camera" "mpp")
|
|
packages_to_install=("mesa" "glmark2" "gst" "ffmpeg" "mpv")
|
|
packages_to_install+=("libv4l" "chromium" "npu" "docker" "adbd" "gnome")
|
|
|
|
run_on_sdcard "DEBIAN_FRONTEND=noninteractive apt-get install -y vlc fonts-liberation libu2f-udev xdg-utils"
|
|
|
|
for package in ${packages_to_install_common[@]}; do
|
|
dpkg_install_debs_chroot $EXTER/cache/sources/ky_packages/common/$package
|
|
done
|
|
|
|
for package in ${packages_to_install[@]}; do
|
|
dpkg_install_debs_chroot $EXTER/cache/sources/ky_packages/$RELEASE/$package
|
|
done
|
|
|
|
rm $SDCARD/root/*.deb >/dev/null 2>&1
|
|
fi
|
|
|
|
if [[ $BUILD_DESKTOP == yes ]]; then
|
|
sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
|
|
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
|
|
echo "load-module module-alsa-sink device=hw:1,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
|
|
echo "set-default-sink HDMI-Playback" >> ${SDCARD}/etc/pulse/default.pa
|
|
fi
|
|
|
|
if [[ "${BOARD}x" == orangepirv2x ]]; then
|
|
nvram=$EXTER/cache/sources/orangepi-firmware-git
|
|
[[ -f ${nvram}/nvram_ap6256.txt-$BOARD ]] && cp ${nvram}/nvram_ap6256.txt-${BOARD} ${SDCARD}/lib/firmware/nvram_ap6256.txt
|
|
fi
|
|
|
|
chroot "${SDCARD}" /bin/bash -c "sudo usermod -aG docker ${OPI_USERNAME}"
|
|
install_wiringop
|
|
}
|