diff --git a/config/buildroot_nano.patch b/config/buildroot_nano.patch
index 2894e031d58076a90a4240ba5ea3061eef94c849..9353fbbb5f8f4d094a4322853dbbd7664e76e9ba 100644
--- a/config/buildroot_nano.patch
+++ b/config/buildroot_nano.patch
@@ -1,30 +1,30 @@
  board/friendlyarm/nanopi-neo-plus2/boot.cmd        |   6 ++
- board/friendlyarm/nanopi-neo-plus2/genimage.cfg    |   5 +-
+ board/friendlyarm/nanopi-neo-plus2/genimage.cfg    |  10 +-
  .../nanopi-neo-plus2/linux-extras.config           |  10 ++
  .../nanopi-neo-plus2/nanopi-neo-plus2.dts          |   7 ++
  boot/arm-trusted-firmware/arm-trusted-firmware.mk  |   2 +-
- configs/friendlyarm_nanopi_neo_plus2_defconfig     | 107 +++++++++++++--------
+ configs/friendlyarm_nanopi_neo_plus2_defconfig     | 112 +++++++++++++--------
  package/dropbear/S50dropbear                       |   2 +-
  package/openssh/S50sshd                            |   3 +
- 8 files changed, 98 insertions(+), 44 deletions(-)
+ 8 files changed, 105 insertions(+), 47 deletions(-)
 
 diff --git a/board/friendlyarm/nanopi-neo-plus2/boot.cmd b/board/friendlyarm/nanopi-neo-plus2/boot.cmd
 new file mode 100644
-index 0000000000..ec83aa9ef3
+index 0000000000..e2e3de0cba
 --- /dev/null
 +++ b/board/friendlyarm/nanopi-neo-plus2/boot.cmd
 @@ -0,0 +1,6 @@
-+setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
++setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk2p2 rootwait
 +
 +fatload mmc 0 $kernel_addr_r Image
 +fatload mmc 0 $fdt_addr_r nanopi-neo-plus2.dtb
 +
 +booti $kernel_addr_r - $fdt_addr_r
 diff --git a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg
-index fb871abd43..1f87767431 100644
+index 9000201399..1f87767431 100644
 --- a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg
 +++ b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg
-@@ -2,8 +2,8 @@ image boot.vfat {
+@@ -2,11 +2,10 @@ image boot.vfat {
  	vfat {
  		files = {
  			"Image",
@@ -34,8 +34,28 @@ index fb871abd43..1f87767431 100644
 +			"boot.scr"
  		}
  	}
+-
  	size = 64M
-@@ -35,5 +35,6 @@ image sdcard.img {
+ }
+ 
+@@ -17,14 +16,14 @@ image sdcard.img {
+ 	partition spl {
+ 		in-partition-table = "no"
+ 		image = "sunxi-spl.bin"
+-		offset = 8K
++		offset = 8192
+ 	}
+ 
+ 	partition u-boot {
+ 		in-partition-table = "no"
+ 		image = "u-boot.itb"
+ 		offset = 40K
+-		size = 1M # 1MB - 40KB
++		size = 1M # 1MB - 40K
+ 	}
+ 
+ 	partition boot {
+@@ -36,5 +35,6 @@ image sdcard.img {
  	partition rootfs {
  		partition-type = 0x83
  		image = "rootfs.ext4"
@@ -75,23 +95,23 @@ index 0000000000..3e51c39042
 +};
 \ No newline at end of file
 diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk
-index 00b68a30af..12d82a037e 100644
+index 03fa83b7b5..edad2f19ea 100644
 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk
 +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk
-@@ -167,7 +167,7 @@ ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += \
- 
- define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
+@@ -172,7 +172,7 @@ define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
+ 		cp -f $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH) $(@D)/fdts/
+ 	)
  	$(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL)
 -	$(ARM_TRUSTED_FIRMWARE_MAKE_ENV) $(MAKE) -C $(@D) \
-+	$(ARM_TRUSTED_FIRMWARE_MAKE_ENV) CFLAGS=-fno-stack-protector  $(MAKE) -C $(@D) \
++	$(ARM_TRUSTED_FIRMWARE_MAKE_ENV) CFLAGS=-fno-stack-protector $(MAKE) -C $(@D) \
  		$(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
  		$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
  	$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD)
 diff --git a/configs/friendlyarm_nanopi_neo_plus2_defconfig b/configs/friendlyarm_nanopi_neo_plus2_defconfig
-index 461e468cb6..5e4fcbcba4 100644
+index 461e468cb6..249e8af0a5 100644
 --- a/configs/friendlyarm_nanopi_neo_plus2_defconfig
 +++ b/configs/friendlyarm_nanopi_neo_plus2_defconfig
-@@ -1,62 +1,89 @@
+@@ -1,62 +1,94 @@
  BR2_aarch64=y
 -BR2_cortex_a53=y
  BR2_ARM_FPU_VFPV4=y
@@ -99,7 +119,6 @@ index 461e468cb6..5e4fcbcba4 100644
 -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 +BR2_TOOLCHAIN_EXTERNAL=y
 +BR2_PACKAGE_HOST_GDB=y
-+BR2_GDB_VERSION_10=y
 +BR2_TARGET_GENERIC_ISSUE="Welcome to FriendlyARM Nanopi NEO Plus2"
  BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
  BR2_ROOTFS_OVERLAY="board/friendlyarm/nanopi-neo-plus2/rootfs_overlay"
@@ -110,7 +129,7 @@ index 461e468cb6..5e4fcbcba4 100644
 +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-neo-plus2/genimage.cfg"
 +BR2_LINUX_KERNEL=y
 +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.6"
++BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.21"
 +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/friendlyarm/nanopi-neo-plus2/linux-extras.config"
 +BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -122,9 +141,11 @@ index 461e468cb6..5e4fcbcba4 100644
 +BR2_PACKAGE_LINUX_TOOLS_PERF_TUI=y
 +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 +BR2_PACKAGE_GDB=y
++BR2_PACKAGE_GDB_SERVER=y
 +BR2_PACKAGE_GDB_DEBUGGER=y
 +BR2_PACKAGE_GDB_TUI=y
 +BR2_PACKAGE_LSOF=y
++BR2_PACKAGE_LTRACE=y
 +BR2_PACKAGE_STRACE=y
 +BR2_PACKAGE_VALGRIND=y
 +BR2_PACKAGE_LINUX_FIRMWARE=y
@@ -135,6 +156,7 @@ index 461e468cb6..5e4fcbcba4 100644
 +BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
 +BR2_PACKAGE_UBOOT_TOOLS_FIT_CHECK_SIGN=y
 +BR2_PACKAGE_MYSQL=y
++BR2_PACKAGE_MARIADB=y
 +BR2_PACKAGE_SQLITE=y
 +BR2_PACKAGE_SQLITE_STAT4=y
 +BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA=y
@@ -146,12 +168,14 @@ index 461e468cb6..5e4fcbcba4 100644
 +BR2_PACKAGE_JSON_C=y
 +BR2_PACKAGE_JSONCPP=y
 +BR2_PACKAGE_LIBYAML=y
++BR2_PACKAGE_YAML_CPP=y
 +BR2_PACKAGE_DROPBEAR=y
 +BR2_PACKAGE_IPTABLES=y
 +BR2_PACKAGE_IPTABLES_BPF_NFSYNPROXY=y
 +BR2_PACKAGE_IPTABLES_NFTABLES=y
 +BR2_PACKAGE_IPUTILS=y
 +BR2_PACKAGE_IW=y
++BR2_PACKAGE_OPENSSH=y
 +BR2_PACKAGE_WIRELESS_TOOLS=y
 +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
 +BR2_PACKAGE_WPA_SUPPLICANT=y
@@ -181,6 +205,7 @@ index 461e468cb6..5e4fcbcba4 100644
 +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
  BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
  BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
++# BR2_TARGET_UBOOT_FORMAT_BIN is not set
  BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
  BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
  BR2_TARGET_UBOOT_SPL=y
diff --git a/nano-env b/nano-env
index 872f8533bc2fce9a28b227c04dfbf9cb9b2e6e75..a6d51db6eb39f51819958d09b64da5d4b623f295 100755
--- a/nano-env
+++ b/nano-env
@@ -6,15 +6,11 @@ echo "${SCRIPTDIR}"
 #${SCRIPTDIR}/install-environment.sh ${SCRIPTDIR}
 
 #install buildroot repository to generate the U-Boot, the Linux kernel and the rootfs
-#mkdir -p ~/workspace/nano
+mkdir -p ~/workspace/nano
 cd ~/workspace/nano
-#git clone git://git.buildroot.net/buildroot
+git clone git://git.buildroot.net/buildroot
 cd buildroot
-git checkout -b nano 2021.08.1
-
-cd toolchain/toolchain-external/toolchain-external-arm-aarch64
-git checkout 2020.05.3 -- .
-cd ~/workspace/nano/buildroot
+git checkout -b nano 2021.11.1
 
 patch -p1 < ${SCRIPTDIR}/config/buildroot_nano.patch
 make friendlyarm_nanopi_neo_plus2_defconfig