Skip to content
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
fd73016
Added ayn-odin2-grub.csc, ayn-odin2-portal-grub.csc, modified Mesa PP…
FantasyGmm Jan 30, 2026
5318cc6
Added folder for Odin2portal Linuxloader ABL to have the correct DTB
gennro Oct 20, 2025
496d642
Added sm8550-6.13 patches and changed sm8550 config to support 6.13 a…
Squishy123 Jan 30, 2026
57a2a5f
Added odin2-preset-firstrun.sh extension to set user accounts and als…
Squishy123 Jan 30, 2026
e1f14e0
Added SM8550 Patches from ROCKNIX and also kernel config from ROCKNIX
Squishy123 Feb 2, 2026
1a94174
Added various patches carried over from sm8550-6.13:
Squishy123 Feb 2, 2026
f0e6087
Updated odin2, odin2-portal, odin2-grub firmware config scripts
Squishy123 Feb 3, 2026
114b15a
Also install mesa drivers for trixie in ayn-odin2-grub, ayn-odin2-por…
Squishy123 Feb 3, 2026
b5e9c40
Updated odin2-preset-firstrun.sh to include odin2-scripts installer
Squishy123 Feb 4, 2026
b672b2e
Added ayn-odin2-portal config
Squishy123 Feb 4, 2026
49ef699
Added ayn thor config file
Squishy123 Feb 17, 2026
69110e1
Set CONFIG_ANDROID_BINDER_IPC=y in sm8550 edge config
Squishy123 Feb 17, 2026
07a03a2
Added kernel configs to enable android related modules to support way…
Squishy123 Feb 18, 2026
cb4d69e
Removed sm8550-6.12, sm8550-6.13 patches; updated sm8550 conf to use …
Squishy123 Feb 19, 2026
7eb22f8
Test removal of MESA
Squishy123 Feb 19, 2026
ddd3468
Added configs ayn-odin2portal, ayn-thor that inherit from ayn-odin2; …
Squishy123 Feb 19, 2026
abeb855
Added ayn-odin2mini board config;
Squishy123 Feb 19, 2026
756b7d5
Added board name, vendor and maintainers to ayn configs
Squishy123 Feb 19, 2026
ba6a106
revert alsa related refactoring
Squishy123 Feb 19, 2026
ed7317e
removed old-linux-sm8550-edge.config
Squishy123 Feb 19, 2026
fe152a5
Changed back ayn-odin2 maintainer; reverted trixie kde-plasma-mobile …
Squishy123 Feb 19, 2026
a4328c2
Fixed typo
Squishy123 Feb 20, 2026
6f9222f
Added first line out for ayn related boards
Squishy123 Feb 20, 2026
286d331
fixed the first line description for ayn board configs
Squishy123 Feb 21, 2026
9f0b48f
Changed initrd script firmware pointing to redundant folder
Squishy123 Feb 22, 2026
0a1ead2
Fixed initramfs hook on odin2 script
Squishy123 Feb 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 51 additions & 48 deletions config/boards/ayn-odin2.csc
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,65 @@ declare -g BOARD_VENDOR="ayntec"
declare -g BOARD_MAINTAINER="FantasyGmm"
declare -g BOARDFAMILY="sm8550"
declare -g KERNEL_TARGET="current,edge"
declare -g KERNEL_TEST_TARGET="edge"
declare -g KERNEL_TEST_TARGET="current"
declare -g EXTRAWIFI="no"
declare -g BOOTCONFIG="none"
declare -g BOOTFS_TYPE="fat"
declare -g BOOTSIZE="256"
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g BOOTIMG_CMDLINE_EXTRA="clk_ignore_unused pd_ignore_unused rw quiet rootwait"

# Use the full firmware, complete linux-firmware plus Armbian's
declare -g BOARD_FIRMWARE_INSTALL="-full"
declare -g DESKTOP_AUTOLOGIN="yes"

