armbian-next: sources and sources/family armbian-next changes - MEGASQUASH - squashed changes from c9cf3fc241cfb4c872f4aef7bbc41d5854db7ea3 to 6809de3d6063cb041205a8318e19da6a4dee68c9 ref extensions_08_10_2022_pre_v30

This commit is contained in:
Ricardo Pardini
2022-10-08 13:25:04 +02:00
parent babc8d52fe
commit 66c81e96db
32 changed files with 323 additions and 377 deletions

View File

@@ -1,20 +1,21 @@
#!/bin/bash
# include common config options
source "${BASH_SOURCE%/*}/common.conf"
export ARCH='amd64' # Debian name $(dpkg-architecture -qDEB_HOST_ARCH)
export ARCHITECTURE='x86_64' # "kernel" arch
export QEMU_BINARY='qemu-x86_64-static' # Hopefully you have this installed.
export MAIN_CMDLINE='' # we set it in common, it was not set before
export ARCH=amd64 # Debian name $(dpkg-architecture -qDEB_HOST_ARCH)
export ARCHITECTURE=x86_64 # "kernel" arch
export QEMU_BINARY="qemu-x86_64-static" # Installed via 'qemu-user-static'.
export KERNEL_COMPILER=' ' # hack: use single space for host gcc. won't work on arm64 hosts
export KERNEL_USE_GCC=' ' # more hacks.
export KERNEL_IMAGE_TYPE='bzImage' # Ubuntu Standard
export KERNEL_EXTRA_TARGETS='modules' # default is "modules dtb" but x86_64 has no DTB
export UBOOT_USE_GCC='none' # required by configuration.sh
export KERNEL_IMAGE_TYPE="bzImage" # Passed to kernel's `make`
export KERNEL_BUILD_DTBS="no" # amd64 has no DTBs. that I know of.
#export INITRD_ARCH=amd64 # Used by u-boot for mkimage in initramfs. No u-boot for x86 yet.
export UBOOT_USE_GCC="none" # required by configuration.sh
# Default to mainline
[[ -z $KERNELSOURCE ]] && KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
if [[ "$(uname -m)" == "aarch64" ]]; then
# Explicitly disallow "reverse cross-compile". Go ask @the-Going why ;-)
display_error "Unsupported cross-compile" "aarch64 -> x86_64" "err"
exit 39
# Allow building amd64 on aarch64, but using system toolchain only
export KERNEL_COMPILER="x86_64-linux-gnu-"
export SKIP_EXTERNAL_TOOLCHAINS=yes
fi
true # don't fail due to conditional above.

View File

@@ -1,19 +1,24 @@
#!/bin/bash
#
# Copyright (c) 2013-2021 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of the Armbian build script
# https://github.com/armbian/build/
# include common config options
source "${BASH_SOURCE%/*}/common.conf"
export ARCH='arm64'
export ARCHITECTURE='arm64'
export QEMU_BINARY='qemu-aarch64-static'
export NAME_KERNEL='Image'
export NAME_INITRD='uInitrd'
export KERNEL_IMAGE_TYPE='Image'
[[ -z $KERNEL_COMPILER ]] && KERNEL_COMPILER="aarch64-linux-gnu-"
NAME_KERNEL="Image"
NAME_INITRD="uInitrd"
MAIN_CMDLINE="rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 bootsplash.bootfile=bootsplash.armbian"
[[ -z $INITRD_ARCH ]] && INITRD_ARCH=arm64
[[ -z $UBOOT_USE_GCC ]] && UBOOT_USE_GCC='> 8.0'
QEMU_BINARY="qemu-aarch64-static"
ARCHITECTURE=arm64
ARCH=arm64
KERNEL_IMAGE_TYPE=Image
CAN_BUILD_STRETCH=yes
FAST_CREATE_IMAGE="yes"
if [ "$(uname -m)" = "aarch64" ]; then
[[ $ATF_COMPILE != "no" && -z $ATF_COMPILER ]] && ATF_COMPILER="aarch64-linux-gnu-"
@@ -34,19 +39,17 @@ fi
[[ $ATF_COMPILE != "no" && -z $ATFBRANCH ]] && ATFBRANCH='commit:af220ebbe467aa580e6b9ba554676f78ffec930f'
[[ $ATF_COMPILE != "no" && -z $ATF_USE_GCC ]] && ATF_USE_GCC='> 8.0'
if [ "$(uname -m)" = "aarch64" ]; then
case "$(lsb_release -sc)" in
"bullseye" | "bookworm" | "focal" | "hirsute" | "impish" | "jammy" | "lunar")
PKG_PREFIX="qemu-x86_64-static -L /usr/x86_64-linux-gnu "
;;
*)
PKG_PREFIX="qemu-x86_64 -L /usr/x86_64-linux-gnu "
;;
esac
else
PKG_PREFIX=""
fi
[[ -z $UBOOT_USE_GCC ]] && UBOOT_USE_GCC='> 8.0'
[[ -z $BOOTSOURCE ]] && BOOTSOURCE=$MAINLINE_UBOOT_SOURCE
[[ -z $BOOTDIR ]] && BOOTDIR=$MAINLINE_UBOOT_DIR
[[ -z $BOOTBRANCH ]] && BOOTBRANCH='tag:v2022.07'
# System toolchains don't have the -none- variant, remove it
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && UBOOT_COMPILER="${UBOOT_COMPILER//-none-/-}"
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && ATF_COMPILER="${ATF_COMPILER//-none-/-}"
[[ -z $KERNELDIR ]] && KERNELDIR=$MAINLINE_KERNEL_DIR
[[ -z $KERNELSOURCE ]] && KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
[[ -z $KERNELBRANCH ]] && KERNELBRANCH='branch:linux-5.4.y'
## System toolchains don't have the -none- variant, remove it
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && [[ "${UBOOT_COMPILER}" = *none* ]] && UBOOT_COMPILER="${UBOOT_COMPILER//-none-/-}"
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && [[ "${ATF_COMPILER}" = *none* ]] && ATF_COMPILER="${ATF_COMPILER//-none-/-}"
true # don't fail due to conditional above.

View File

@@ -1,29 +1,50 @@
#!/bin/bash
#
# Copyright (c) 2013-2021 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of the Armbian build script
# https://github.com/armbian/build/
# include common config options
source "${BASH_SOURCE%/*}/common.conf"
export ARCH='armhf'
export ARCHITECTURE='arm'
export QEMU_BINARY='qemu-arm-static'
export NAME_KERNEL='zImage'
export NAME_INITRD='uInitrd'
export INITRD_ARCH='arm'
export KERNEL_IMAGE_TYPE='Image'
[[ -z $KERNEL_COMPILER ]] && KERNEL_COMPILER='arm-linux-gnueabihf-'
[[ -z $UBOOT_USE_GCC ]] && UBOOT_USE_GCC='> 8.0'
NAME_KERNEL="zImage"
NAME_INITRD="uInitrd"
MAIN_CMDLINE="rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 bootsplash.bootfile=bootsplash.armbian"
INITRD_ARCH=arm
QEMU_BINARY="qemu-arm-static"
ARCHITECTURE=arm
ARCH=armhf
KERNEL_IMAGE_TYPE=Image
CAN_BUILD_STRETCH=yes
FAST_CREATE_IMAGE="yes"
if [ "$(uname -m)" = "aarch64" ]; then
[[ -z $UBOOT_COMPILER ]] && UBOOT_COMPILER='arm-linux-gnueabihf-'
[[ -z $UBOOT_COMPILER ]] && UBOOT_COMPILER="arm-linux-gnueabihf-"
else
[[ -z $UBOOT_COMPILER ]] && UBOOT_COMPILER="arm-none-linux-gnueabihf-"
fi
[[ -z $UBOOT_USE_GCC ]] && UBOOT_USE_GCC='> 8.0'
[[ -z $BOOTSOURCE ]] && BOOTSOURCE=$MAINLINE_UBOOT_SOURCE
[[ -z $BOOTDIR ]] && BOOTDIR=$MAINLINE_UBOOT_DIR
[[ -z $BOOTBRANCH ]] && BOOTBRANCH='tag:v2022.07'
if [ "$(uname -m)" = "aarch64" ]; then
[[ -z $KERNEL_COMPILER ]] && KERNEL_COMPILER="arm-linux-gnueabihf-"
[[ -z $KERNEL_USE_GCC ]] && KERNEL_USE_GCC='> 8.0'
else
# > 9.2 https://armbian.atlassian.net/browse/AR-557
#[[ -z $KERNEL_COMPILER ]] && KERNEL_COMPILER="arm-none-linux-gnueabihf-"
[[ -z $UBOOT_COMPILER ]] && UBOOT_COMPILER='arm-none-linux-gnueabihf-'
[[ -z $KERNEL_COMPILER ]] && KERNEL_COMPILER="arm-linux-gnueabihf-"
[[ -z $KERNEL_USE_GCC ]] && KERNEL_USE_GCC='< 9.2'
fi
[[ -z $KERNELDIR ]] && KERNELDIR=$MAINLINE_KERNEL_DIR
[[ -z $KERNELSOURCE ]] && KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
[[ -z $KERNELBRANCH ]] && KERNELBRANCH='branch:linux-5.4.y'
# System toolchains don't have the -none- variant, remove it
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && UBOOT_COMPILER="${UBOOT_COMPILER//-none-/-}"
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && ATF_COMPILER="${ATF_COMPILER//-none-/-}"
## System toolchains don't have the -none- variant, remove it
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && [[ "${UBOOT_COMPILER}" = *none* ]] && UBOOT_COMPILER="${UBOOT_COMPILER//-none-/-}"
[[ "${SKIP_EXTERNAL_TOOLCHAINS}" == "yes" ]] && [[ "${ATF_COMPILER}" = *none* ]] && ATF_COMPILER="${ATF_COMPILER//-none-/-}"
true # don't fail due to conditional above.

