[RESEND PATCH] arm: kirkwood: nsa310s: Add Distro boot capability
Tony Dinh
mibodhi at gmail.com
Fri Aug 12 10:32:50 CEST 2022
Hi Stefan,
On Thu, Aug 11, 2022 at 10:29 PM Stefan Roese <sr at denx.de> wrote:
>
> Hi Tony,
>
> On 12.08.22 01:40, Tony Dinh wrote:
> > - Add distro boot to board include file and deconfig file
> > - Miscellaneous changes:
> > - Remove Gerald from maintainer list (email bounced)
> > - Add CONFIG_SUPPORT_PASSING_ATAGS and friends to support legacy
> > kernel method of booting (e.g. OpenWrt) with appended DTB.
> > - Add CONFIG_UBIFS_SILENCE_MSG to reduce binary size.
> >
> > Note that this patch is depended on the following patch:
> > https://patchwork.ozlabs.org/project/uboot/patch/20220807192709.21717-1-pali@kernel.org/
> >
> > Signed-off-by: Tony Dinh <mibodhi at gmail.com>
>
> So did you change anything here? Last time you mentioned, that you need
> to resend this patch. I assumed that you needed to make some changes.
Sorry, I was not clear about the reason for RESEND. I inadvertently
removed the existing envs for booting with the UBIFS partition. In
this patch, I only implemented distro boot for USB and SATA, so I
should keep UBI booting the same way as before. In this RESED patch
I've restored those envs.
#define CONFIG_EXTRA_ENV_SETTINGS \
"console=console=ttyS0,115200\0" \
"kernel=/boot/zImage\0" \
"fdt=/boot/nsa310s.dtb\0" \
- "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0"
+ "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0" \
+ LOAD_ADDRESS_ENV_SETTINGS \
+ BOOTENV
+
Thanks,
Tony
>
> Thanks,
> Stefan
>
> > ---
> >
> > board/zyxel/nsa310s/MAINTAINERS | 1 -
> > configs/nsa310s_defconfig | 17 +++++------------
> > include/configs/nsa310s.h | 31 +++++++++++++++++++++++++++++--
> > 3 files changed, 34 insertions(+), 15 deletions(-)
> >
> > diff --git a/board/zyxel/nsa310s/MAINTAINERS b/board/zyxel/nsa310s/MAINTAINERS
> > index d153758c21..11106acf3e 100644
> > --- a/board/zyxel/nsa310s/MAINTAINERS
> > +++ b/board/zyxel/nsa310s/MAINTAINERS
> > @@ -1,5 +1,4 @@
> > NSA310S BOARD
> > -M: Gerald Kerma <dreagle at doukki.net>
> > M: Tony Dinh <mibodhi at gmail.com>
> > M: Luka Perkov <luka.perkov at sartura.hr>
> > S: Maintained
> > diff --git a/configs/nsa310s_defconfig b/configs/nsa310s_defconfig
> > index 2b39ae74b3..a5f01ef88e 100644
> > --- a/configs/nsa310s_defconfig
> > +++ b/configs/nsa310s_defconfig
> > @@ -4,6 +4,9 @@ CONFIG_SYS_DCACHE_OFF=y
> > CONFIG_ARCH_CPU_INIT=y
> > CONFIG_SYS_THUMB_BUILD=y
> > CONFIG_ARCH_KIRKWOOD=y
> > +CONFIG_SUPPORT_PASSING_ATAGS=y
> > +CONFIG_CMDLINE_TAG=y
> > +CONFIG_INITRD_TAG=y
> > CONFIG_SYS_KWD_CONFIG="board/zyxel/nsa310s/kwbimage.cfg"
> > CONFIG_SYS_TEXT_BASE=0x600000
> > CONFIG_SYS_MALLOC_F_LEN=0x400
> > @@ -14,35 +17,25 @@ CONFIG_ENV_OFFSET=0xE0000
> > CONFIG_DEFAULT_DEVICE_TREE="kirkwood-nsa310s"
> > CONFIG_IDENT_STRING="\nZyXEL NSA310S/320S 1/2-Bay Power Media Server"
> > CONFIG_SYS_LOAD_ADDR=0x800000
> > +CONFIG_DISTRO_DEFAULTS=y
> > CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> > CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc8012000
> > CONFIG_BOOTDELAY=3
> > -CONFIG_USE_BOOTCOMMAND=y
> > -CONFIG_BOOTCOMMAND="setenv bootargs ${console} ${mtdparts} ${bootargs_root}; ubi part root; ubifsmount ubi:rootfs; ubifsload 0x800000 ${kernel}; ubifsload 0x700000 ${fdt}; ubifsumount; fdt addr 0x700000; fdt resize; fdt chosen; bootz 0x800000 - 0x700000"
> > CONFIG_USE_PREBOOT=y
> > # CONFIG_DISPLAY_BOARDINFO is not set
> > -CONFIG_HUSH_PARSER=y
> > CONFIG_SYS_PROMPT="NSA310s> "
> > CONFIG_SYS_MAXARGS=32
> > CONFIG_SYS_PBSIZE=1050
> > -CONFIG_CMD_BOOTZ=y
> > # CONFIG_CMD_FLASH is not set
> > CONFIG_CMD_NAND=y
> > CONFIG_CMD_SATA=y
> > CONFIG_CMD_USB=y
> > # CONFIG_CMD_SETEXPR is not set
> > -CONFIG_CMD_DHCP=y
> > -CONFIG_CMD_MII=y
> > -CONFIG_CMD_PING=y
> > -CONFIG_CMD_EXT2=y
> > -CONFIG_CMD_FAT=y
> > -CONFIG_CMD_FS_GENERIC=y
> > CONFIG_CMD_JFFS2=y
> > CONFIG_CMD_MTDPARTS=y
> > CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
> > CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0xe0000 at 0x0(uboot),0x20000 at 0xe0000(uboot_env),0x100000 at 0x100000(second_stage_uboot),- at 0x200000(root)"
> > CONFIG_CMD_UBI=y
> > -CONFIG_ISO_PARTITION=y
> > CONFIG_OF_CONTROL=y
> > CONFIG_ENV_OVERWRITE=y
> > CONFIG_ENV_IS_IN_NAND=y
> > @@ -65,6 +58,6 @@ CONFIG_MII=y
> > CONFIG_SYS_NS16550=y
> > CONFIG_USB=y
> > CONFIG_USB_EHCI_HCD=y
> > -CONFIG_USB_STORAGE=y
> > +CONFIG_UBIFS_SILENCE_MSG=y
> > CONFIG_LZMA=y
> > CONFIG_BZIP2=y
> > diff --git a/include/configs/nsa310s.h b/include/configs/nsa310s.h
> > index 027a47b5a3..62f0701180 100644
> > --- a/include/configs/nsa310s.h
> > +++ b/include/configs/nsa310s.h
> > @@ -9,15 +9,42 @@
> > #ifndef _CONFIG_NSA310S_H
> > #define _CONFIG_NSA310S_H
> >
> > +/*
> > + * mv-common.h should be defined after CMD configs since it used them
> > + * to enable certain macros
> > + */
> > #include "mv-common.h"
> >
> > -/* default environment variables */
> > +/* Include the common distro boot environment */
> > +#ifndef CONFIG_SPL_BUILD
> > +
> > +#define BOOT_TARGET_DEVICES(func) \
> > + func(USB, usb, 0) \
> > + func(SATA, sata, 0) \
> > + func(DHCP, dhcp, na)
> > +
> > +#define KERNEL_ADDR_R __stringify(0x800000)
> > +#define FDT_ADDR_R __stringify(0x2c00000)
> > +#define RAMDISK_ADDR_R __stringify(0x01100000)
> > +#define SCRIPT_ADDR_R __stringify(0x200000)
> > +
> > +#define LOAD_ADDRESS_ENV_SETTINGS \
> > + "kernel_addr_r=" KERNEL_ADDR_R "\0" \
> > + "fdt_addr_r=" FDT_ADDR_R "\0" \
> > + "ramdisk_addr_r=" RAMDISK_ADDR_R "\0" \
> > + "scriptaddr=" SCRIPT_ADDR_R "\0"
> > +
> > +#include <config_distro_bootcmd.h>
> >
> > #define CONFIG_EXTRA_ENV_SETTINGS \
> > "console=console=ttyS0,115200\0" \
> > "kernel=/boot/zImage\0" \
> > "fdt=/boot/nsa310s.dtb\0" \
> > - "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0"
> > + "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0" \
> > + LOAD_ADDRESS_ENV_SETTINGS \
> > + BOOTENV
> > +
> > +#endif /* CONFIG_SPL_BUILD */
> >
> > /* Ethernet driver configuration */
> > #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */
>
> Viele Grüße,
> Stefan Roese
>
> --
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list