Commit 5009d9cc authored by Vladimir Bashkirtsev's avatar Vladimir Bashkirtsev

Added support for Raspberry Pi 4 Model B

parent b915fe26
......@@ -375,6 +375,127 @@ avoid_warnings=1
endef
export RPI3CONFIG_MENDER
rpi4b: rpi4b-boot-cmd rpi4b-fw_env.config rpi4b-config
tar xf u-boot-2020.04.tar.bz2
patch -Np1 -d u-boot-2020.04 < u-boot-2020.04-serial-number-fix.patch
$(MAKE) -C u-boot-2020.04 rpi_4_defconfig
$(MAKE) -C u-boot-2020.04
mkdir /uboot
mkfs -t vfat -n UBOOT /dev/$(DISK)1
sed -i '/\/dev\/root/a \/dev\/disk\/by-label\/UBOOT \/uboot vfat defaults,sync,auto 0 0' /etc/fstab
mount /dev/$(DISK)1 /uboot
cp u-boot-2020.04/u-boot.bin /uboot/u-boot.bin
@echo "$$BOOTCMD_RPI4" > u-boot-2020.04/boot.cmd
u-boot-2020.04/tools/mkimage -C none -A arm -T script -d u-boot-2020.04/boot.cmd /uboot/boot.scr
@echo "$$RPI4CONFIG" > /uboot/config.txt
$(MAKE) -C u-boot-2020.04 envtools
cp u-boot-2020.04/tools/env/fw_printenv /sbin/fw_printenv
ln -sf /sbin/fw_printenv /sbin/fw_setenv
@echo "$$FW_ENV_RPI4" > /etc/fw_env.config
dd if=/dev/zero of=/uboot/uboot.env bs=1024 count=16
/sbin/fw_setenv reset
if [ -n "$(ENV_DEVICE)" ]; then sed -i 's/$(ROOT_DEVICE)/$(ENV_DEVICE)/' /etc/fw_env.config; fi
umount /dev/$(DISK)1
rm -rf u-boot-2020.04
rpi4b-boot-cmd:
define BOOTCMD_RPI4
load mmc 0:2 $${kernel_addr_r} boot/Image
load mmc 0:2 $${fdt_addr_r} boot/machine.dtb
setenv bootargs console=tty1 root=/dev/$(DISK)2 rootfstype=ext4 rootflags=discard rw rootwait elevator=noop quiet loglevel=3 systemd.show_status=1
booti $${kernel_addr_r} - $${fdt_addr_r}
endef
export BOOTCMD_RPI4
rpi4b-fw_env.config:
define FW_ENV_RPI4
/uboot/uboot.env 0x00000 0x04000
endef
export FW_ENV_RPI4
rpi4b-config:
define RPI4CONFIG
[pi4]
kernel=u-boot.bin
max_framebuffers=2
[all]
arm_64bit=1
enable_uart=1
dtparam=i2c=on
dtparam=spi=on
dtparam=act_led_trigger=heartbeat
dtparam=pwr_led_trigger=mmc0
dtparam=audio=on
device_tree_address=0x02000000
dtoverlay=vc4-fkms-v3d,cma-128
endef
export RPI4CONFIG
rpi4b-mender: rpi4b-boot-cmd-mender rpi4b-fw_env.config-mender rpi4b-config-mender
tar xf u-boot-2020.04.tar.bz2
patch -Np1 -d u-boot-2020.04 < u-boot-2020.04-serial-number-fix.patch
patch -Np1 -d u-boot-2020.04 < u-boot-2020.04-mender.patch
$(MAKE) -C u-boot-2020.04 rpi_4_defconfig
@echo "# CONFIG_ENV_IS_NOWHERE is not set" >> u-boot-2020.04/.config
@echo "# CONFIG_ENV_IS_IN_FAT is not set" >> u-boot-2020.04/.config
@echo "CONFIG_ENV_IS_IN_MMC=y" >> u-boot-2020.04/.config
@echo "CONFIG_SYS_REDUNDAND_ENVIRONMENT=y" >> u-boot-2020.04/.config
@echo "CONFIG_BCM2835_WDT=y" >> u-boot-2020.04/.config
$(MAKE) -C u-boot-2020.04 oldconfig
$(MAKE) -C u-boot-2020.04
mount /dev/$(DISK)1 /uboot
dd if=/dev/zero of=/dev/$(ROOT_DEVICE) bs=512 seek=1 count=49151
cp u-boot-2020.04/u-boot.bin /uboot/u-boot.bin
@echo "$$BOOTCMD_RPI4_MENDER" > u-boot-2020.04/boot.cmd
u-boot-2020.04/tools/mkimage -C none -A arm -T script -d u-boot-2020.04/boot.cmd /uboot/boot.scr
@echo "$$RPI4CONFIG_MENDER" > /uboot/config.txt
$(MAKE) -C u-boot-2020.04 envtools
cp u-boot-2020.04/tools/env/fw_printenv /sbin/fw_printenv
ln -svf /sbin/fw_printenv /sbin/fw_setenv
@echo "$$FW_ENV_RPI4_MENDER" > /etc/fw_env.config
/sbin/fw_setenv reset
if [ -n "$(ENV_DEVICE)" ]; then sed -i 's/$(ROOT_DEVICE)/$(ENV_DEVICE)/' /etc/fw_env.config; fi
umount /dev/$(DISK)1
rm -rf u-boot-2020.04
rpi4b-boot-cmd-mender:
define BOOTCMD_RPI4_MENDER
run mender_setup
load $${mender_uboot_root} $${kernel_addr_r} boot/Image
load $${mender_uboot_root} $${fdt_addr_r} boot/machine.dtb
setenv bootargs console=tty1 panic=10 panic_on_oops=1 root=$${mender_kernel_root} rootfstype=ext4 ro rootwait elevator=noop bcm2835-wdt.nowayout=1 quiet loglevel=3 systemd.show_status=1
booti $${kernel_addr_r} - $${fdt_addr_r}
run mender_try_to_recover
endef
export BOOTCMD_RPI4_MENDER
rpi4b-fw_env.config-mender:
define FW_ENV_RPI4_MENDER
/dev/$(ROOT_DEVICE) 0x400000 0x20000
/dev/$(ROOT_DEVICE) 0x800000 0x20000
endef
export FW_ENV_RPI4_MENDER
rpi4b-config-mender:
define RPI4CONFIG_MENDER
[pi4]
kernel=u-boot.bin
max_framebuffers=2
[all]
arm_64bit=1
enable_uart=1
dtparam=i2c=on
dtparam=spi=on
dtparam=act_led_trigger=heartbeat
dtparam=pwr_led_trigger=mmc0
dtparam=audio=on
device_tree_address=0x02000000
dtoverlay=vc4-fkms-v3d,cma-128
endef
export RPI4CONFIG_MENDER
amlogics905x: amlogics905x-boot-cmd amlogics905x-fw_env.config
tar xf u-boot-2020.04.tar.bz2
$(MAKE) -C u-boot-2020.04 p212_defconfig
......
bin
/sbin/.*
/var/lock/.*
etc
/etc/.*
bin
/sbin/.*
/var/lock/.*
etc
/etc/.*
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment