diff --git a/build.sh b/build.sh index e33e415..5caf83f 100755 --- a/build.sh +++ b/build.sh @@ -30,13 +30,10 @@ fi mkdir -p ${topdir}/build -setup_build_tools - for build in ${builds} do echo "${build}" - setup_log_file "${build}" validate_section "Build" ${build} "${topdir}/builds.toml" @@ -44,9 +41,22 @@ do bsp_version=($(read_build_config ${build} bsp_version)) distro_variant=($(read_build_config ${build} distro_variant)) + export host_arch=`uname -m` + export native_build=false + export cross_compile=aarch64-none-linux-gnu- + if [ "$host_arch" == "aarch64" ]; then + native_build=true + cross_compile= + fi + echo "machine: ${machine}" echo "bsp_version: ${bsp_version}" echo "distro_variant: ${distro_variant}" + echo "host_arch: ${host_arch}" + + setup_build_tools + + setup_log_file "${build}" validate_build ${machine} ${bsp_version} ${distro_variant} diff --git a/builds.toml b/builds.toml index 153f9e1..9a1377a 100644 --- a/builds.toml +++ b/builds.toml @@ -2,33 +2,36 @@ # Builds for GitHub Actions builds = [ - "am62x_bookworm-no-km_09.00.00.006", - "am62x-lp_bookworm-no-km_09.00.00.006", - "am64x_bookworm_09.00.00.006", + "am62p-bookworm-09.01.00.008", + "am62-bookworm-09.01.00.008", + "am62lp-bookworm-09.01.00.008", + "am62sip-bookworm-09.01.00.008", + "am64-bookworm-09.01.00.008", ] # List of all valid builds -[am62x_bookworm-no-km_09.00.00.006] - machine = "am62xx-evm" - bsp_version = "09.00.00.006" - distro_variant = "bookworm-default-no-km" - -[am62x-lp_bookworm-no-km_09.00.00.006] - machine = "am62xx-lp-evm" - bsp_version = "09.00.00.006" - distro_variant = "bookworm-default-no-km" +[am62p-bookworm-09.01.00.008] + machine = "am62pxx-evm" + bsp_version = "09.01.00.008" + distro_variant = "am62p-bookworm" -[am62x_bookworm_09.00.00.006] +[am62-bookworm-09.01.00.008] machine = "am62xx-evm" - bsp_version = "09.00.00.006" - distro_variant = "bookworm-default" + bsp_version = "09.01.00.008" + distro_variant = "am62-bookworm" -[am62x-lp_bookworm_09.00.00.006] +[am62lp-bookworm-09.01.00.008] machine = "am62xx-lp-evm" - bsp_version = "09.00.00.006" - distro_variant = "bookworm-default" + bsp_version = "09.01.00.008" + distro_variant = "am62-bookworm" -[am64x_bookworm_09.00.00.006] +[am62sip-bookworm-09.01.00.008] + machine = "am62xxsip-evm" + bsp_version = "09.01.00.008" + distro_variant = "am62sip-bookworm" + +[am64-bookworm-09.01.00.008] machine = "am64xx-evm" - bsp_version = "09.00.00.006" - distro_variant = "bookworm-am64x" + bsp_version = "09.01.00.008" + distro_variant = "am64-bookworm" + diff --git a/configs/bdebstrap_configs/am62-bookworm.yaml b/configs/bdebstrap_configs/am62-bookworm.yaml new file mode 100644 index 0000000..fe522f9 --- /dev/null +++ b/configs/bdebstrap_configs/am62-bookworm.yaml @@ -0,0 +1,98 @@ +--- +mmdebstrap: + architectures: + - arm64 + mode: auto + keyrings: + - /usr/share/keyrings/debian-archive-keyring.gpg + suite: bookworm + variant: standard + components: + - main + - contrib + - non-free-firmware + packages: + - build-essential + - gpg + - curl + - firmware-ti-connectivity + - init + - iproute2 + - less + - libdrm-dev + - libpam-systemd + - locales + - neofetch + - network-manager + - net-tools + - openssh-server + - sudo + - vim + - k3conf + - weston + - linux-image-6.1.46-k3 + - linux-headers-6.1.46-k3 + - linux-libc-dev + - cryptodev-linux-dkms + - ti-img-rogue-driver-am62-dkms + - ti-img-rogue-firmware-am62 + - ti-img-rogue-tools-am62 + - ti-img-rogue-umlibs-am62 + - firmware-ti-ipc-am62 + - firmware-cnm-wave + - libti-rpmsg-char + - libti-rpmsg-char-dev + - libd3dadapter9-mesa-dev + - libd3dadapter9-mesa + - libegl-mesa0 + - libegl1-mesa + - libgbm1 + - libgl1-mesa-dri + - libgl1-mesa-glx + - libglapi-mesa + - libgles2-mesa + - libglx-mesa0 + - libosmesa6 + - libwayland-egl1-mesa + - mesa-opencl-icd + - mesa-va-drivers + - mesa-vdpau-drivers + - mesa-vulkan-drivers + mirrors: + - http://deb.debian.org/debian + setup-hooks: + # Setup TI Debian Package Repository + - 'mkdir -p $1/etc/apt/sources.list.d/' + - 'wget https://raw.githubusercontent.com/TexasInstruments/ti-debpkgs/main/ti-debpkgs.sources -P $1/etc/apt/sources.list.d/' + # Setup Apt repository preferences + - 'mkdir -p $1/etc/apt/preferences.d/' + - 'printf "Package: *\nPin: origin TexasInstruments.github.io\nPin-Priority: 1001" >> $1/etc/apt/preferences.d/ti-debpkgs' + # Setup Kernel post-install scripts + - 'mkdir -p $1/etc/kernel/postinst.d/' + - 'echo "PWD = $PWD"' + - 'upload target/kernel/postinst.d/cp-kernel-and-overlays /etc/kernel/postinst.d/cp-kernel-and-overlays' + - 'chmod a+x $1/etc/kernel/postinst.d/cp-kernel-and-overlays' + essential-hooks: + # FIXME: Find a better workaround instead of sleep + - 'sleep 10' # workaround for /proc resource busy unable to umount issue + customize-hooks: + # Remove passwd for root user + - 'chroot "$1" passwd --delete root' + # Fix apt install mandb permission issue + - 'chroot "$1" chown -R man: /var/cache/man/' + - 'chroot "$1" chmod -R 755 /var/cache/man/' + # update packages to avoid mandatory update after first boot + - 'chroot "$1" apt-get update' + # Setup .bashrc for clean command-line experience + - 'chroot "$1" cp /etc/skel/.bashrc ~/.bashrc' + # Weston Service and Config Files + - 'chroot "$1" mkdir -p /etc/systemd/system/' + - 'upload target/weston/weston.service /etc/systemd/system/weston.service' + - 'upload target/weston/weston.socket /etc/systemd/system/weston.socket' + - 'chroot "$1" mkdir -p /etc/default/' + - 'upload target/weston/weston /etc/default/weston' + - '$BDEBSTRAP_HOOKS/enable-units "$1" weston' + # Enable ssh to root user without password + - 'chroot "$1" echo "PermitRootLogin yes" >> $1/etc/ssh/sshd_config' + - 'chroot "$1" echo "PermitEmptyPasswords yes" >> $1/etc/ssh/sshd_config' + diff --git a/configs/bdebstrap_configs/am62p-bookworm.yaml b/configs/bdebstrap_configs/am62p-bookworm.yaml new file mode 100644 index 0000000..f79fdc4 --- /dev/null +++ b/configs/bdebstrap_configs/am62p-bookworm.yaml @@ -0,0 +1,98 @@ +--- +mmdebstrap: + architectures: + - arm64 + mode: auto + keyrings: + - /usr/share/keyrings/debian-archive-keyring.gpg + suite: bookworm + variant: standard + components: + - main + - contrib + - non-free-firmware + packages: + - build-essential + - gpg + - curl + - firmware-ti-connectivity + - init + - iproute2 + - less + - libdrm-dev + - libpam-systemd + - locales + - neofetch + - network-manager + - net-tools + - openssh-server + - sudo + - vim + - k3conf + - weston + - linux-image-6.1.46-k3 + - linux-headers-6.1.46-k3 + - linux-libc-dev + - cryptodev-linux-dkms + - ti-img-rogue-driver-am62p-dkms + - ti-img-rogue-firmware-am62p + - ti-img-rogue-tools-am62p + - ti-img-rogue-umlibs-am62p + - firmware-ti-ipc-am62p + - firmware-cnm-wave + - libti-rpmsg-char + - libti-rpmsg-char-dev + - libd3dadapter9-mesa-dev + - libd3dadapter9-mesa + - libegl-mesa0 + - libegl1-mesa + - libgbm1 + - libgl1-mesa-dri + - libgl1-mesa-glx + - libglapi-mesa + - libgles2-mesa + - libglx-mesa0 + - libosmesa6 + - libwayland-egl1-mesa + - mesa-opencl-icd + - mesa-va-drivers + - mesa-vdpau-drivers + - mesa-vulkan-drivers + mirrors: + - http://deb.debian.org/debian + setup-hooks: + # Setup TI Debian Package Repository + - 'mkdir -p $1/etc/apt/sources.list.d/' + - 'wget https://raw.githubusercontent.com/TexasInstruments/ti-debpkgs/main/ti-debpkgs.sources -P $1/etc/apt/sources.list.d/' + # Setup Apt repository preferences + - 'mkdir -p $1/etc/apt/preferences.d/' + - 'printf "Package: *\nPin: origin TexasInstruments.github.io\nPin-Priority: 1001" >> $1/etc/apt/preferences.d/ti-debpkgs' + # Setup Kernel post-install scripts + - 'mkdir -p $1/etc/kernel/postinst.d/' + - 'echo "PWD = $PWD"' + - 'upload target/kernel/postinst.d/cp-kernel-and-overlays /etc/kernel/postinst.d/cp-kernel-and-overlays' + - 'chmod a+x $1/etc/kernel/postinst.d/cp-kernel-and-overlays' + essential-hooks: + # FIXME: Find a better workaround instead of sleep + - 'sleep 10' # workaround for /proc resource busy unable to umount issue + customize-hooks: + # Remove passwd for root user + - 'chroot "$1" passwd --delete root' + # Fix apt install mandb permission issue + - 'chroot "$1" chown -R man: /var/cache/man/' + - 'chroot "$1" chmod -R 755 /var/cache/man/' + # update packages to avoid mandatory update after first boot + - 'chroot "$1" apt-get update' + # Setup .bashrc for clean command-line experience + - 'chroot "$1" cp /etc/skel/.bashrc ~/.bashrc' + # Weston Service and Config Files + - 'chroot "$1" mkdir -p /etc/systemd/system/' + - 'upload target/weston/weston.service /etc/systemd/system/weston.service' + - 'upload target/weston/weston.socket /etc/systemd/system/weston.socket' + - 'chroot "$1" mkdir -p /etc/default/' + - 'upload target/weston/weston /etc/default/weston' + - '$BDEBSTRAP_HOOKS/enable-units "$1" weston' + # Enable ssh to root user without password + - 'chroot "$1" echo "PermitRootLogin yes" >> $1/etc/ssh/sshd_config' + - 'chroot "$1" echo "PermitEmptyPasswords yes" >> $1/etc/ssh/sshd_config' + diff --git a/configs/bdebstrap_configs/am62sip-bookworm.yaml b/configs/bdebstrap_configs/am62sip-bookworm.yaml new file mode 100644 index 0000000..30cd75c --- /dev/null +++ b/configs/bdebstrap_configs/am62sip-bookworm.yaml @@ -0,0 +1,97 @@ +--- +mmdebstrap: + architectures: + - arm64 + mode: auto + keyrings: + - /usr/share/keyrings/debian-archive-keyring.gpg + suite: bookworm + variant: standard + components: + - main + - contrib + - non-free-firmware + packages: + - build-essential + - gpg + - curl + - firmware-ti-connectivity + - init + - iproute2 + - less + - libdrm-dev + - libpam-systemd + - locales + - neofetch + - network-manager + - net-tools + - openssh-server + - sudo + - vim + - k3conf + - weston + - linux-image-6.1.46-k3 + - linux-headers-6.1.46-k3 + - linux-libc-dev + - cryptodev-linux-dkms + - ti-img-rogue-driver-am62-dkms + - ti-img-rogue-firmware-am62 + - ti-img-rogue-tools-am62 + - ti-img-rogue-umlibs-am62 + - firmware-ti-ipc-am62 + - firmware-cnm-wave + - libti-rpmsg-char + - libti-rpmsg-char-dev + - libd3dadapter9-mesa-dev + - libd3dadapter9-mesa + - libegl-mesa0 + - libegl1-mesa + - libgbm1 + - libgl1-mesa-dri + - libgl1-mesa-glx + - libglapi-mesa + - libgles2-mesa + - libglx-mesa0 + - libosmesa6 + - libwayland-egl1-mesa + - mesa-opencl-icd + - mesa-va-drivers + - mesa-vdpau-drivers + - mesa-vulkan-drivers + mirrors: + - http://deb.debian.org/debian + setup-hooks: + # Setup TI Debian Package Repository + - 'mkdir -p $1/etc/apt/sources.list.d/' + - 'wget https://raw.githubusercontent.com/TexasInstruments/ti-debpkgs/main/ti-debpkgs.sources -P $1/etc/apt/sources.list.d/' + # Setup Apt repository preferences + - 'mkdir -p $1/etc/apt/preferences.d/' + - 'printf "Package: *\nPin: origin TexasInstruments.github.io\nPin-Priority: 1001" >> $1/etc/apt/preferences.d/ti-debpkgs' + # Setup Kernel post-install scripts + - 'mkdir -p $1/etc/kernel/postinst.d/' + - 'echo "PWD = $PWD"' + - 'upload target/kernel/postinst.d/cp-kernel-and-overlays /etc/kernel/postinst.d/cp-kernel-and-overlays' + - 'chmod a+x $1/etc/kernel/postinst.d/cp-kernel-and-overlays' + essential-hooks: + # FIXME: Find a better workaround instead of sleep + - 'sleep 10' # workaround for /proc resource busy unable to umount issue + customize-hooks: + # Remove passwd for root user + - 'chroot "$1" passwd --delete root' + # Fix apt install mandb permission issue + - 'chroot "$1" chown -R man: /var/cache/man/' + - 'chroot "$1" chmod -R 755 /var/cache/man/' + # update packages to avoid mandatory update after first boot + - 'chroot "$1" apt-get update' + # Setup .bashrc for clean command-line experience + - 'chroot "$1" cp /etc/skel/.bashrc ~/.bashrc' + # Weston Service and Config Files + - 'chroot "$1" mkdir -p /etc/systemd/system/' + - 'upload target/weston/weston.service /etc/systemd/system/weston.service' + - 'upload target/weston/weston.socket /etc/systemd/system/weston.socket' + - 'chroot "$1" mkdir -p /etc/default/' + - 'upload target/weston/weston /etc/default/weston' + # Enable ssh to root user without password + - 'chroot "$1" echo "PermitRootLogin yes" >> $1/etc/ssh/sshd_config' + - 'chroot "$1" echo "PermitEmptyPasswords yes" >> $1/etc/ssh/sshd_config' + diff --git a/configs/bdebstrap_configs/bookworm-am64x.yaml b/configs/bdebstrap_configs/am64-bookworm.yaml similarity index 64% rename from configs/bdebstrap_configs/bookworm-am64x.yaml rename to configs/bdebstrap_configs/am64-bookworm.yaml index 2df81cb..3c51719 100644 --- a/configs/bdebstrap_configs/bookworm-am64x.yaml +++ b/configs/bdebstrap_configs/am64-bookworm.yaml @@ -4,7 +4,6 @@ mmdebstrap: - arm64 mode: auto keyrings: - - /usr/share/keyrings/ti-debpkgs.gpg - /usr/share/keyrings/debian-archive-keyring.gpg suite: bookworm variant: standard @@ -20,6 +19,7 @@ mmdebstrap: - init - iproute2 - less + - libdrm-dev - libpam-systemd - locales - neofetch @@ -29,19 +29,25 @@ mmdebstrap: - sudo - vim - k3conf - - libti-rpmsg-char-dev - - libti-rpmsg-char - - linux-headers-6.1.26 - - linux-image-6.1.26 + - weston + - linux-image-6.1.46-k3 + - linux-headers-6.1.46-k3 - linux-libc-dev - - wl18xx-ti-utils + - cryptodev-linux-dkms + - firmware-ti-ipc-am64 + - firmware-cnm-wave + - libti-rpmsg-char + - libti-rpmsg-char-dev mirrors: - http://deb.debian.org/debian setup-hooks: # Setup TI Debian Package Repository - - 'mkdir -p $1/usr/share/keyrings' - - 'curl -s --compressed https://texasinstruments.github.io/ti-debpkgs/KEY.gpg | gpg --dearmor | tee $1/usr/share/keyrings/ti-debpkgs.gpg > /dev/null' - - 'echo "deb [signed-by=/usr/share/keyrings/ti-debpkgs.gpg] https://texasinstruments.github.io/ti-debpkgs/ ./" > $1/etc/apt/sources.list.d/ti-debpkgs.list' + - 'mkdir -p $1/etc/apt/sources.list.d/' + - 'wget https://raw.githubusercontent.com/TexasInstruments/ti-debpkgs/main/ti-debpkgs.sources -P $1/etc/apt/sources.list.d/' + # Setup Apt repository preferences + - 'mkdir -p $1/etc/apt/preferences.d/' + - 'printf "Package: *\nPin: origin TexasInstruments.github.io\nPin-Priority: 1001" >> $1/etc/apt/preferences.d/ti-debpkgs' + # Setup Kernel post-install scripts - 'mkdir -p $1/etc/kernel/postinst.d/' - 'echo "PWD = $PWD"' - 'upload target/kernel/postinst.d/cp-kernel-and-overlays /etc/kernel/postinst.d/cp-kernel-and-overlays' @@ -50,7 +56,7 @@ mmdebstrap: # FIXME: Find a better workaround instead of sleep - 'sleep 10' # workaround for /proc resource busy unable to umount issue customize-hooks: - # Remove passwd for weston user + # Remove passwd for root user - 'chroot "$1" passwd --delete root' # Fix apt install mandb permission issue - 'chroot "$1" chown -R man: /var/cache/man/' @@ -59,4 +65,7 @@ mmdebstrap: - 'chroot "$1" apt-get update' # Setup .bashrc for clean command-line experience - 'chroot "$1" cp /etc/skel/.bashrc ~/.bashrc' + # Enable ssh to root user without password + - 'chroot "$1" echo "PermitRootLogin yes" >> $1/etc/ssh/sshd_config' + - 'chroot "$1" echo "PermitEmptyPasswords yes" >> $1/etc/ssh/sshd_config' diff --git a/configs/bdebstrap_configs/bookworm-default-no-km.yaml b/configs/bdebstrap_configs/bookworm-default-no-km.yaml deleted file mode 100644 index 759c8bf..0000000 --- a/configs/bdebstrap_configs/bookworm-default-no-km.yaml +++ /dev/null @@ -1,93 +0,0 @@ ---- -mmdebstrap: - architectures: - - arm64 - mode: auto - keyrings: - - /usr/share/keyrings/ti-debpkgs.gpg - - /usr/share/keyrings/debian-archive-keyring.gpg - suite: bookworm - variant: standard - components: - - main - - contrib - - non-free-firmware - packages: - - build-essential - - gpg - - curl - - firmware-ti-connectivity - - init - - iproute2 - - less - - libdrm-dev - - libpam-systemd - - locales - - neofetch - - network-manager - - net-tools - - openssh-server - - sudo - - vim - - k3conf - - weston - - libd3dadapter9-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libd3dadapter9-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libegl-mesa0=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libegl1-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libegl1-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgbm-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgbm1=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgl1-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgl1-mesa-dri=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgl1-mesa-glx=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libglapi-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgles2-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgles2-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libglx-mesa0=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libosmesa6-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libosmesa6=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libwayland-egl1-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-common-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-opencl-icd=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-va-drivers=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-vdpau-drivers=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-vulkan-drivers=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libpowervr-gl-am62x - - libti-rpmsg-char-dev - - libti-rpmsg-char - - linux-headers-6.1.26 - - linux-image-6.1.26 - - linux-libc-dev - - wl18xx-ti-utils - mirrors: - - http://deb.debian.org/debian - setup-hooks: - # Setup TI Debian Package Repository - - 'mkdir -p $1/usr/share/keyrings' - - 'curl -s --compressed https://texasinstruments.github.io/ti-debpkgs/KEY.gpg | gpg --dearmor | tee $1/usr/share/keyrings/ti-debpkgs.gpg > /dev/null' - - 'echo "deb [signed-by=/usr/share/keyrings/ti-debpkgs.gpg] https://texasinstruments.github.io/ti-debpkgs/ ./" > $1/etc/apt/sources.list.d/ti-debpkgs.list' - - 'mkdir -p $1/etc/kernel/postinst.d/' - - 'echo "PWD = $PWD"' - - 'upload target/kernel/postinst.d/cp-kernel-and-overlays /etc/kernel/postinst.d/cp-kernel-and-overlays' - - 'chmod a+x $1/etc/kernel/postinst.d/cp-kernel-and-overlays' - essential-hooks: - # FIXME: Find a better workaround instead of sleep - - 'sleep 10' # workaround for /proc resource busy unable to umount issue - customize-hooks: - # Remove passwd for weston user - - 'chroot "$1" passwd --delete root' - # Fix apt install mandb permission issue - - 'chroot "$1" chown -R man: /var/cache/man/' - - 'chroot "$1" chmod -R 755 /var/cache/man/' - # update packages to avoid mandatory update after first boot - - 'chroot "$1" apt-get update' - # Setup .bashrc for clean command-line experience - - 'chroot "$1" cp /etc/skel/.bashrc ~/.bashrc' - # Weston Service and Config Files - - 'chroot "$1" mkdir -p /etc/systemd/system/' - - 'upload target/weston/weston.service /etc/systemd/system/weston.service' - - 'upload target/weston/weston.socket /etc/systemd/system/weston.socket' - - 'chroot "$1" mkdir -p /etc/default/' - - 'upload target/weston/weston /etc/default/weston' - - '$BDEBSTRAP_HOOKS/enable-units "$1" weston' diff --git a/configs/bdebstrap_configs/bookworm-default.yaml b/configs/bdebstrap_configs/bookworm-default.yaml deleted file mode 100644 index dcb626d..0000000 --- a/configs/bdebstrap_configs/bookworm-default.yaml +++ /dev/null @@ -1,94 +0,0 @@ ---- -mmdebstrap: - architectures: - - arm64 - mode: auto - keyrings: - - /usr/share/keyrings/ti-debpkgs.gpg - - /usr/share/keyrings/debian-archive-keyring.gpg - suite: bookworm - variant: standard - components: - - main - - contrib - - non-free-firmware - packages: - - build-essential - - gpg - - curl - - firmware-ti-connectivity - - init - - iproute2 - - less - - libdrm-dev - - libpam-systemd - - locales - - neofetch - - network-manager - - net-tools - - openssh-server - - sudo - - vim - - k3conf - - weston - - libd3dadapter9-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libd3dadapter9-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libegl-mesa0=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libegl1-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libegl1-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgbm-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgbm1=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgl1-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgl1-mesa-dri=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgl1-mesa-glx=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libglapi-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgles2-mesa-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libgles2-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libglx-mesa0=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libosmesa6-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libosmesa6=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libwayland-egl1-mesa=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-common-dev=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-opencl-icd=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-va-drivers=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-vdpau-drivers=22.3.5-1.git20230331.2-0~bookworm+20230420 - - mesa-vulkan-drivers=22.3.5-1.git20230331.2-0~bookworm+20230420 - - libpowervr-gl-am62x - - libti-rpmsg-char-dev - - libti-rpmsg-char - - linux-headers-6.1.26 - - linux-image-6.1.26 - - linux-libc-dev - - ti-img-rogue-driver - - wl18xx-ti-utils - mirrors: - - http://deb.debian.org/debian - setup-hooks: - # Setup TI Debian Package Repository - - 'mkdir -p $1/usr/share/keyrings' - - 'curl -s --compressed https://texasinstruments.github.io/ti-debpkgs/KEY.gpg | gpg --dearmor | tee $1/usr/share/keyrings/ti-debpkgs.gpg > /dev/null' - - 'echo "deb [signed-by=/usr/share/keyrings/ti-debpkgs.gpg] https://texasinstruments.github.io/ti-debpkgs/ ./" > $1/etc/apt/sources.list.d/ti-debpkgs.list' - - 'mkdir -p $1/etc/kernel/postinst.d/' - - 'echo "PWD = $PWD"' - - 'upload target/kernel/postinst.d/cp-kernel-and-overlays /etc/kernel/postinst.d/cp-kernel-and-overlays' - - 'chmod a+x $1/etc/kernel/postinst.d/cp-kernel-and-overlays' - essential-hooks: - # FIXME: Find a better workaround instead of sleep - - 'sleep 10' # workaround for /proc resource busy unable to umount issue - customize-hooks: - # Remove passwd for weston user - - 'chroot "$1" passwd --delete root' - # Fix apt install mandb permission issue - - 'chroot "$1" chown -R man: /var/cache/man/' - - 'chroot "$1" chmod -R 755 /var/cache/man/' - # update packages to avoid mandatory update after first boot - - 'chroot "$1" apt-get update' - # Setup .bashrc for clean command-line experience - - 'chroot "$1" cp /etc/skel/.bashrc ~/.bashrc' - # Weston Service and Config Files - - 'chroot "$1" mkdir -p /etc/systemd/system/' - - 'upload target/weston/weston.service /etc/systemd/system/weston.service' - - 'upload target/weston/weston.socket /etc/systemd/system/weston.socket' - - 'chroot "$1" mkdir -p /etc/default/' - - 'upload target/weston/weston /etc/default/weston' - - '$BDEBSTRAP_HOOKS/enable-units "$1" weston' diff --git a/configs/bsp_sources.toml b/configs/bsp_sources.toml index 5c8c5a1..e572f11 100644 --- a/configs/bsp_sources.toml +++ b/configs/bsp_sources.toml @@ -1,22 +1,6 @@ -[09.00.00.006] - kernel_major_version = 6 - uboot_method = "k3ig" - atf_srcrev = "2fcd408bb3a6756767a43c073c597cef06e7f2d5" - optee_srcrev = "8e74d47616a20eaa23ca692f4bbbf917a236ed94" - uboot_srcrev = "09.00.00.006" - k3ig_srcrev = "09.00.00.006" - linux_fw_srcrev = "09.00.00.006" - linux_kernel_srcrev = "09.00.00.006" - img_rogue_driver_srcrev = "linuxws/kirkstone/k6.1/23.1.6404501" - -[08.06.00.007] - kernel_major_version = 5 - uboot_method = "k3ig" - atf_srcrev = "2fcd408bb3a6756767a43c073c597cef06e7f2d5" - optee_srcrev = "8e74d47616a20eaa23ca692f4bbbf917a236ed94" - uboot_srcrev = "08.06.00.007" - k3ig_srcrev = "08.06.00.007" - linux_fw_srcrev = "08.06.00.007" - linux_kernel_srcrev = "08.06.00.007" - img_rogue_driver_srcrev = "linuxws/dunfell/k5.10/1.15.6133109_unified_fw_pagesize" +[09.01.00.008] + atf_srcrev = "d7a7135d32a8c7da004c0c19b75bd4e2813f9759" + optee_srcrev = "2a5b1d1232f582056184367fb58a425ac7478ec6" + uboot_srcrev = "09.01.00.008" + linux_fw_srcrev = "09.01.00.008" diff --git a/configs/machines.toml b/configs/machines.toml index e87b0ce..b11c1a8 100644 --- a/configs/machines.toml +++ b/configs/machines.toml @@ -1,11 +1,26 @@ # This file describes various machine specific settings needed for the build +[am62pxx-evm] + # device config + hostname = "am62pxx-evm" + # u-boot config + atf_target_board = "lite" + atf_make_args="TFA_K3_SYSTEM_SUSPEND=1" + optee_platform = "k3-am62x" + optee_make_args = "CFG_WITH_SOFTWARE_PRNG=y" + sysfw_soc = "am62px" + dmfw_machine = "am62pxx" + uboot_r5_defconfig = "am62px_evm_r5_defconfig" + uboot_a53_defconfig = "am62px_evm_a53_defconfig" + [am62xx-evm] # device config - hostname = "am62xx" + hostname = "am62xx-evm" # u-boot config atf_target_board = "lite" + atf_make_args="TFA_K3_SYSTEM_SUSPEND=1" optee_platform = "k3-am62x" + optee_make_args = "." sysfw_soc = "am62x" dmfw_machine = "am62xx" uboot_r5_defconfig = "am62x_evm_r5_defconfig" @@ -13,21 +28,38 @@ [am62xx-lp-evm] # device config - hostname = "am62xx-lp" + hostname = "am62xx-lp-evm" # u-boot config atf_target_board = "lite" + atf_make_args="TFA_K3_SYSTEM_SUSPEND=1" optee_platform = "k3-am62x" + optee_make_args = "." sysfw_soc = "am62x" dmfw_machine = "am62xx" uboot_r5_defconfig = "am62x_lpsk_r5_defconfig" uboot_a53_defconfig = "am62x_lpsk_a53_defconfig" +[am62xxsip-evm] + # device config + hostname = "am62xxsip-evm" + # u-boot config + atf_target_board = "lite" + atf_make_args="TFA_K3_SYSTEM_SUSPEND=1" + optee_platform = "k3-am62x" + optee_make_args = "." + sysfw_soc = "am62x" + dmfw_machine = "am62xx" + uboot_r5_defconfig = "am62x_evm_r5_defconfig am62xsip_sk_r5.config" + uboot_a53_defconfig = "am62x_evm_a53_defconfig" + [am64xx-evm] # device config - hostname = "am64xx" + hostname = "am64xx-evm" # u-boot config atf_target_board = "lite" + atf_make_args="TFA_K3_SYSTEM_SUSPEND=1" optee_platform = "k3-am64x" + optee_make_args = "." sysfw_soc = "am64x" dmfw_machine = "am64xx" uboot_r5_defconfig = "am64x_evm_r5_defconfig" diff --git a/scripts/build_bsp.sh b/scripts/build_bsp.sh index e0bf098..7986d98 100755 --- a/scripts/build_bsp.sh +++ b/scripts/build_bsp.sh @@ -105,11 +105,10 @@ machine=$1 cd $TFA_DIR target_board=($(read_machine_config ${machine} atf_target_board)) + make_args=($(read_machine_config ${machine} atf_make_args)) log "> ATF: building .." - make -j`nproc` ARCH=aarch64 CROSS_COMPILE=aarch64-none-linux-gnu- PLAT=k3 TARGET_BOARD=${target_board} SPD=opteed &>>"${LOG_FILE}" - - log "> ATF: signing .." + make -j`nproc` ARCH=aarch64 CROSS_COMPILE=${cross_compile} PLAT=k3 TARGET_BOARD=${target_board} SPD=opteed ${make_args} &>>"${LOG_FILE}" } function build_optee() { @@ -117,11 +116,14 @@ machine=$1 cd ${OPTEE_DIR} platform=($(read_machine_config ${machine} optee_platform)) + make_args=($(read_machine_config ${machine} optee_make_args)) + # Workaround for toml not supporting empty values + if [ ${make_args} == "." ]; then + make_args="" + fi log "> optee: building .." - make -j`nproc` CROSS_COMPILE64=aarch64-none-linux-gnu- CROSS_COMPILE=arm-none-linux-gnueabihf- PLATFORM=${platform} CFG_ARM64_core=y &>>"${LOG_FILE}" - - log "> optee: signing .." + make -j`nproc` CROSS_COMPILE64=${cross_compile} CROSS_COMPILE=arm-none-linux-gnueabihf- PLATFORM=${platform} CFG_ARM64_core=y ${make_args} &>>"${LOG_FILE}" } function build_uboot() { @@ -131,8 +133,6 @@ machine=$1 uboot_a53_defconfig=($(read_machine_config ${machine} uboot_a53_defconfig)) sysfw_soc=($(read_machine_config ${machine} sysfw_soc)) - log "> dmfw: signing .." - cd ${UBOOT_DIR} log "> uboot-r5: building .." make -j`nproc` ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- ${uboot_r5_defconfig} O=${UBOOT_DIR}/out/r5 &>>"${LOG_FILE}" @@ -141,8 +141,8 @@ machine=$1 cd ${UBOOT_DIR} log "> uboot-a53: building .." - make -j`nproc` ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- ${uboot_a53_defconfig} O=${UBOOT_DIR}/out/a53 &>>"${LOG_FILE}" - make -j`nproc` ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- BL31=${TFA_DIR}/build/k3/lite/release/bl31.bin TEE=${OPTEE_DIR}/out/arm-plat-k3/core/tee-pager_v2.bin O=${UBOOT_DIR}/out/a53 BINMAN_INDIRS=${topdir}/build/${build}/bsp_sources/ti-linux-firmware &>>"${LOG_FILE}" + make -j`nproc` ARCH=arm CROSS_COMPILE=${cross_compile} ${uboot_a53_defconfig} O=${UBOOT_DIR}/out/a53 &>>"${LOG_FILE}" + make -j`nproc` ARCH=arm CROSS_COMPILE=${cross_compile} BL31=${TFA_DIR}/build/k3/lite/release/bl31.bin TEE=${OPTEE_DIR}/out/arm-plat-k3/core/tee-pager_v2.bin O=${UBOOT_DIR}/out/a53 BINMAN_INDIRS=${topdir}/build/${build}/bsp_sources/ti-linux-firmware &>>"${LOG_FILE}" cp ${UBOOT_DIR}/out/a53/tispl.bin ${topdir}/build/${build}/tisdk-${distro}-${machine}-boot/ &>> ${LOG_FILE} cp ${UBOOT_DIR}/out/a53/u-boot.img ${topdir}/build/${build}/tisdk-${distro}-${machine}-boot/ &>> ${LOG_FILE} } diff --git a/scripts/setup.sh b/scripts/setup.sh index b85d58e..34ef243 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -21,42 +21,46 @@ function setup_log_file() { function setup_build_tools() { setup_log_file "setup" - log "> Arm Toolchain: checking .." - if [ ! -d "${topdir}/tools/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin" ]; then - mkdir -p ${topdir}/tools/ - cd ${topdir}/tools/ - - log "> Arm Toolchain: not found. Downloading .." - wget https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz &>>/dev/null - if [ $? -eq 0 ]; then - log "> Arm Toolchain: downloaded .." - tar -Jxf arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz &>>"${LOG_FILE}" - rm arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz + if [ "${host_arch}" != "arm" ]; then + log "> Arm Toolchain: checking .." + if [ ! -d "${topdir}/tools/arm-gnu-toolchain-13.2.Rel1-${host_arch}-arm-none-linux-gnueabihf/bin" ]; then + mkdir -p ${topdir}/tools/ + cd ${topdir}/tools/ + + log "> Arm Toolchain: not found. Downloading .." + wget https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-${host_arch}-arm-none-linux-gnueabihf.tar.xz &>>/dev/null + if [ $? -eq 0 ]; then + log "> Arm Toolchain: downloaded .." + tar -Jxf arm-gnu-toolchain-13.2.rel1-${host_arch}-arm-none-linux-gnueabihf.tar.xz &>>"${LOG_FILE}" + rm arm-gnu-toolchain-13.2.rel1-${host_arch}-arm-none-linux-gnueabihf.tar.xz + else + log "> Arm Toolchain: Failed to download. Exit code: $?" + fi else - log "> Arm Toolchain: Failed to download. Exit code: $?" + log "> Arm Toolchain: available" fi - else - log "> Arm Toolchain: available" + export PATH=${topdir}/tools/arm-gnu-toolchain-13.2.Rel1-${host_arch}-arm-none-linux-gnueabihf/bin:$PATH fi - export PATH=${topdir}/tools/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin:$PATH - - log "> Aarch64 Toolchain: checking .." - if [ ! -d "${topdir}/tools/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin" ]; then - mkdir -p ${topdir}/tools/ - cd ${topdir}/tools/ - - log "> Aarch64 Toolchain: not found. downloading .." - wget https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz &>>/dev/null - if [ $? -eq 0 ]; then - log "> Aarch64 Toolchain: downloaded .." - tar -Jxf arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz &>>"${LOG_FILE}" - rm arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz + + if [ "${host_arch}" != "aarch64" ]; then + log "> Aarch64 Toolchain: checking .." + if [ ! -d "${topdir}/tools/arm-gnu-toolchain-13.2.Rel1-${host_arch}-aarch64-none-linux-gnu/bin" ]; then + mkdir -p ${topdir}/tools/ + cd ${topdir}/tools/ + + log "> Aarch64 Toolchain: not found. downloading .." + wget https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-${host_arch}-aarch64-none-linux-gnu.tar.xz &>>/dev/null + if [ $? -eq 0 ]; then + log "> Aarch64 Toolchain: downloaded .." + tar -Jxf arm-gnu-toolchain-13.2.rel1-${host_arch}-aarch64-none-linux-gnu.tar.xz &>>"${LOG_FILE}" + rm arm-gnu-toolchain-13.2.rel1-${host_arch}-aarch64-none-linux-gnu.tar.xz + else + log "> Aarch Toolchain: Failed to download. Exit code: $?" + fi else - log "> Aarch Toolchain: Failed to download. Exit code: $?" + log "> Aarch64 Toolchain: available" fi - else - log "> Aarch64 Toolchain: available" + export PATH=${topdir}/tools/arm-gnu-toolchain-13.2.Rel1-${host_arch}-aarch64-none-linux-gnu/bin:$PATH fi - export PATH=${topdir}/tools/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin:$PATH }