armbian-build/config/sources/rockchip.conf
Igor Pečovnik 1221d59233
Build all targets RFC (#1515)
* Introducing build-all-ng
* Implementing REBUILD_IMAGES='board1,board2,...' for rebuilding certain images only
* Add optimisations when building kernels - only cycle trough needed targets. Adding variable for defining whether an image is build, otherwise only BSP is made.
* repository manipulating RFC
* Add bianco deb file that is added by default if repository is clean
* Switch to gpg2 signing method, small bugfix
* Create subdir for debs and debs-beta
* Synaptic bugfix: installing indexing tools https://forum.armbian.com/topic/8021-orange-pi-one-synaptic-package-manager-search-very-slow/?do=findComment&comment=74918
* add all modules by default to Odroid N2, but leave them commented
* Bugfix: not making any builds when selecting kernel_only
* Remove EXTERNAL=yes ... move armbian-config and armbian-firmware into main compilation area, drop others since they are deprecated anyway. This will also enable multi threaded images making
* Move armbian.list to create_sources_list function. Replace NTP by Chrony. Remove armbian-firmware from PACKAGE_LIST and RockPi 4A (#1528)
* Replace NTP by chrony. Remove installion of outdated armbian-firmware from reposity.
* added RockPi 4A
* New format for board config
* Fix Bluetooth dependencies for minimal package - add rfkill to family related installs
* Moving networkd-dispatcher from minimal image
* Cubox-i: update default config
* Improving umount process
* Add purgesource feature
* Add FULL_DESKTOP to install few more applications on top of our desktop - notebooks should * rk3399 default: adjust patches and configuration
* Enable full desktop on most powerfull boards and notebooks

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2019-09-01 22:13:13 +02:00

126 lines
4.2 KiB
Plaintext

BOOTSCRIPT="boot-rockchip.cmd:boot.cmd"
BOOTENV_FILE='rockchip-default.txt'
OVERLAY_PREFIX='rockchip'
UBOOT_TARGET_MAP=";;$SRC/packages/blobs/rockchip/rk3288_boot.bin u-boot-rockchip-with-spl.bin"
UBOOT_USE_GCC='> 6.4'
BOOTDELAY=0
BOOTSOURCE=$MAINLINE_UBOOT_SOURCE
BOOTDIR=$MAINLINE_UBOOT_DIR
if [[ $BOARD == miqi ]]; then
BOOTBRANCH='tag:v2017.11'
else
BOOTBRANCH='tag:v2018.11'
fi
SERIALCON=ttyS2
case $BRANCH in
default)
KERNELSOURCE='https://github.com/rockchip-linux/kernel.git'
KERNELBRANCH='branch:stable-4.4-rk3288-linux'
KERNELPATCHDIR='rockchip-default'
KERNELDIR='linux-rockchip'
KERNEL_USE_GCC='> 7.0'
;;
next)
KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
KERNELBRANCH='branch:linux-4.19.y'
KERNELDIR=$MAINLINE_KERNEL_DIR
KERNEL_USE_GCC='> 7.0'
;;
dev)
KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
KERNELBRANCH='branch:linux-5.2.y'
KERNELDIR=$MAINLINE_KERNEL_DIR
KERNEL_USE_GCC='> 7.0'
;;
esac
CPUMIN="600000"
CPUMAX="1900000"
GOVERNOR="ondemand"
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-rockchip-with-spl.bin of=$2 seek=64 conv=notrunc > /dev/null 2>&1
}
uboot_custom_postprocess()
{
# xt-q8l-v10 requires the original DDR init blob because u-boot does not support LPDDR2 initialization
# for rk3288 SoC (binary is in sources/rkbin-tools/rk32 path). U-boot is configured to produce a TPL
# which is thrown away. SPL does some more initial configurations, expecially pinmux for power hold,
# so reset works more reliably. U-boot image is set to be at sector 0x200 on the eMMC/SD,
# so we burn it 0x200-0x40 because of the rockchip 0x40 sectors offset.
if [[ $BOARD == xt-q8l-v10 ]]; then
tools/mkimage -n rk3288 -T rksd -d $SRC/cache/sources/rkbin-tools/rk32/rk3288_ddr_400MHz_v1.03.bin u-boot-rockchip-with-spl.bin
cat spl/u-boot-spl-dtb.bin >> u-boot-rockchip-with-spl.bin
dd if=u-boot-dtb.img of=u-boot-rockchip-with-spl.bin seek=$((0x200 - 0x40)) conv=notrunc
else
tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin u-boot-rockchip-with-spl.bin
cat u-boot-dtb.bin >> u-boot-rockchip-with-spl.bin
fi
}
family_tweaks()
{
if [[ $BOARD == tinkerboard ]]; then
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools"
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
fi
if [[ $BOARD == xt-q8l-v10 ]]; then
echo "fdtfile=rk3288-xt-q8l-v10.dtb" >> $SDCARD/boot/armbianEnv.txt
mkdir -p $SDCARD/etc/firmware/
ln -sf /lib/firmware/brcm/BCM4330B1.hcd $SDCARD/etc/firmware
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable ap6330-bluetooth.service >/dev/null 2>&1"
fi
}
family_tweaks_bsp()
{
#Graphics and media
mkdir -p $destination/etc/udev/rules.d
mkdir -p $destination/usr/local/bin
cp $SRC/packages/bsp/rockchip/hdmi.rules $destination/etc/udev/rules.d
cp $SRC/packages/bsp/rockchip/50-hevc.rules $destination/etc/udev/rules.d
cp $SRC/packages/bsp/rockchip/50-mali.rules $destination/etc/udev/rules.d
cp $SRC/packages/bsp/rockchip/50-vpu.rules $destination/etc/udev/rules.d
cp $SRC/packages/bsp/rockchip/60-media.rules $destination/etc/udev/rules.d
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
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
# Bluetooth
install -m 755 $SRC/packages/bsp/rockchip/rtk_hciattach $destination/usr/bin
install -m 755 $SRC/packages/bsp/rockchip/start_bt.sh $destination/usr/local/bin
cp $SRC/packages/bsp/rockchip/tinker-bluetooth.service $destination/lib/systemd/system/
# Sound
cp $SRC/packages/bsp/rockchip/asound.conf $destination/etc/
cp $SRC/packages/bsp/rockchip/89-pulseaudio-usb.rules $destination/etc/udev/rules.d
# ap6330 bluetooth (required for xt-q8l-v10)
cp $SRC/packages/bsp/rockchip/ap6330-bluetooth.service $destination/lib/systemd/system/
}