function ayn-odin2_is_userspace_supported() {
[[ "${RELEASE}" == "jammy" ]] && return 0
[[ "${RELEASE}" == "trixie" ]] && return 0
[[ "${RELEASE}" == "noble" ]] && return 0
return 1
}
# Check to make sure variants are supported
declare -g VALID_BOARDS=("ayn-odin2" "ayn-odin2portal" "ayn-thor")

declare -g WITH_GRUB="no"

if [[ ! " ${VALID_BOARDS[*]} " =~ " ${BOARD} " ]]; then
exit_with_error "Error: Invalid board '$BOARD'. Valid options are: ${VALID_BOARDS[*]}" >&2
fi

# set grub
if [[ "${WITH_GRUB}" == "yes" ]]; then
display_alert "GRUB DETECTED"
declare -g UEFI_GRUB_TERMINAL="gfxterm" # Use graphics in grub, for the Armbian wallpaper.
declare -g GRUB_CMDLINE_LINUX_DEFAULT="clk_ignore_unused pd_ignore_unused arm64.nopauth efi=noruntime fbcon=rotate:1 console=ttyMSM0,115200n8"
declare -g BOOT_FDT_FILE="qcom/qcs8550-${BOARD}.dtb"
declare -g SERIALCON="${SERIALCON:-tty1}"

enable_extension "grub"
enable_extension "grub-with-dtb" # important, puts the whole DTB handling in place.
else
declare -g BOOTFS_TYPE="fat"
declare -g BOOTSIZE="256"
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g BOOTIMG_CMDLINE_EXTRA="clk_ignore_unused pd_ignore_unused rw quiet rootwait"

function pre_umount_final_image__update_ABL_settings() {
if [ -z "$BOOTFS_TYPE" ]; then
return 0
fi
display_alert "Update ABL settings for " "${BOARD}" "info"
uuid_line=$(head -n 1 "${SDCARD}"/etc/fstab)
rootfs_image_uuid=$(echo "${uuid_line}" | awk '{print $1}' | awk -F '=' '{print $2}')
initrd_name=$(find "${SDCARD}/boot/" -type f -name "config-*" | sed 's/.*config-//')
sed -i "s/UUID_PLACEHOLDER/${rootfs_image_uuid}/g" "${MOUNT}"/boot/LinuxLoader.cfg
sed -i "s/INITRD_PLACEHOLDER/${initrd_name}/g" "${MOUNT}"/boot/LinuxLoader.cfg
}
fi

function pre_customize_image__ayn-odin2_alsa_ucm_conf() {
if ! ayn-odin2_is_userspace_supported; then
return 0
fi

display_alert "Add alsa-ucm-conf for ${BOARD}" "${RELEASE}" "warn"
(
cd "${SDCARD}/usr/share/alsa" || exit 6
curl -L -o temp.zip "https://github.com/AYNTechnologies/alsa-ucm-conf/archive/refs/heads/ayn/v1.2.13.zip"
unzip -o temp.zip
unzip_dir=$(unzip -Z1 temp.zip | head -n1 | cut -d/ -f1)
cp -rf "${unzip_dir}/"* .
rm -rf "$unzip_dir" temp.zip
curl -L "https://github.com/AYNTechnologies/alsa-ucm-conf/archive/refs/tags/v1.2.13.tar.gz" | tar xvzf - --strip-components=1
)
}

