mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-03 21:48:15 +00:00 
			
		
		
		
	This setup is a bit special as Linux kernel (4.19) is not supporting in-kernel NFS rootfs mount and Distributed Switch Architecture (DSA) operation. For that reason it was necessary to provide a bootarg to allow userspace enable it afterwards if needed. Signed-off-by: Lukasz Majewski <lukma@denx.de>
		
			
				
	
	
		
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0+
 | 
						|
#
 | 
						|
# Copyright (C) 2018
 | 
						|
# Lukasz Majewski, DENX Software Engineering, lukma@denx.de
 | 
						|
# This is an example file to generate boot.scr - a boot script for U-Boot
 | 
						|
# Generate boot.scr:
 | 
						|
# ./tools/mkimage -c none -A arm -T script -d tpcboot.cmd boot.scr
 | 
						|
#
 | 
						|
 | 
						|
 | 
						|
# Input envs (to be set in environment)
 | 
						|
# Mandatory:
 | 
						|
# kernel_file = "fitImage"
 | 
						|
# boardname = "XXXX"  // set automatically in u-boot
 | 
						|
# boardsoc = "imx6q"  // set automatically in u-boot
 | 
						|
#
 | 
						|
# Optional:
 | 
						|
# bootcmd_force = "nfs" "tftp_kernel"
 | 
						|
# If not set - eMMC/SD boot
 | 
						|
 | 
						|
# Generic setup
 | 
						|
setenv mmcroot "/dev/mmcblk${devnum}p2 rootwait rw"
 | 
						|
setenv displayargs ""
 | 
						|
setenv mmcargs "setenv bootargs console=${console} ${smp} root=${mmcroot} \
 | 
						|
	${displayargs}"
 | 
						|
setenv miscadj "
 | 
						|
if test '${boardsoc}' = 'imx53'; then
 | 
						|
       setenv bootargs '${bootargs} di=${dig_in} key1=${key1}';
 | 
						|
fi;"
 | 
						|
setenv nfsadj "
 | 
						|
if test '${boardsoc}' = 'imx53'; then
 | 
						|
   if test '${boardtype}' = 'hsc'; then
 | 
						|
       setenv bootargs '${bootargs} dsa_core.blacklist=yes';
 | 
						|
   fi;
 | 
						|
fi;"
 | 
						|
setenv boot_fitImage "
 | 
						|
	setenv fdt_conf 'conf@${boardsoc}-${boardname}.dtb';
 | 
						|
	setenv itbcfg "\"#\${fdt_conf}\"";
 | 
						|
	print itbcfg;
 | 
						|
	bootm '${loadaddr}${itbcfg}';"
 | 
						|
 | 
						|
#------------------------------------------------------------
 | 
						|
#
 | 
						|
# Provide default 'bootcmd' command
 | 
						|
#------------------------------------------------------------
 | 
						|
setenv bootcmd "
 | 
						|
if test -e ${devtype} ${devnum}:${distro_bootpart} ${kernel_file}; then
 | 
						|
	echo Found kernel image: ${kernel_file};
 | 
						|
	if load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} \
 | 
						|
	   ${kernel_file}; then
 | 
						|
		run mmcargs;
 | 
						|
		run miscadj;
 | 
						|
		run boot_fitImage;
 | 
						|
	fi;
 | 
						|
fi;"
 | 
						|
 | 
						|
#------------------------------------------------------------
 | 
						|
#
 | 
						|
# Provide 'boot_tftp_kernel' command
 | 
						|
#------------------------------------------------------------
 | 
						|
setenv download_kernel "dhcp ${loadaddr} ${kernel_file}"
 | 
						|
 | 
						|
setenv boot_tftp_kernel "
 | 
						|
if run download_kernel; then
 | 
						|
	run mmcargs;
 | 
						|
	run miscadj;
 | 
						|
	run boot_fitImage;
 | 
						|
fi"
 | 
						|
 | 
						|
#------------------------------------------------------------
 | 
						|
#
 | 
						|
# Provide 'boot_nfs' command
 | 
						|
#------------------------------------------------------------
 | 
						|
setenv nfsargs "setenv bootargs root=/dev/nfs rw nfsroot='${rootpath}',nolock,nfsvers=3"
 | 
						|
setenv addip "setenv bootargs '${bootargs}' ip='${ipaddr}':'${serverip}':'${gatewayip}':'${netmask}':'${hostname}':eth0:on"
 | 
						|
 | 
						|
setenv boot_nfs "
 | 
						|
if run download_kernel; then
 | 
						|
	run nfsargs;
 | 
						|
	run addip;
 | 
						|
	run nfsadj;
 | 
						|
	setenv bootargs '${bootargs}' console=${console};
 | 
						|
 | 
						|
	run boot_fitImage;
 | 
						|
fi"
 | 
						|
 | 
						|
#------------------------------------------------------------
 | 
						|
#
 | 
						|
# Set correct boot flow
 | 
						|
#------------------------------------------------------------
 | 
						|
 | 
						|
setenv bcmd "
 | 
						|
if test ! -n ${bootcmd_force}; then
 | 
						|
	run bootcmd;
 | 
						|
fi;
 | 
						|
if test ${bootcmd_force} = nfs; then
 | 
						|
	run boot_nfs;
 | 
						|
else if test ${bootcmd_force} = tftp_kernel; then
 | 
						|
	run boot_tftp_kernel;
 | 
						|
     fi;
 | 
						|
fi"
 | 
						|
 | 
						|
run bcmd
 |