View File

@@ -3,7 +3,6 @@ export LINUXFAMILY=bcm2711
export ARCH=arm64
export UEFI_FS_LABEL="RPICFG" # Windows/Mac users will see this if they mount the SD card. Configurable, but should be uppercase always
export SKIP_BOOTSPLASH="yes" # video is init-ed before us
export KERNELDIR='linux-rpi' # Avoid sharing a source tree with others, until we know it's safe.
export FK__PUBLISHED_KERNEL_VERSION="raspi" # flash kernel (FK) configuration
export FK__KERNEL_PACKAGES=""
export CPUMIN=500000
@@ -12,20 +11,23 @@ export GOVERNOR=ondemand
case "${BRANCH}" in
legacy)
ddk)
export RASPI_DISTRO_KERNEL=yes # This will cause board to include distro's prebuilt kernel, not from source
;;
current)
export RASPI_DISTRO_KERNEL=no
export KERNELSOURCE='https://github.com/raspberrypi/linux'
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel. For mainline caching.
export KERNELBRANCH="branch:rpi-5.15.y"
export KERNELPATCHDIR="${LINUXFAMILY}-${BRANCH}"
export LINUXCONFIG="linux-${LINUXFAMILY}-${BRANCH}"
;;
edge)
export RASPI_DISTRO_KERNEL=no
export KERNELSOURCE='https://github.com/raspberrypi/linux'
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. For mainline caching.
export KERNELBRANCH="branch:rpi-6.1.y"
export KERNELPATCHDIR="${LINUXFAMILY}-${BRANCH}"
export LINUXCONFIG="linux-${LINUXFAMILY}-${BRANCH}"
@@ -40,27 +42,12 @@ pre_initramfs_flash_kernel__write_raspi_cmdline() {
pre_flash_kernel__symlink_dtb_and_kernel() {
if [[ "${RASPI_DISTRO_KERNEL}" != "yes" ]]; then # and firmware.
display_alert "Preparing DTBs and Kernel..." "bcm2711" "info"
mkdir -p "${MOUNT}"/etc/flash-kernel/dtbs
display_alert "Configuring flash-kernel DB..." "bcm2711" "info"
cat <<- EOD >> "${MOUNT}"/etc/flash-kernel/db
# Armbian kernels don't have a 'flavour'. Ignore flavors for all rpi revisions.
Machine: Raspberry Pi *
Kernel-Flavors: any
EOD
## @TODO: rpardini: a horrible hack. I'll sort this out together with overlays, later.
local oneDTB dtbBase
for oneDTB in "${MOUNT}"/boot/dtb/broadcom/*.dtb; do
dtbBase=$(basename "${oneDTB}")
cp "${MOUNT}"/boot/dtb/broadcom/"${dtbBase}" "${MOUNT}"/etc/flash-kernel/dtbs/"${dtbBase}"
done
rm -rf "${MOUNT}"/boot/dtb* || true
# @TODO: rpardini: packaging could maybe already use the correct names? I can't figure out how.
ln -s ./Image "${MOUNT}"/boot/vmlinuz
ln -s ./Image "${MOUNT}"/boot/vmlinuz-
fi
}
@@ -71,7 +58,7 @@ extension_prepare_config__prepare_rpi_flash_kernel() {
local usable_releases="jammy|kinetic|lunar"
if [[ "$RELEASE" =~ ^(${usable_releases})$ ]]; then
export FK__EXTRA_PACKAGES="rpi-eeprom linux-firmware linux-firmware-raspi libraspberrypi-bin cloud-initramfs-growroot"
export FK__EXTRA_PACKAGES="rpi-eeprom linux-firmware linux-firmware-raspi pi-bluetooth libraspberrypi-bin cloud-initramfs-growroot"
if [[ "$RELEASE" =~ ^(jammy|kinetic)$ ]]; then # Add raspi-config for those releases that have it; it might be useful.
export FK__EXTRA_PACKAGES="${FK__EXTRA_PACKAGES} raspi-config"

View File

@@ -10,12 +10,14 @@ case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-5.15.y'
;;
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
;;

View File

@@ -11,13 +11,15 @@ case $BRANCH in
legacy)
KERNELSOURCE='https://source.codeaurora.org/external/imx/linux-imx'
export KERNEL_MAJOR_MINOR="4.14" # Major and minor versions of this kernel.
KERNELBRANCH='branch:imx_4.14.98_2.0.0_ga'
KERNELDIR='linux-imx7'
BOOTBRANCH='branch:imx_v2018.03_4.14.98_2.0.0_ga'
BOOTPATCHDIR="legacy"
;;
current | default)
current)
KERNELSOURCE='https://source.codeaurora.org/external/imx/linux-imx'
export KERNEL_MAJOR_MINOR="5.4" # Major and minor versions of this kernel.
KERNELBRANCH='branch:imx_5.4.70_2.3.0'
KERNELDIR='linux-imx7-current'
BOOTBRANCH='branch:imx_v2020.04_5.4.70_2.3.0'

View File

@@ -24,59 +24,51 @@ GOVERNOR=${GOVERNOR:-ondemand}
case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. For mainline caching.
KERNELBRANCH='branch:linux-6.1.y'
KERNELPATCHDIR='meson64-current'
;;
edge)
export KERNEL_MAJOR_MINOR="6.2" # Major and minor versions of this kernel. For mainline caching.
KERNELBRANCH='tag:v6.2-rc3' # @TODO: soon-to-be 'branch:linux-6.2.y' when it is released
KERNELPATCHDIR='meson64-edge'
;;
esac
#if [ "$(uname -m)" = "aarch64" ]; then
# if [[ "$(lsb_release -sc)" == "bullseye" || "$(lsb_release -sc)" == "focal" || "$(lsb_release -sc)" == "hirsute" || "$(lsb_release -sc)" == "impish" || "$(lsb_release -sc)" == "jammy" ]]; then
# PKG_PREFIX="qemu-x86_64-static -L /usr/x86_64-linux-gnu "
# else
# PKG_PREFIX="qemu-x86_64 "
# fi
#else
# PKG_PREFIX=""
#fi
# this helper function includes postprocess for p212 and its variants.
# $1 PATH for uboot blob repo
# $2 dir name in uboot blob repo
uboot_gxl_postprocess() {
mv u-boot.bin bl33.bin
run_host_command_logged mv -v u-boot.bin bl33.bin
$1/blx_fix.sh $1/$2/bl30.bin \
run_host_command_logged $1/blx_fix.sh $1/$2/bl30.bin \
$1/$2/zero_tmp \
$1/$2/bl30_zero.bin \
$1/$2/bl301.bin \
$1/$2/bl301_zero.bin \
$1/$2/bl30_new.bin bl30
python $1/acs_tool.pyc $1/$2/bl2.bin \
run_host_command_logged python $1/acs_tool.pyc $1/$2/bl2.bin \
$1/$2/bl2_acs.bin \
$1/$2/acs.bin 0
$1/blx_fix.sh $1/$2/bl2_acs.bin \
run_host_command_logged $1/blx_fix.sh $1/$2/bl2_acs.bin \
$1/$2/zero_tmp \
$1/$2/bl2_zero.bin \
$1/$2/bl21.bin \
$1/$2/bl21_zero.bin \
$1/$2/bl2_new.bin bl2
$PKG_PREFIX$1/$2/aml_encrypt_gxl --bl3enc --input $1/$2/bl30_new.bin
$PKG_PREFIX$1/$2/aml_encrypt_gxl --bl3enc --input $1/$2/bl31.img
$PKG_PREFIX$1/$2/aml_encrypt_gxl --bl3enc --input bl33.bin
run_host_x86_binary_logged $1/$2/aml_encrypt_gxl --bl3enc --input $1/$2/bl30_new.bin
run_host_x86_binary_logged $1/$2/aml_encrypt_gxl --bl3enc --input $1/$2/bl31.img
run_host_x86_binary_logged $1/$2/aml_encrypt_gxl --bl3enc --input bl33.bin
$PKG_PREFIX$1/$2/aml_encrypt_gxl --bl2sig --input $1/$2/bl2_new.bin \
run_host_x86_binary_logged $1/$2/aml_encrypt_gxl --bl2sig --input $1/$2/bl2_new.bin \
--output bl2.n.bin.sig
$PKG_PREFIX$1/$2/aml_encrypt_gxl --bootmk \
run_host_x86_binary_logged $1/$2/aml_encrypt_gxl --bootmk \
--output u-boot.bin \
--bl2 bl2.n.bin.sig \
--bl30 $1/$2/bl30_new.bin.enc \
@@ -88,42 +80,42 @@ uboot_gxl_postprocess() {
# $1 PATH for uboot blob repo
# $2 dir name in uboot blob repo
uboot_axg_postprocess_ng() {
mv u-boot.bin bl33.bin
run_host_command_logged mv -v u-boot.bin bl33.bin
$1/blx_fix.sh $1/$2/bl30.bin \
run_host_command_logged $1/blx_fix.sh $1/$2/bl30.bin \
$1/$2/zero_tmp \
$1/$2/bl30_zero.bin \
$1/$2/bl301.bin \
$1/$2/bl301_zero.bin \
$1/$2/bl30_new.bin bl30
python3 $1/acs_tool.py $1/$2/bl2.bin \
run_host_command_logged python3 $1/acs_tool.py $1/$2/bl2.bin \
$1/$2/bl2_acs.bin \
$1/$2/acs.bin 0
$1/blx_fix.sh $1/$2/bl2_acs.bin \
run_host_command_logged $1/blx_fix.sh $1/$2/bl2_acs.bin \
$1/$2/zero_tmp \
$1/$2/bl2_zero.bin \
$1/$2/bl21.bin \
$1/$2/bl21_zero.bin \
$1/$2/bl2_new.bin bl2
$PKG_PREFIX$1/$2/aml_encrypt_axg --bl3sig --input $1/$2/bl30_new.bin \
run_host_x86_binary_logged $1/$2/aml_encrypt_axg --bl3sig --input $1/$2/bl30_new.bin \
--output bl30_new.bin.enc \
--level v3 --type bl30
$PKG_PREFIX$1/$2/aml_encrypt_axg --bl3sig --input $1/$2/bl31.img \
run_host_x86_binary_logged $1/$2/aml_encrypt_axg --bl3sig --input $1/$2/bl31.img \
--output bl31.img.enc \
--level v3 --type bl31
$PKG_PREFIX$1/$2/aml_encrypt_axg --bl3sig --input bl33.bin --compress lz4 \
run_host_x86_binary_logged $1/$2/aml_encrypt_axg --bl3sig --input bl33.bin --compress lz4 \
--output bl33.bin.enc \
--level v3 --type bl33
$PKG_PREFIX$1/$2/aml_encrypt_axg --bl2sig --input $1/$2/bl2_new.bin \
run_host_x86_binary_logged $1/$2/aml_encrypt_axg --bl2sig --input $1/$2/bl2_new.bin \
--output bl2.n.bin.sig
$PKG_PREFIX$1/$2/aml_encrypt_axg --bootmk \
run_host_x86_binary_logged $1/$2/aml_encrypt_axg --bootmk \
--output u-boot.bin \
--bl2 bl2.n.bin.sig \
--bl30 bl30_new.bin.enc \
@@ -135,44 +127,44 @@ uboot_axg_postprocess_ng() {
# $1 PATH for uboot blob repo
# $2 family g12a or g12b
uboot_g12_postprocess() {
mv u-boot.bin bl33.bin
run_host_command_logged mv -v u-boot.bin bl33.bin
$1/blx_fix.sh $1/bl30.bin \
run_host_command_logged $1/blx_fix.sh $1/bl30.bin \
zero_tmp \
bl30_zero.bin \
$1/bl301.bin \
bl301_zero.bin \
bl30_new.bin bl30
$1/blx_fix.sh $1/bl2.bin \
run_host_command_logged $1/blx_fix.sh $1/bl2.bin \
zero_tmp \
bl2_zero.bin \
$1/acs.bin \
bl21_zero.bin \
bl2_new.bin bl2
$PKG_PREFIX$1/aml_encrypt_$2 --bl30sig \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bl30sig \
--input bl30_new.bin \
--output bl30_new.bin.g12.enc \
--level v3
$PKG_PREFIX$1/aml_encrypt_$2 --bl3sig \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bl3sig \
--input bl30_new.bin.g12.enc \
--output bl30_new.bin.enc \
--level v3 --type bl30
$PKG_PREFIX$1/aml_encrypt_$2 --bl3sig \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bl3sig \
--input $1/bl31.img \
--output bl31.img.enc \
--level v3 --type bl31
$PKG_PREFIX$1/aml_encrypt_$2 --bl3sig \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bl3sig \
--input bl33.bin \
--compress lz4 \
--output bl33.bin.enc \
--level v3 --type bl33
$PKG_PREFIX$1/aml_encrypt_$2 --bl2sig \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bl2sig \
--input bl2_new.bin \
--output bl2.n.bin.sig
if [ -e $1/lpddr3_1d.fw ]; then
$PKG_PREFIX$1/aml_encrypt_$2 --bootmk --output u-boot.bin \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bootmk --output u-boot.bin \
--bl2 bl2.n.bin.sig \
--bl30 bl30_new.bin.enc \
--bl31 bl31.img.enc \
@@ -188,7 +180,7 @@ uboot_g12_postprocess() {
--ddrfw9 $1/lpddr3_1d.fw \
--level v3
else
$PKG_PREFIX$1/aml_encrypt_$2 --bootmk --output u-boot.bin \
run_host_x86_binary_logged $1/aml_encrypt_$2 --bootmk --output u-boot.bin \
--bl2 bl2.n.bin.sig \
--bl30 bl30_new.bin.enc \
--bl31 bl31.img.enc \
@@ -209,31 +201,31 @@ uboot_g12_postprocess() {
# this helper function includes postprocess for meson gxl and gxm.
# $1 PATH for uboot blob repo
uboot_gxl_postprocess_ng() {
mv u-boot.bin bl33.bin
run_host_command_logged mv -v u-boot.bin bl33.bin
$1/blx_fix.sh $1/bl30.bin \
run_host_command_logged $1/blx_fix.sh $1/bl30.bin \
$1/zero_tmp \
$1/bl30_zero.bin \
$1/bl301.bin \
$1/bl301_zero.bin \
$1/bl30_new.bin bl30
python3 $1/acs_tool.py $1/bl2.bin $1/bl2_acs.bin $1/acs.bin 0
run_host_command_logged python3 $1/acs_tool.py $1/bl2.bin $1/bl2_acs.bin $1/acs.bin 0
$1/blx_fix.sh $1/bl2_acs.bin \
run_host_command_logged $1/blx_fix.sh $1/bl2_acs.bin \
$1/zero_tmp \
$1/bl2_zero.bin \
$1/bl21.bin \
$1/bl21_zero.bin \
$1/bl2_new.bin bl2
$1/aml_encrypt_gxl --bl3enc --input $1/bl30_new.bin
$1/aml_encrypt_gxl --bl3enc --input $1/bl31.img
$1/aml_encrypt_gxl --bl3enc --input bl33.bin
$1/aml_encrypt_gxl --bl2sig --input $1/bl2_new.bin \
run_host_command_logged $1/aml_encrypt_gxl --bl3enc --input $1/bl30_new.bin
run_host_command_logged $1/aml_encrypt_gxl --bl3enc --input $1/bl31.img
run_host_command_logged $1/aml_encrypt_gxl --bl3enc --input bl33.bin
run_host_command_logged $1/aml_encrypt_gxl --bl2sig --input $1/bl2_new.bin \
--output bl2.n.bin.sig
$1/aml_encrypt_gxl --bootmk --output u-boot.bin \
run_host_command_logged $1/aml_encrypt_gxl --bootmk --output u-boot.bin \
--bl2 bl2.n.bin.sig \
--bl30 $1/bl30_new.bin.enc \
--bl31 $1/bl31.img.enc \
@@ -241,8 +233,8 @@ uboot_gxl_postprocess_ng() {
}
write_uboot_platform() {
dd if=$1/u-boot.bin of=$2 bs=1 count=442 conv=fsync > /dev/null 2>&1
dd if=$1/u-boot.bin of=$2 bs=512 skip=1 seek=1 conv=fsync > /dev/null 2>&1
dd if=$1/u-boot.bin of=$2 bs=1 count=442 conv=fsync 2>&1
dd if=$1/u-boot.bin of=$2 bs=512 skip=1 seek=1 conv=fsync 2>&1
}
family_tweaks_bsp() {
@@ -251,7 +243,7 @@ family_tweaks_bsp() {
mkdir -p "$destination"/etc/X11/xorg.conf.d
case "${BOARD}" in
"odroidc2" | "nanopik2-s905" | "lepotato" | "lafrite" | "khadas-vim1" | "khadas-vim2" | "aml-s9xx-box" )
"odroidc2" | "nanopik2-s905" | "lepotato" | "lafrite" | "khadas-vim1" | "khadas-vim2" | "aml-s9xx-box")
cat <<- EOF > "$destination"/etc/X11/xorg.conf.d/02-driver.conf
Section "OutputClass"
Identifier "Amlogic"

View File

@@ -36,6 +36,7 @@ esac
case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
KERNELBRANCH="branch:linux-5.15.y"
KERNELPATCHDIR='meson-'$BRANCH
@@ -43,6 +44,7 @@ case $BRANCH in
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH="branch:linux-6.1.y"
KERNELPATCHDIR='meson-'$BRANCH

View File

@@ -116,6 +116,7 @@ case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
KERNELBRANCH="branch:linux-5.15.y"
KERNELPATCHDIR='rockchip64-'$BRANCH
LINUXFAMILY=rockchip64
@@ -125,6 +126,7 @@ case $BRANCH in
edge)
KERNELPATCHDIR='rockchip64-'$BRANCH
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH="branch:linux-6.1.y"
LINUXFAMILY=rockchip64
LINUXCONFIG='linux-rockchip64-'$BRANCH
@@ -183,16 +185,16 @@ uboot_custom_postprocess() {
if [[ $BOOT_SCENARIO == "blobless" || $BOOT_SCENARIO == "tpl-spl-blob" ]]; then
:
elif [[ $BOOT_SCENARIO == "spl-blobs" || $BOOT_SCENARIO == "tpl-blob-atf-mainline" ]]; then
tools/mkimage -n $BOOT_SOC -T rksd -d $RKBIN_DIR/$DDR_BLOB:spl/u-boot-spl.bin idbloader.img
display_alert "mkimage for $BOOT_SOC with $BOOT_SCENARIO" "spl-blobs/tpl-blob-atf-mainline" "debug"
run_host_command_logged tools/mkimage -n $BOOT_SOC -T rksd -d $RKBIN_DIR/$DDR_BLOB:spl/u-boot-spl.bin idbloader.img
elif [[ $BOOT_SCENARIO == "only-blobs" ]]; then
local tempfile=$(mktemp)
tools/mkimage -n $BOOT_SOC -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin
run_host_command_logged tools/mkimage -n $BOOT_SOC -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin
cat $RKBIN_DIR/$MINILOADER_BLOB >> idbloader.bin
$PKG_PREFIX$RKBIN_DIR/tools/loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x200000
$PKG_PREFIX$RKBIN_DIR/tools/trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
run_host_x86_binary_logged $RKBIN_DIR/tools/loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x200000
run_host_x86_binary_logged $RKBIN_DIR/tools/trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
else
echo "Unsupported u-boot processing configuration!"
@@ -222,25 +224,22 @@ uboot_custom_postprocess() {
}
write_uboot_platform() {
# This is run board-side too, so account for the non-existance of run_host_command_logged
local logging_prelude=""
[[ $(type -t run_host_command_logged) == function ]] && logging_prelude="run_host_command_logged"
if [[ -f $1/rksd_loader.img ]]; then # legacy rk3399 loader
dd if=$1/rksd_loader.img of=$2 seek=64 conv=notrunc status=none > /dev/null 2>&1
${logging_prelude} dd if=$1/rksd_loader.img of=$2 seek=64 conv=notrunc status=none
elif [[ -f $1/u-boot.itb ]]; then # $BOOT_SCENARIO == "blobless" || $BOOT_SCENARIO == "tpl-spl-blob"
dd if=$1/idbloader.img of=$2 seek=64 conv=notrunc status=none > /dev/null 2>&1
dd if=$1/u-boot.itb of=$2 seek=16384 conv=notrunc status=none > /dev/null 2>&1
${logging_prelude} dd if=$1/idbloader.img of=$2 seek=64 conv=notrunc status=none
${logging_prelude} dd if=$1/u-boot.itb of=$2 seek=16384 conv=notrunc status=none
elif [[ -f $1/uboot.img ]]; then # $BOOT_SCENARIO == "only-blobs"
dd if=$1/idbloader.bin of=$2 seek=64 conv=notrunc status=none > /dev/null 2>&1
dd if=$1/uboot.img of=$2 seek=16384 conv=notrunc status=none > /dev/null 2>&1
dd if=$1/trust.bin of=$2 seek=24576 conv=notrunc status=none > /dev/null 2>&1
${logging_prelude} dd if=$1/idbloader.bin of=$2 seek=64 conv=notrunc status=none
${logging_prelude} dd if=$1/uboot.img of=$2 seek=16384 conv=notrunc status=none
${logging_prelude} dd if=$1/trust.bin of=$2 seek=24576 conv=notrunc status=none
else
echo "Unsupported u-boot processing configuration!"
exit 1
fi
}
@@ -484,11 +483,9 @@ family_tweaks_bsp() {
fi
if [[ $BOARD == rk3318-box ]]; then
# Optional board dtbo selection script
mkdir -p $destination/usr/local/bin
install -m 755 $SRC/packages/bsp/rk3318/rk3318-config $destination/usr/sbin
fi
if [[ $BOARD == pinebook-pro ]]; then

View File

@@ -1,103 +1,55 @@
enable_extension "sunxi-tools"
ARCH=arm64
ATF_TARGET_MAP="PLAT=$ATF_PLAT DEBUG=1 bl31;;build/$ATF_PLAT/debug/bl31.bin"
BOOTDELAY=1
export ARCH=arm64
export ATF_TARGET_MAP="PLAT=$ATF_PLAT DEBUG=1 bl31;;build/$ATF_PLAT/debug/bl31.bin"
export BOOTDELAY=1
BOOTPATCHDIR='u-boot-sunxi'
BOOTENV_FILE='sunxi.txt'
export BOOTPATCHDIR='u-boot-sunxi'
export BOOTENV_FILE='sunxi.txt'
UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-;;u-boot-sunxi-with-spl.bin}"
BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
LINUXFAMILY=sunxi64
export BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
export LINUXFAMILY=sunxi64
export KERNELPATCHDIR='sunxi-'$BRANCH
case $BRANCH in
legacy)
KERNEL_VERSION_LEVEL="5.10"
KERNELSWITCHOBJ="tag=v5.10.138"
export KERNEL_MAJOR_MINOR="5.10" # Major and minor versions of this kernel.
export KERNELBRANCH="tag:v5.10.138"
export KERNELBRANCH_MEGOUS="branch:orange-pi-5.10"
;;
current)
KERNEL_VERSION_LEVEL="5.15"
KERNELSWITCHOBJ="tag=v5.15.93"
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
export KERNELBRANCH="tag:v5.15.93"
export KERNELBRANCH_MEGOUS="branch:orange-pi-5.15"
;;
edge)
KERNEL_VERSION_LEVEL=${KERNEL_VERSION_LEVEL:-6.1}
KERNELSWITCHOBJ=${KERNELSWITCHOBJ:-'tag=v6.1.11'}
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
export KERNELBRANCH="tag:v6.1.11"
export KERNELBRANCH_MEGOUS="branch:orange-pi-6.1"
;;
esac
case "$KERNEL_VERSION_LEVEL" in
# Hack for easily using megous for tests.
if [[ "$USE_MEGOUS" == "yes" ]]; then
display_alert "Using megous/linux for kernel" "USE_MEGOUS: ${USE_MEGOUS}" "debug"
export KERNELSOURCE="https://github.com/megous/linux"
export KERNELBRANCH="${KERNELBRANCH_MEGOUS}"
fi
5.10|5.15|5.16|5.17|5.18|5.19|6.0|6.1)
KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
KERNELSOURCENAME='name=origin'
KERNELBRANCH="branch:linux-${KERNEL_VERSION_LEVEL}.y"
;;
*)
KERNELSOURCE="https://github.com/megous/linux"
KERNELSOURCENAME='name=megous'
KERNELBRANCH="branch:orange-pi-$KERNEL_VERSION_LEVEL"
;;
esac
KERNELPATCHDIR='archive/sunxi-'$KERNEL_VERSION_LEVEL
# An optional parameter for switching to a git object such as a tag, commit,
# or a specific branch. The object must exist in the local repository.
# This optional parameter takes precedence. If it is specified, then
# the commit state corresponding to the specified git object will be extracted
# to the working directory. Otherwise, the commit corresponding to the top of
# the branch will be extracted.
# KERNELSWITCHOBJ="tag=v5.10.15"
# tag | obj | commit=v5.10.15 | [origin|megous]/$branch | $hash
var_origin_kernel() {
url=$MAINLINE_KERNEL_SOURCE
name='origin'
branch="linux-${KERNEL_VERSION_LEVEL}.y"
start_tag="v$KERNEL_VERSION_LEVEL"
# checking the reachability of the initial tag
if [ "$(git ls-remote --tags $url $start_tag |
awk -F'/' '{if (NR == 1) print $NF}')" != "$start_tag" ]; then
exit 177
fi
# Exceptions to the rule are when the desired tag is not
# a bifurcation point at which all previous merge branches converge.
# This is due to the subsequent extraction of `megous`
# [ "$KERNEL_VERSION_LEVEL" == "5.12" ] && start_tag="v5.12-rc7"
}
unset KERNELBRANCH_MEGOUS
family_tweaks() {
if [[ $BOARD == nanopi-r1s-h5 ]]; then
# rename USB based network to lan0
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="eth1", NAME="lan0"' > $SDCARD/etc/udev/rules.d/70-rename-lan.rules
fi
# execute specific tweaks function if present
[[ $(type -t family_tweaks_s) == function ]] && family_tweaks_s
cp $SRC/packages/blobs/splash/armbian-u-boot-24.bmp $SDCARD/boot/boot.bmp
}
case $IMAGE_PARTITION_TABLE in
msdos)
write_uboot_platform() {
dd if=/dev/zero of=$2 bs=1k count=1023 seek=1 status=noxfer > /dev/null 2>&1
dd if=$1/u-boot-sunxi-with-spl.bin of=$2 bs=1024 seek=8 status=noxfer > /dev/null 2>&1
}
;;
gpt) # Skip 128K for writing if the partition table is GPT.
write_uboot_platform() {
dd if=/dev/zero of=$2 bs=1024 count=1023 seek=128 status=noxfer > /dev/null 2>&1
dd if=$1/u-boot-sunxi-with-spl.bin of=$2 bs=1024 seek=128 status=noxfer > /dev/null 2>&1
}
;;
esac
write_uboot_platform() {
dd if=/dev/zero of=$2 bs=1k count=1023 seek=1 status=noxfer > /dev/null 2>&1
dd if=$1/u-boot-sunxi-with-spl.bin of=$2 bs=1024 seek=8 status=noxfer > /dev/null 2>&1
}
setup_write_uboot_platform() {
if grep -q "ubootpart" /proc/cmdline; then

View File

@@ -1,75 +1,45 @@
enable_extension "sunxi-tools"
ARCH=armhf
BOOTDELAY=1
BOOTPATCHDIR='u-boot-sunxi'
export ARCH=armhf
export BOOTDELAY=1
export BOOTPATCHDIR='u-boot-sunxi'
UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-;;u-boot-sunxi-with-spl.bin}"
BOOTSCRIPT="boot-sunxi.cmd:boot.cmd"
BOOTENV_FILE='sunxi.txt'
LINUXFAMILY=sunxi
UBOOT_FW_ENV='0x88000,0x20000' # /etc/fw_env.config offset and env size
ASOUND_STATE='asound.state.sunxi-next'
GOVERNOR=ondemand
export BOOTSCRIPT="boot-sunxi.cmd:boot.cmd"
export BOOTENV_FILE='sunxi.txt'
export LINUXFAMILY=sunxi
export UBOOT_FW_ENV='0x88000,0x20000' # /etc/fw_env.config offset and env size
export ASOUND_STATE='asound.state.sunxi-next'
export GOVERNOR=ondemand
export KERNELPATCHDIR='sunxi-'$BRANCH
case $BRANCH in
legacy)
KERNEL_VERSION_LEVEL="5.10"
KERNELSWITCHOBJ="tag=v5.10.138"
export KERNEL_MAJOR_MINOR="5.10" # Major and minor versions of this kernel.
export KERNELBRANCH="tag:v5.10.138"
export KERNELBRANCH_MEGOUS="branch:orange-pi-5.10"
;;
current)
KERNEL_VERSION_LEVEL="5.15"
KERNELSWITCHOBJ="tag=v5.15.93"
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
export KERNELBRANCH="tag:v5.15.93"
export KERNELBRANCH_MEGOUS="branch:orange-pi-5.15"
;;
edge)
KERNEL_VERSION_LEVEL=${KERNEL_VERSION_LEVEL:-6.1}
KERNELSWITCHOBJ=${KERNELSWITCHOBJ:-'tag=v6.1.11'}
;;
esac
case "$KERNEL_VERSION_LEVEL" in
5.10|5.15|5.16|5.17|5.18|5.19|6.0|6.1)
KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
KERNELSOURCENAME='name=origin'
KERNELBRANCH="branch:linux-${KERNEL_VERSION_LEVEL}.y"
;;
*)
KERNELSOURCE="https://github.com/megous/linux"
KERNELSOURCENAME='name=megous'
KERNELBRANCH="branch:orange-pi-$KERNEL_VERSION_LEVEL"
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
export KERNELBRANCH="tag:v6.1.11"
export KERNELBRANCH_MEGOUS="branch:orange-pi-6.1"
;;
esac
KERNELPATCHDIR='archive/sunxi-'$KERNEL_VERSION_LEVEL
# Hack for easily using megous for tests.
if [[ "$USE_MEGOUS" == "yes" ]]; then
display_alert "Using megous/linux for kernel" "USE_MEGOUS: ${USE_MEGOUS}" "debug"
export KERNELSOURCE="https://github.com/megous/linux"
export KERNELBRANCH="${KERNELBRANCH_MEGOUS}"
fi
# An optional parameter for switching to a git object such as a tag, commit,
# or a specific branch. The object must exist in the local repository.
# This optional parameter takes precedence. If it is specified, then
# the commit state corresponding to the specified git object will be extracted
# to the working directory. Otherwise, the commit corresponding to the top of
# the branch will be extracted.
# KERNELSWITCHOBJ="tag=v5.10.15"
# tag | obj | commit=v5.10.15 | [origin|megous]/$branch | $hash
var_origin_kernel() {
url=$MAINLINE_KERNEL_SOURCE
name='origin'
branch="linux-${KERNEL_VERSION_LEVEL}.y"
start_tag="v$KERNEL_VERSION_LEVEL"
# checking the reachability of the initial tag
if [ "$(git ls-remote --tags $url $start_tag |
awk -F'/' '{if (NR == 1) print $NF}')" != "$start_tag" ]; then
exit 177
fi
# Exceptions to the rule are when the desired tag is not
# a bifurcation point at which all previous merge branches converge.
# This is due to the subsequent extraction of `megous`
# [ "$KERNEL_VERSION_LEVEL" == "5.12" ] && start_tag="v5.12-rc7"
}
unset KERNELBRANCH_MEGOUS
family_tweaks() {
# execute specific tweaks function if present
@@ -81,6 +51,8 @@ family_tweaks() {
family_tweaks_bsp() {
# execute specific tweaks function if present
[[ $(type -t family_tweaks_bsp_s) == function ]] && family_tweaks_bsp_s
return 0 # short-circuit above, avoid errors on exit.
}
write_uboot_platform() {

View File

@@ -4,7 +4,7 @@ export UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-3} # Default 3-seconds timeout for
export BOARD_FIRMWARE_INSTALL="-full" # Install full firmware for UEFI boards
case "${BRANCH}" in
legacy)
ddk)
# This will force `unset KERNELSOURCE` later; no kernel will be built.
# Instead, the distro's default linux-generic kernel will be installed.
export DISTRO_GENERIC_KERNEL=yes
@@ -13,16 +13,16 @@ case "${BRANCH}" in
current)
export DISTRO_GENERIC_KERNEL=no
export LINUXCONFIG="linux-uefi-${LINUXFAMILY}-${BRANCH}"
export KERNELBRANCH="branch:linux-5.15.y"
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel. For mainline caching.
export KERNELBRANCH="branch:linux-5.15.y" # Branch or tag to build from. It should match MAJOR_MINOR
export KERNELPATCHDIR="uefi-${LINUXFAMILY}-${BRANCH}" # Might be empty.
export KERNELDIR="linux-uefi-${LINUXFAMILY}" # Avoid sharing a source tree with others, until we know it's safe.
;;
edge)
export DISTRO_GENERIC_KERNEL=no
export LINUXCONFIG="linux-uefi-${LINUXFAMILY}-${BRANCH}"
export KERNELBRANCH='branch:linux-6.1.y'
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. For mainline caching.
export KERNELBRANCH="branch:linux-6.1.y" # Branch or tag to build from. It should match MAJOR_MINOR
export KERNELPATCHDIR="uefi-${LINUXFAMILY}-${BRANCH}" # Might be empty.
export KERNELDIR="linux-uefi-${LINUXFAMILY}" # Avoid sharing a source tree with others, until we know it's safe.
;;
esac

View File

@@ -153,21 +153,21 @@ family_tweaks() {
comment_default_rsyslog_rules || display_alert "Unable to comment default rsyslog rules" "${BOARD}" "wrn"
# Hardware init
chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable jethub-initer.service >/dev/null 2>&1"
chroot_sdcard systemctl --no-reload enable jethub-initer.service
# AR-1098 userland fix for net interface does not up at boot
chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable jethub-ethreset.service >/dev/null 2>&1"
chroot_sdcard systemctl --no-reload enable jethub-ethreset.service
# pip3 packages
chroot "${SDCARD}" /bin/bash -c "pip3 install pyserial intelhex python-magic" >> "${DEST}"/debug/install.log 2>&1
chroot_sdcard pip3 install pyserial intelhex python-magic
if [[ "$BOARD" == jethubj80 ]]; then
# Bluetooth
chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable jethub-rtk-hciattach.service >/dev/null 2>&1"
chroot_sdcard systemctl --no-reload enable jethub-rtk-hciattach.service
fi
display_alert "Adding JetHome repository and authentication key" "/etc/apt/sources.list.d/jethome.list" "info"
cp "${SRC}"/packages/bsp/jethub/jethome.gpg "${SDCARD}/etc/apt/trusted.gpg.d/"
run_host_command_logged cp -pv "${SRC}"/packages/bsp/jethub/jethome.gpg "${SDCARD}/etc/apt/trusted.gpg.d/"
echo "deb http://repo.jethome.ru"$([[ $BETA == yes ]] && echo "/beta")" ${RELEASE} jethome-${RELEASE}" \
>> "${SDCARD}"/etc/apt/sources.list.d/jethome.list

View File

@@ -1,7 +1,7 @@
source "${BASH_SOURCE%/*}/include/rockchip64_common.inc"
if [[ $BOARD = jetson-nano ]]; then
enable_extension "grub-sbc-media"
enable_extension "grub-sbc-media"
fi
if [[ $BOARD == station-p2 || $BOARD == station-m2 || $BOARD == bananapir2pro ]]; then
@@ -34,6 +34,7 @@ case $BRANCH in
if [[ $BOARD == station-p2 || $BOARD == station-m2 || $BOARD == bananapir2pro ]]; then
KERNELSOURCE='https://github.com/150balbes/rockchip-kernel'
export KERNEL_MAJOR_MINOR="4.19" # Major and minor versions of this kernel.
KERNELBRANCH='branch:kernel-4.19'
KERNELPATCHDIR='station-p2-'$BRANCH
LINUXFAMILY=station-p2
@@ -43,6 +44,7 @@ case $BRANCH in
elif [[ $BOARD == jetson-nano ]]; then
KERNELDIR='linux-nano'
KERNELSOURCE='https://github.com/150balbes/Jetson-Nano'
export KERNEL_MAJOR_MINOR="4.9" # Major and minor versions of this kernel.
KERNELBRANCH='branch:4.9.201'
KERNELPATCHDIR='jetson-nano-'$BRANCH
LINUXFAMILY=jetson-nano
@@ -53,6 +55,7 @@ case $BRANCH in
MODULES_INITRD="jetson-nano-legacy"
else
KERNELSOURCE='https://github.com/150balbes/rockchip-kernel'
export KERNEL_MAJOR_MINOR="5.10" # Major and minor versions of this kernel.
KERNELBRANCH='branch:kernel-5.10'
LINUXFAMILY=media
LINUXCONFIG='linux-media-'$BRANCH
@@ -61,6 +64,7 @@ case $BRANCH in
;;
current)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH="branch:linux-6.1.y"
LINUXCONFIG='linux-media-'$BRANCH
KERNELPATCHDIR='media-'$BRANCH
@@ -68,8 +72,8 @@ case $BRANCH in
;;
edge)
# KERNELBRANCH="branch:linux-6.2.y"
KERNELBRANCH="tag:v6.2-rc8"
export KERNEL_MAJOR_MINOR="6.2" # Major and minor versions of this kernel.
KERNELBRANCH="tag:v6.2-rc8" # KERNELBRANCH="branch:linux-6.2.y"
KERNELPATCHDIR='media-'$BRANCH
LINUXFAMILY=media
LINUXCONFIG='linux-media-'$BRANCH

View File

@@ -5,16 +5,16 @@ fi
uboot_custom_postprocess() {
if [[ $BOARD == odroidc2 ]]; then
local t=$SRC/cache/sources/odroidc2-blobs/
$PKG_PREFIX$t/fip_create --bl30 $t/gxb/bl30.bin \
--bl301 $t/gxb/bl301.bin \
--bl31 $t/gxb/bl31.bin \
local fip_blobs_dir="$SRC/cache/sources/odroidc2-blobs/"
run_host_x86_binary_logged $fip_blobs_dir/fip_create --bl30 $fip_blobs_dir/gxb/bl30.bin \
--bl301 $fip_blobs_dir/gxb/bl301.bin \
--bl31 $fip_blobs_dir/gxb/bl31.bin \
--bl33 u-boot.bin \
fip.bin
$PKG_PREFIX$t/fip_create --dump fip.bin
cat $t/gxb/bl2.package fip.bin > boot_new.bin
run_host_x86_binary_logged $fip_blobs_dir/fip_create --dump fip.bin
cat $fip_blobs_dir/gxb/bl2.package fip.bin > boot_new.bin
rm -f u-boot.img
$PKG_PREFIX$t/gxb/aml_encrypt_gxb --bootsig \
run_host_x86_binary_logged $fip_blobs_dir/gxb/aml_encrypt_gxb --bootsig \
--input boot_new.bin \
--output u-boot.img
rm -f u-boot.bin
@@ -22,37 +22,37 @@ uboot_custom_postprocess() {
fi
if [[ $BOARD == nanopik2-s905 ]]; then
local t=$SRC/cache/sources/odroidc2-blobs/
local fip_blobs_dir=$SRC/cache/sources/odroidc2-blobs/
mv u-boot.bin bl33.bin
$t/blx_fix.sh $t/k2/bl30.bin \
$t/k2/zero_tmp \
$t/k2/bl30_zero.bin \
$t/k2/bl301.bin \
$t/k2/bl301_zero.bin \
$t/k2/bl30_new.bin bl30
$fip_blobs_dir/blx_fix.sh $fip_blobs_dir/k2/bl30.bin \
$fip_blobs_dir/k2/zero_tmp \
$fip_blobs_dir/k2/bl30_zero.bin \
$fip_blobs_dir/k2/bl301.bin \
$fip_blobs_dir/k2/bl301_zero.bin \
$fip_blobs_dir/k2/bl30_new.bin bl30
$PKG_PREFIX$t/k2/fip_create --bl30 $t/k2/bl30_new.bin \
--bl31 $t/k2/bl31.img \
run_host_x86_binary_logged $fip_blobs_dir/k2/fip_create --bl30 $fip_blobs_dir/k2/bl30_new.bin \
--bl31 $fip_blobs_dir/k2/bl31.img \
--bl33 bl33.bin \
$t/k2/fip.bin
$fip_blobs_dir/k2/fip.bin
$PKG_PREFIX$t/k2/fip_create --dump $t/k2/fip.bin
run_host_x86_binary_logged $fip_blobs_dir/k2/fip_create --dump $fip_blobs_dir/k2/fip.bin
python $t/acs_tool.pyc $t/k2/bl2.bin \
$t/k2/bl2_acs.bin \
$t/k2/acs.bin 0
python $fip_blobs_dir/acs_tool.pyc $fip_blobs_dir/k2/bl2.bin \
$fip_blobs_dir/k2/bl2_acs.bin \
$fip_blobs_dir/k2/acs.bin 0
$t/blx_fix.sh $t/k2/bl2_acs.bin \
$t/k2/zero_tmp \
$t/k2/bl2_zero.bin \
$t/k2/bl21.bin \
$t/k2/bl21_zero.bin \
$t/k2/bl2_new.bin bl2
$fip_blobs_dir/blx_fix.sh $fip_blobs_dir/k2/bl2_acs.bin \
$fip_blobs_dir/k2/zero_tmp \
$fip_blobs_dir/k2/bl2_zero.bin \
$fip_blobs_dir/k2/bl21.bin \
$fip_blobs_dir/k2/bl21_zero.bin \
$fip_blobs_dir/k2/bl2_new.bin bl2
cat $t/k2/bl2_new.bin $t/k2/fip.bin > boot_new.bin
cat $fip_blobs_dir/k2/bl2_new.bin $fip_blobs_dir/k2/fip.bin > boot_new.bin
$PKG_PREFIX$t/k2/aml_encrypt_gxb --bootsig \
run_host_x86_binary_logged $fip_blobs_dir/k2/aml_encrypt_gxb --bootsig \
--input boot_new.bin \
--output u-boot.bin

View File

@@ -1,23 +1,17 @@
source "${BASH_SOURCE%/*}/include/meson64_common.inc"
if [[ $BOARD == lafrite ]]; then
UBOOT_TARGET_MAP="u-boot-dtb.img;;u-boot.bin:u-boot.bin u-boot-dtb.img"
fi
if [[ $BOARD = khadas-vim1 ]]; then
# temporally workaround - using prebuild u-boot from https://github.com/khadas/khadas-uboot/releases/tag/0.11
UBOOT_TARGET_MAP=";;$SRC/packages/blobs/meson/u-boot-vim1-sd.bin:u-boot.bin"
fi
if [[ $BOARD = khadas-vim2 ]]; then
# temporally workaround - using prebuild u-boot from https://github.com/khadas/khadas-uboot/releases/tag/0.11
UBOOT_TARGET_MAP=";;$SRC/packages/blobs/meson/u-boot-vim2-sd.bin:u-boot.bin"
fi
family_tweaks() {

View File

@@ -9,6 +9,7 @@ case $BRANCH in
legacy)
export KERNEL_MAJOR_MINOR="4.19" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-4.19.y'
;;

View File

@@ -12,12 +12,14 @@ case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-5.15.y'
;;
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
LINUXCONFIG='linux-mvebu-edge'

View File

@@ -35,12 +35,13 @@ case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-5.15.y'
;;
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
;;
@@ -62,7 +63,7 @@ write_uboot_platform() {
}
family_tweaks() {
chroot $SDCARD /bin/bash -c "apt-get -y -qq remove --auto-remove linux-sound-base alsa-base alsa-utils bluez>/dev/null 2>&1"
chroot_sdcard_apt_get remove --auto-remove linux-sound-base alsa-base alsa-utils bluez
[[ -f $SDCARD/etc/netplan/armbian-default.yaml ]] && sed -i "s/^ renderer.*/ renderer: networkd/" $SDCARD/etc/netplan/armbian-default.yaml
cp $SRC/packages/bsp/mvebu64/networkd/10* $SDCARD/etc/systemd/network/
if [[ $BOARD = "espressobin" ]]; then
@@ -99,18 +100,18 @@ uboot_custom_postprocess() {
cd $atfdir
if [[ $BOARD = macchiatobin-doubleshot ]]; then
make distclean >> $DEST/debug/compilation.log 2>&1
run_host_command_logged make distclean
FILENAME="flash-image.bin"
display_alert "Building $FILENAME" "" "info"
# http://wiki.macchiatobin.net/tiki-index.php?page=Build+from+source+-+Bootloader#Building_ATF
make distclean >> $DEST/debug/compilation.log 2>&1
make USE_COHERENT_MEM=0 LOG_LEVEL=20 MV_DDR_PATH=$SRC/cache/sources/marvell-ddr PLAT=a80x0_mcbin CROSS_COMPILE=$ATF1 BL33=$BL33 mrvl_flash $CTHREADS >> $DEST/debug/compilation.log 2>&1
cp build/a80x0_mcbin/release/flash-image.bin $ubootdir/$FILENAME
run_host_command_logged make distclean
run_host_command_logged make USE_COHERENT_MEM=0 LOG_LEVEL=20 MV_DDR_PATH=$SRC/cache/sources/marvell-ddr PLAT=a80x0_mcbin CROSS_COMPILE=$ATF1 BL33=$BL33 mrvl_flash $CTHREADS
run_host_command_logged cp -pv build/a80x0_mcbin/release/flash-image.bin $ubootdir/$FILENAME
else
cd $moxbootdir
make clean
make CROSS_CM3=$ATF2 wtmi_app.bin
make clean # @TODO: rpardini: why?
run_host_command_logged make CROSS_CM3=$ATF2 wtmi_app.bin
cd $atfdir
clocks=(600_600 800_800 1000_800 1200_750)
@@ -122,8 +123,8 @@ uboot_custom_postprocess() {
DDR_TOPOLOGY="${j##*_}"
CLOCKSPRESET="CPU_${i%_*}_DDR_${i##*_}"
display_alert "Building $FILENAME" "" "info"
make distclean >> $DEST/debug/compilation.log 2>&1
make CROSS_COMPILE=$ATF1 \
run_host_command_logged make distclean
run_host_command_logged make CROSS_COMPILE=$ATF1 \
CROSS_CM3=$ATF2 \
USE_COHERENT_MEM=0 \
PLAT=a3700 \
@@ -134,8 +135,8 @@ uboot_custom_postprocess() {
BL33=$BL33 \
WTMI_IMG=$moxbootdir/wtmi_app.bin \
BOOTDEV=SPINOR PARTNUM=0 \
LOG_LEVEL=20 all fip mrvl_flash $CTHREADS >> $DEST/debug/compilation.log 2>&1
cp build/a3700/release/flash-image.bin $ubootdir/$FILENAME
LOG_LEVEL=20 all fip mrvl_flash $CTHREADS
run_host_command_logged cp -pv build/a3700/release/flash-image.bin $ubootdir/$FILENAME
done
done
fi

View File

@@ -11,12 +11,13 @@ case $BRANCH in
current)
KERNELSOURCE='https://github.com/hardkernel/linux'
export KERNEL_MAJOR_MINOR="5.4" # Major and minor versions of this kernel.
KERNELBRANCH='branch:odroid-5.4.y'
KERNELDIR='linux-odroidxu4'
;;
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
KERNELDIR='linux-odroidxu4'
;;

View File

@@ -12,6 +12,7 @@ case $BRANCH in
legacy)
KERNELSOURCE='https://github.com/armbian/linux'
export KERNEL_MAJOR_MINOR="4.4" # Major and minor versions of this kernel.
KERNELBRANCH='branch:stable-4.4-rk3288-linux-v2.x'
KERNELDIR='linux-rockchip'
@@ -19,12 +20,14 @@ case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
;;
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
;;

View File

@@ -5,6 +5,7 @@ case $BRANCH in
legacy)
KERNELSOURCE='https://github.com/friendlyarm/kernel-rockchip'
export KERNEL_MAJOR_MINOR="4.4" # Major and minor versions of this kernel.
KERNELBRANCH='branch:nanopi4-linux-v4.4.y'
KERNELDIR='linux-rockchip64'
KERNELCONFIG='linux-rockchip64'

View File

@@ -12,6 +12,7 @@ case $BRANCH in
UBOOT_USE_GCC='< 8.0'
BOOTDIR='u-boot-rockchip64'
KERNELSOURCE='https://github.com/radxa/kernel'
export KERNEL_MAJOR_MINOR="4.19" # Major and minor versions of this kernel.
KERNELBRANCH='branch:stable-4.19-rock3'
KERNELDIR='linux-rockchip64'
KERNELPATCHDIR='rk35xx-legacy'
@@ -24,7 +25,6 @@ case $BRANCH in
# temporary until kernel 5.16 is well supported for rockchip64
# it has to be its own family too
edge)
SKIP_BOOTSPLASH="yes"
LINUXFAMILY=rk35xx

View File

@@ -14,6 +14,7 @@ case $BRANCH in
BOOTDIR='u-boot-rockchip64'
KERNELDIR='linux-rockchip64'
KERNELSOURCE='https://github.com/radxa/kernel'
export KERNEL_MAJOR_MINOR="5.10" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-5.10-gen-rkr3.4'
KERNELPATCHDIR='rockchip-rk3588-legacy'
;;

View File

@@ -20,6 +20,7 @@ case $BRANCH in
legacy)
KERNELSOURCE='https://github.com/armbian/linux'
export KERNEL_MAJOR_MINOR="4.4" # Major and minor versions of this kernel.
KERNELBRANCH='branch:stable-4.4-rk3288-linux'
KERNELDIR='linux-rockchip'
@@ -27,12 +28,14 @@ case $BRANCH in
current)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
;;
edge)
export KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-6.1.y'
;;
@@ -68,11 +71,15 @@ uboot_custom_postprocess() {
family_tweaks() {
if [[ $BOARD == tinkerboard ]]; then
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools"
[[ $BRANCH == legacy ]] && chroot $SDCARD /bin/bash -c "systemctl --no-reload enable tinker-bluetooth.service >/dev/null 2>&1"
sed -i -e "/#load-module module-alsa-sink/r $SRC/packages/bsp/rockchip/pulseaudio.txt" $SDCARD/etc/pulse/default.pa > /dev/null 2>&1
chroot_sdcard_apt_get_install rfkill bluetooth bluez bluez-tools
[[ $BRANCH == legacy ]] && chroot_sdcard systemctl --no-reload enable tinker-bluetooth.service
if [[ -f "$SDCARD/etc/pulse/default.pa" ]]; then
sed -i -e "/#load-module module-alsa-sink/r $SRC/packages/bsp/rockchip/pulseaudio.txt" "$SDCARD/etc/pulse/default.pa" 2>&1
else
display_alert "Can't find pulseaudio config" "${BOARD} - family_tweaks" "warn"
fi
fi
return 0
}
family_tweaks_bsp() {
@@ -87,8 +94,8 @@ family_tweaks_bsp() {
install -m 755 $SRC/packages/bsp/rockchip/hdmi-hotplug $destination/usr/local/bin
# Peripheral access for specific groups
addgroup --system --quiet --gid 997 gpio
addgroup --system --quiet --gid 998 i2c
addgroup --system --quiet --gid 997 gpio || display_alert "Failed to create 997 group gid" "gpio" "warn"
addgroup --system --quiet --gid 998 i2c || display_alert "Failed to create 997 group gid" "gpio" "warn"
cp $SRC/packages/bsp/rockchip/70-gpio.rules $destination/etc/udev/rules.d
cp $SRC/packages/bsp/rockchip/71-i2c.rules $destination/etc/udev/rules.d
@@ -107,4 +114,5 @@ family_tweaks_bsp() {
mkdir -p $destination/etc/initramfs-tools/hooks
install -m 550 $SRC/packages/bsp/rockchip/ap6330-initramfs-firmware $destination/etc/initramfs-tools/hooks
return 0 # exit with success
}

View File

@@ -5,6 +5,7 @@ case $BRANCH in
legacy)
KERNELDIR='linux-rockchip64'
KERNELSOURCE='https://github.com/ayufan-rock64/linux-kernel'
export KERNEL_MAJOR_MINOR="4.4" # Major and minor versions of this kernel.
KERNELBRANCH='tag:4.4.202-1237-rockchip-ayufan'
KERNELPATCHDIR='rockchip64-'$BRANCH
;;

View File

@@ -34,40 +34,38 @@ case $BRANCH in
UBOOT_USE_GCC='< 8.0'
BOOTDIR='u-boot-rockchip64'
KERNELSOURCE='https://github.com/piter75/rockchip-kernel'
export KERNEL_MAJOR_MINOR="4.4" # Major and minor versions of this kernel.
KERNELBRANCH='branch:rockpis-develop-4.4'
KERNELDIR='linux-rockchip64'
unset IDBLOADER_BLOB
;;
;;
esac
prepare_boot_configuration
uboot_custom_postprocess()
{
uboot_custom_postprocess() {
# TODO: remove this diversion from common caused by different loaderimage params
loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x600000 --size 1024 1 &&
if [ -r "$IDBLOADER_BLOB" ]; then
echo "Installing $IDBLOADER_BLOB"
echo "Capable of booting from built-in SDNAND"
cp $IDBLOADER_BLOB idbloader.bin
else
[ "$IDBLOADER_BLOB" ] && echo "Missing $IDBLOADER_BLOB"
echo "WARNING: This image will not boot from built-in SDNAND"
tools/mkimage -n rk3308 -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin &&
cat $RKBIN_DIR/$MINILOADER_BLOB >> idbloader.bin
fi &&
trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
if [ -r "$IDBLOADER_BLOB" ]; then
echo "Installing $IDBLOADER_BLOB"
echo "Capable of booting from built-in SDNAND"
cp $IDBLOADER_BLOB idbloader.bin
else
[ "$IDBLOADER_BLOB" ] && echo "Missing $IDBLOADER_BLOB"
echo "WARNING: This image will not boot from built-in SDNAND"
tools/mkimage -n rk3308 -T rksd -d $RKBIN_DIR/$DDR_BLOB idbloader.bin &&
cat $RKBIN_DIR/$MINILOADER_BLOB >> idbloader.bin
fi &&
trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
}
family_tweaks_bsp()
#Install udev script that derives fixed, unique MAC addresses for net interfaces
#that are assigned random ones -- like RockPI-S's WiFi network interfaces
{
family_tweaks_bsp() { #Install udev script that derives fixed, unique MAC addresses for net interfaces
#that are assigned random ones -- like RockPI-S's WiFi network interfaces
bsp=$SRC/packages/bsp/rockpis
rules=etc/udev/rules.d
install -m 755 $bsp/lib/udev/fixEtherAddr $destination/lib/udev &&
install -m 644 $bsp/$rules/05-fixMACaddress.rules $destination/$rules
install -m 644 $bsp/$rules/05-fixMACaddress.rules $destination/$rules
}

View File

@@ -10,6 +10,7 @@ ATF_COMPILE="no"
case $BRANCH in
legacy | current)
KERNELSOURCE='https://github.com/armbian/linux'
export KERNEL_MAJOR_MINOR="4.14" # Major and minor versions of this kernel. See https://github.com/armbian/linux/blob/s5p6818/Makefile
KERNELBRANCH='branch:s5p6818'
KERNELDIR='linux-mainline'
;;

View File

@@ -27,7 +27,6 @@ esac
family_tweaks_s() {
if [[ -f $SDCARD/lib/systemd/system/aw859a-bluetooth.service ]]; then
# install and enable Bluetooth
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools >/dev/null 2>&1"
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable aw859a-bluetooth.service >/dev/null 2>&1"
@@ -44,9 +43,7 @@ family_tweaks_s() {
family_tweaks_bsp() {
if [[ ${BOARD} == orangepi3-lts ]]; then
cp $SRC/packages/bsp/sunxi/aw859a-bluetooth.service $destination/lib/systemd/system/
fi
install -m 755 $SRC/packages/blobs/bt/hciattach/hciattach_opi_${ARCH} $destination/usr/bin/hciattach_opi

View File

@@ -8,9 +8,9 @@ case $BRANCH in
legacy)
unset var_origin_kernel
LINUXFAMILY=sun50iw9
KERNELSOURCE='https://github.com/orangepi-xunlong/linux-orangepi.git'
export KERNEL_MAJOR_MINOR="4.9" # Major and minor versions of this kernel.
KERNELBRANCH="branch:orange-pi-4.9-sun50iw9"
KERNELPATCHDIR=${BOARDFAMILY}-${BRANCH}
KERNELDIR='linux-orangepi'

View File

@@ -1,6 +1,7 @@
BOOTBRANCH='tag:v2021.04'
KERNELBRANCH='branch:linux-5.10.y'
export KERNEL_MAJOR_MINOR="5.15" # Major and minor versions of this kernel.
KERNELBRANCH='branch:linux-5.15.y'
ARCH=arm64
#UBOOT_TARGET_MAP=";;u-boot.bin"

View File

@@ -3,6 +3,7 @@ SERIALCON='ttyPS0'
LINUXFAMILY=zynq
KERNELSOURCE='https://github.com/Xilinx/linux-xlnx.git'
export KERNEL_MAJOR_MINOR="5.4" # Major and minor versions of this kernel. See https://github.com/Xilinx/linux-xlnx/blob/xilinx-v2020.2/Makefile
KERNELBRANCH='tag:xilinx-v2020.2'
KERNELDIR='linux-xlnx'
KERNELPATCHDIR='zynq-'$BRANCH