| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | |
| /* | |
| * Copyright (c) 2024-2026 TQ-Systems GmbH <u-boot@ew.tq-group.com>, | |
| * D-82229 Seefeld, Germany. | |
| * Author: Max Merchel | |
| * | |
| * shared nfs environment for TQ boards | |
| */ | |
| addnfs= | |
| setenv bootargs "${bootargs}" root=/dev/nfs rw | |
| nfsroot="${serverip}":"${rootpath}",v3,tcp | |
| load_nfs= | |
| nfs "${kernel_addr_r}" "${serverip}":"${rootpath}"/boot/"${image}"; | |
| nfs "${fdt_addr_r}" "${serverip}":"${rootpath}"/boot/"${fdtfile}"; | |
| fdt address "${fdt_addr_r}"; | |
| fdt resize 0x100000; | |
| for overlay in "${fdt_overlays}"; do | |
| nfs "${fdtoverlay_addr_r}" | |
| "${serverip}":"${rootpath}"/boot/"${overlay}" && | |
| fdt apply "${fdtoverlay_addr_r}"; | |
| done; | |
| load_tftp= | |
| tftp "${kernel_addr_r}" "${image}"; | |
| tftp "${fdt_addr_r}" "${fdtfile}"; | |
| fdt address "${fdt_addr_r}"; | |
| fdt resize 0x100000; | |
| for overlay in "${fdt_overlays}"; do | |
| if tftp "${fdtoverlay_addr_r}" "${overlay}"; then | |
| fdt apply "${fdtoverlay_addr_r}"; | |
| else | |
| exit; | |
| fi; | |
| done; | |
| netargs=run addnfs addip addtty | |
| netloadcmd=load_tftp | |
| nfsboot= | |
| echo "Booting from NFS ..."; | |
| setenv bootargs; | |
| run netargs; | |
| run check_ipaddr; | |
| if run ${netloadcmd}; then | |
| run boot_os; | |
| else | |
| echo "ERROR: loading from NFS"; | |
| fi; |