function post_family_tweaks_bsp__ayn-odin2_firmware() {
display_alert "Install firmwares for ${BOARD}" "${RELEASE}" "warn"

# USB Gadget Network service
mkdir -p $destination/usr/local/bin/
mkdir -p $destination/usr/local/bin/mkdir
mkdir -p $destination/usr/lib/systemd/system/
mkdir -p $destination/etc/initramfs-tools/scripts/init-bottom/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/setup-usbgadget-network.sh $destination/usr/local/bin/
Expand All @@ -58,23 +77,11 @@ function post_family_tweaks_bsp__ayn-odin2_firmware() {
}

function post_family_tweaks__ayn-odin2_enable_services() {
if ! ayn-odin2_is_userspace_supported; then
if [[ "${RELEASE}" != "" ]]; then
display_alert "Missing userspace for ${BOARD}" "${RELEASE} does not have the userspace necessary to support the ${BOARD}" "warn"
fi
return 0
fi

if [[ "${RELEASE}" == "jammy" ]] || [[ "${RELEASE}" == "noble" ]]; then
display_alert "Adding Mesa PPA For Ubuntu ${BOARD}" "warn"
do_with_retries 3 chroot_sdcard add-apt-repository ppa:liujianfeng1994/qcom-mainline --yes --no-update
fi

# We need unudhcpd from armbian repo, so enable it
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.sources.disabled "${SDCARD}"/etc/apt/sources.list.d/armbian.sources

do_with_retries 3 chroot_sdcard_apt_get_update
display_alert "Installing ${BOARD} tweaks" "warn"
display_alert "Installing ${BOARD} tweaks" "warn"
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools unudhcpd mkbootimg
# disable armbian repo back
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.sources "${SDCARD}"/etc/apt/sources.list.d/armbian.sources.disabled
Expand All @@ -87,19 +94,25 @@ function post_family_tweaks__ayn-odin2_enable_services() {
chroot_sdcard systemctl mask suspend.target

chroot_sdcard systemctl enable usbgadget-rndis.service
cp $SRC/packages/bsp/ayn-odin2/LinuxLoader.cfg "${SDCARD}"/boot/
cp "${SRC}/packages/bsp/${BOARD}/LinuxLoader.cfg" "${SDCARD}"/boot/

return 0
}


function post_family_tweaks_bsp__ayn-odin2_bsp_firmware_in_initrd() {
display_alert "Adding to bsp-cli" "${BOARD}: firmware in initrd" "warn"
declare file_added_to_bsp_destination # Will be filled in by add_file_from_stdin_to_bsp_destination
# Using odin2's firmware for now
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/hooks/ayn-odin2-firmware" <<- 'FIRMWARE_HOOK'
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/hooks/ayn-firmware" <<- 'FIRMWARE_HOOK'
#!/bin/bash
[[ "$1" == "prereqs" ]] && exit 0
. /usr/share/initramfs-tools/hook-functions
for f in /lib/firmware/qcom/sm8550/* ; do
add_firmware "${f#/lib/firmware/}"
done
for f in /lib/firmware/qcom/sm8550/ayn/* ; do
add_firmware "${f#/lib/firmware/}"
done
for f in /lib/firmware/qcom/sm8550/ayn/odin2portal/* ; do
add_firmware "${f#/lib/firmware/}"
done
Expand All @@ -118,14 +131,4 @@ function post_family_tweaks_bsp__ayn-odin2_bsp_firmware_in_initrd() {
run_host_command_logged chmod -v +x "${file_added_to_bsp_destination}"
}

function pre_umount_final_image__update_ABL_settings() {
if [ -z "$BOOTFS_TYPE" ]; then
return 0
fi
display_alert "Update ABL settings for " "${BOARD}" "info"
uuid_line=$(head -n 1 "${SDCARD}"/etc/fstab)
rootfs_image_uuid=$(echo "${uuid_line}" | awk '{print $1}' | awk -F '=' '{print $2}')
initrd_name=$(find "${SDCARD}/boot/" -type f -name "config-*" | sed 's/.*config-//')
sed -i "s/UUID_PLACEHOLDER/${rootfs_image_uuid}/g" "${MOUNT}"/boot/LinuxLoader.cfg
sed -i "s/INITRD_PLACEHOLDER/${initrd_name}/g" "${MOUNT}"/boot/LinuxLoader.cfg
}

1 change: 1 addition & 0 deletions config/boards/ayn-odin2portal.csc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
source "${SRC}/config/boards/ayn-odin2.csc"
1 change: 1 addition & 0 deletions config/boards/ayn-thor.csc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
source "${SRC}/config/boards/ayn-odin2.csc"
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ pavucontrol
pavucontrol-qt
pulseaudio-module-bluetooth
chromium
pipewire
Loading
Loading