HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //etc/flash-kernel/bootscript/bootscr.zynqmp
# This is a boot script for U-Boot
# Generate boot.scr:
# mkimage -c none -A arm -T script -d boot.cmd boot.scr
# For initrd, when using a file override:
# mkimage -A arm -O linux -T ramdisk -d initrd.img rootfs.cpio.gz.u-boot
# Kernel "Image" file must be of EFI type:
# - Get vmlinuz from Ubuntu rootfs and uncompress
# system.dtb is a normal dtb file
#
################

@@UBOOT_ENV_EXTRA@@

for boot_target in ${boot_targets};
do
	if test "${boot_target}" = "jtag" ; then
		booti 0x00200000 0x04000000 0x00100000
		exit;
	fi
	if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" ; then
		# Load alternative bitstream if present
		if test -e ${devtype} ${devnum}:${distro_bootpart} /system.bit; then
			echo "Loading alternative bitstream"
			load ${devtype} ${devnum}:${distro_bootpart} 0x10000000 system.bit
			fpga load 0 0x10000000 $filesize
		fi
		# Load different cma on zynqmp boards
		setenv bootargs "earlycon console=ttyPS0,115200 console=tty1 root=/dev/mmcblk0p2 uio_pdrv_genirq.of_id=generic-uio"
		fdt addr $fdtcontroladdr
		# For ZCU: ZynqMP ZCU10* Rev*
		# For Kria: ZynqMP K26 Rev*
		fdt get value model_test / model
		if setexpr model_test gsub '.*104.*' 104; then
			setenv bootargs "${bootargs} cma=700M"
		elif setexpr model_test gsub '.*106.*' 106; then
			setenv bootargs "${bootargs} cma=1200M"
		else
			setenv bootargs "${bootargs} cma=1000M"
		fi
		# Get custom values from /etc/default/u-boot-xlnx
		setenv bootargs "@@LINUX_KERNEL_CMDLINE_DEFAULTS@@ ${bootargs} @@LINUX_KERNEL_CMDLINE@@"
		img_addr=-
		initrd_addr=-

		# Take dtb from boot image unless Kria, where we take from FIT
		if setexpr model_test gsub '.*K26.*' K26; then
			dtb_addr=0x10000000
		else
			dtb_addr=$fdtcontroladdr
		fi

		if test -e ${devtype} ${devnum}:${distro_bootpart} /Image; then
			echo "Loading Image"
			img_addr=0x00200000
			load ${devtype} ${devnum}:${distro_bootpart} ${img_addr} Image;
		fi
		if test -e ${devtype} ${devnum}:${distro_bootpart} /system.dtb; then
			echo "Loading system.dtb"
			dtb_addr=0x70000000
			load ${devtype} ${devnum}:${distro_bootpart} ${dtb_addr} system.dtb;
		fi
		if test -e ${devtype} ${devnum}:${distro_bootpart} /rootfs.cpio.gz.u-boot; then
			echo "Loading rootfs.cpio.gz.u-boot"
			initrd_addr=0x04000000
			load ${devtype} ${devnum}:${distro_bootpart} ${initrd_addr} rootfs.cpio.gz.u-boot
		fi

		@@UBOOT_PREBOOT_EXTRA@@

		if test $img_addr = "-" || test $initrd_addr = "-"; then
			if test -e ${devtype} ${devnum}:${distro_bootpart} /image.fit; then
				echo "Loading image.fit"
				load ${devtype} ${devnum}:${distro_bootpart} 0x10000000 image.fit;
				if test $img_addr = "-"; then
					img_addr=0x10000000
				fi
				if test $initrd_addr = "-"; then
					initrd_addr=0x10000000
				fi
			fi
		fi
		if test "${img_addr}" -eq "0x10000000"; then
			bootm ${img_addr} ${initrd_addr} ${dtb_addr}
		elif test "${img_addr}" -eq "0x00200000"; then
			booti ${img_addr} ${initrd_addr} ${dtb_addr}
		fi
		echo "No kernel found in ${devtype}"
		exit;
	fi
	if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then
		sf probe 0 0 0;
		if test "image.fit" = "image.fit"; then
			sf read 0x10000000 0xF00000 0x6400000;
			bootm 0x10000000;
			exit;
		fi
		if test "image.fit" = "Image"; then
			sf read 0x00200000 0xF00000 0x1D00000;
			sf read 0x04000000 0x4000000 0x4000000
			booti 0x00200000 0x04000000 0x00100000
			exit;
		fi
		exit;
	fi
	if test "${boot_target}" = "nand" || test "${boot_target}" = "nand0"; then
		nand info
		if test "image.fit" = "image.fit"; then
			nand read 0x10000000 0x4100000 0x6400000;
			bootm 0x10000000;
			exit;
		fi
		if test "image.fit" = "Image"; then
			nand read 0x00200000 0x4100000 0x3200000;
			nand read 0x04000000 0x7800000 0x3200000;
			booti 0x00200000 0x04000000 0x00100000
			exit;
		fi
	fi
done