You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When l try to build the kernel for the newest kernel version 5.10.y,l find there is no build target for BCM2710A1, which used for raspberrypi zero 2 w.
Steps to reproduce the behaviour
input
'''
cd linux
make help
'''
to see the build target
Device (s)
Raspberry Pi Zero 2 W
System
Raspberry Pi reference 2022-01-28
Jan 20 2022 13:58:22
Copyright (c) 2012 Broadcom
version bd88f66f8952d34e4e0613a85c7a6d3da49e13e2 (clean) (release) (start)
Linux raspberrypi 5.10.92-v7+ #1514 SMP Mon Jan 17 17:36:39 GMT 2022 armv7l GNU/Linux
Logs
pi@raspberrypi:~/bluetooth/linux $ make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
Configuration targets:
config - Update current config utilising a line-oriented program
nconfig - Update current config utilising a ncurses menu based program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a Qt based front-end
gconfig - Update current config utilising a GTK+ based front-end
oldconfig - Update current config utilising a provided .config as base
localmodconfig - Update current config disabling modules not loaded
except those preserved by LMC_KEEP environment variable
localyesconfig - Update current config converting local mods to core
except those preserved by LMC_KEEP environment variable
defconfig - New config with default from ARCH supplied defconfig
savedefconfig - Save current config as ./defconfig (minimal config)
allnoconfig - New config where all options are answered with no
allyesconfig - New config where all options are accepted with yes
allmodconfig - New config selecting modules when possible
alldefconfig - New config with all symbols set to default
randconfig - New config with random answer to all options
yes2modconfig - Change answers from yes to mod if possible
mod2yesconfig - Change answers from mod to yes if possible
listnewconfig - List new options
helpnewconfig - List new options and help text
olddefconfig - Same as oldconfig but sets new symbols to their
default value without prompting
tinyconfig - Configure the tiniest possible kernel
testconfig - Run Kconfig unit tests (requires python3 and pytest)
Other generic targets:
all - Build all targets marked with [*]
vmlinux - Build the bare kernel
modules - Build all modules
modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
dir/ - Build all files in dir and below
dir/file.[ois] - Build specified target only
dir/file.ll - Build the LLVM assembly file
(requires compiler support for LLVM assembly generation)
dir/file.lst - Build specified mixed source/assembly target only
(requires a recent binutils and recent build (System.map))
dir/file.ko - Build module including final link
modules_prepare - Set up for building external modules
tags/TAGS - Generate tags file for editors
cscope - Generate cscope index
gtags - Generate GNU GLOBAL index
kernelrelease - Output the release version string (use with make -s)
kernelversion - Output the version stored in Makefile (use with make -s)
image_name - Output the image name (use with make -s)
headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
(default: ./usr)
Static analysers:
checkstack - Generate a list of stack hogs
versioncheck - Sanity check on version.h usage
includecheck - Check for duplicate included header files
export_report - List the usages of all exported symbols
headerdep - Detect inclusion cycles in headers
coccicheck - Check with Coccinelle
clang-analyzer - Check with clang static analyzer
clang-tidy - Check with clang-tidy
Tools:
nsdeps - Generate missing symbol namespace dependencies
Kernel selftest:
kselftest - Build and run kernel selftest
Build, install, and boot kernel before
running kselftest on it
Run as root for full coverage
kselftest-all - Build kernel selftest
kselftest-install - Build and install kernel selftest
kselftest-clean - Remove all generated kselftest files
kselftest-merge - Merge all the config dependencies of
kselftest to existing .config.
Devicetree:
dtbs - Build device tree blobs for enabled boards
dtbs_install - Install dtbs to /boot/dtbs/5.10.95-v7l+
dt_binding_check - Validate device tree binding documents
dtbs_check - Validate device tree source files
Userspace tools targets:
use "make tools/help"
or "cd tools; make help"
Kernel packaging:
rpm-pkg - Build both source and binary RPM kernel packages
binrpm-pkg - Build only the binary kernel RPM package
deb-pkg - Build both source and binary deb kernel packages
bindeb-pkg - Build only the binary kernel deb package
snap-pkg - Build only the binary kernel snap package
(will connect to external hosts)
dir-pkg - Build the kernel as a plain directory structure
tar-pkg - Build the kernel as an uncompressed tarball
targz-pkg - Build the kernel as a gzip compressed tarball
tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
tarxz-pkg - Build the kernel as a xz compressed tarball
perf-tar-src-pkg - Build perf-5.10.95.tar source tarball
perf-targz-src-pkg - Build perf-5.10.95.tar.gz source tarball
perf-tarbz2-src-pkg - Build perf-5.10.95.tar.bz2 source tarball
perf-tarxz-src-pkg - Build perf-5.10.95.tar.xz source tarball
Documentation targets:
Linux kernel internal documentation in different formats from ReST:
htmldocs - HTML
latexdocs - LaTeX
pdfdocs - PDF
epubdocs - EPUB
xmldocs - XML
linkcheckdocs - check for broken external links
(will connect to external hosts)
refcheckdocs - check for references to non-existing files under
Documentation
cleandocs - clean all generated files
make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2
valid values for SPHINXDIRS are: PCI RCU accounting admin-guide arm arm64 block bpf cdrom core-api cpu-freq crypto dev-tools devicetree doc-guide driver-api fault-injection fb filesystems firmware-guide fpga gpu hid hwmon i2c ia64 ide iio infiniband input isdn kbuild kernel-hacking leds livepatch locking m68k maintainer mhi mips misc-devices netlabel networking openrisc parisc pcmcia power powerpc process riscv s390 scheduler scsi security sh sound sparc spi staging target timers trace translations usb userspace-api virt vm w1 watchdog x86 xtensa
make SPHINX_CONF={conf-file} [target] use additional sphinx-build
configuration. This is e.g. useful to build with nit-picking config.
Default location for the generated documents is Documentation/output
xipImage - XIP kernel image, if configured (arch/arm/boot/xipImage)
uImage - U-Boot wrapped zImage
bootpImage - Combined zImage and initial RAM disk
(supply initrd image via make variable INITRD=)
install - Install uncompressed kernel
zinstall - Install compressed kernel
uinstall - Install U-Boot wrapped compressed kernel
Install using (your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
vdso_install - Install unstripped vdso.so to $(INSTALL_MOD_PATH)/vdso
am200epdkit_defconfig - Build for am200epdkit
aspeed_g4_defconfig - Build for aspeed_g4
aspeed_g5_defconfig - Build for aspeed_g5
assabet_defconfig - Build for assabet
at91_dt_defconfig - Build for at91_dt
axm55xx_defconfig - Build for axm55xx
badge4_defconfig - Build for badge4
bcm2709_defconfig - Build for bcm2709
bcm2711_defconfig - Build for bcm2711
bcm2835_defconfig - Build for bcm2835
bcmrpi_defconfig - Build for bcmrpi
cerfcube_defconfig - Build for cerfcube
clps711x_defconfig - Build for clps711x
cm_x300_defconfig - Build for cm_x300
cns3420vb_defconfig - Build for cns3420vb
colibri_pxa270_defconfig - Build for colibri_pxa270
colibri_pxa300_defconfig - Build for colibri_pxa300
collie_defconfig - Build for collie
corgi_defconfig - Build for corgi
davinci_all_defconfig - Build for davinci_all
dove_defconfig - Build for dove
ebsa110_defconfig - Build for ebsa110
efm32_defconfig - Build for efm32
ep93xx_defconfig - Build for ep93xx
eseries_pxa_defconfig - Build for eseries_pxa
exynos_defconfig - Build for exynos
ezx_defconfig - Build for ezx
footbridge_defconfig - Build for footbridge
gemini_defconfig - Build for gemini
h3600_defconfig - Build for h3600
h5000_defconfig - Build for h5000
hackkit_defconfig - Build for hackkit
hisi_defconfig - Build for hisi
imote2_defconfig - Build for imote2
imx_v4_v5_defconfig - Build for imx_v4_v5
imx_v6_v7_defconfig - Build for imx_v6_v7
integrator_defconfig - Build for integrator
iop32x_defconfig - Build for iop32x
ixp4xx_defconfig - Build for ixp4xx
jornada720_defconfig - Build for jornada720
keystone_defconfig - Build for keystone
lart_defconfig - Build for lart
lpc18xx_defconfig - Build for lpc18xx
lpc32xx_defconfig - Build for lpc32xx
lpd270_defconfig - Build for lpd270
lubbock_defconfig - Build for lubbock
magician_defconfig - Build for magician
mainstone_defconfig - Build for mainstone
milbeaut_m10v_defconfig - Build for milbeaut_m10v
mini2440_defconfig - Build for mini2440
mmp2_defconfig - Build for mmp2
moxart_defconfig - Build for moxart
mps2_defconfig - Build for mps2
multi_v4t_defconfig - Build for multi_v4t
multi_v5_defconfig - Build for multi_v5
multi_v7_defconfig - Build for multi_v7
mv78xx0_defconfig - Build for mv78xx0
mvebu_v5_defconfig - Build for mvebu_v5
mvebu_v7_defconfig - Build for mvebu_v7
mxs_defconfig - Build for mxs
neponset_defconfig - Build for neponset
netwinder_defconfig - Build for netwinder
nhk8815_defconfig - Build for nhk8815
omap1_defconfig - Build for omap1
omap2plus_defconfig - Build for omap2plus
orion5x_defconfig - Build for orion5x
oxnas_v6_defconfig - Build for oxnas_v6
palmz72_defconfig - Build for palmz72
pcm027_defconfig - Build for pcm027
pleb_defconfig - Build for pleb
prima2_defconfig - Build for prima2
pxa168_defconfig - Build for pxa168
pxa255-idp_defconfig - Build for pxa255-idp
pxa3xx_defconfig - Build for pxa3xx
pxa910_defconfig - Build for pxa910
pxa_defconfig - Build for pxa
qcom_defconfig - Build for qcom
realview_defconfig - Build for realview
rpc_defconfig - Build for rpc
s3c2410_defconfig - Build for s3c2410
s3c6400_defconfig - Build for s3c6400
s5pv210_defconfig - Build for s5pv210
sama5_defconfig - Build for sama5
shannon_defconfig - Build for shannon
shmobile_defconfig - Build for shmobile
simpad_defconfig - Build for simpad
socfpga_defconfig - Build for socfpga
spear13xx_defconfig - Build for spear13xx
spear3xx_defconfig - Build for spear3xx
spear6xx_defconfig - Build for spear6xx
spitz_defconfig - Build for spitz
stm32_defconfig - Build for stm32
sunxi_defconfig - Build for sunxi
tango4_defconfig - Build for tango4
tct_hammer_defconfig - Build for tct_hammer
tegra_defconfig - Build for tegra
trizeps4_defconfig - Build for trizeps4
u300_defconfig - Build for u300
u8500_defconfig - Build for u8500
versatile_defconfig - Build for versatile
vexpress_defconfig - Build for vexpress
vf610m4_defconfig - Build for vf610m4
viper_defconfig - Build for viper
vt8500_v6_v7_defconfig - Build for vt8500_v6_v7
xcep_defconfig - Build for xcep
zeus_defconfig - Build for zeus
zx_defconfig - Build for zx
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
make V=2 [targets] 2 => give reason for rebuild of target
make O=dir [targets] Locate all output files in "dir", including .config
make C=1 [targets] Check re-compiled c source with $CHECK
(sparse by default)
make C=2 [targets] Force check of all c source with $CHECK
make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections
make W=n [targets] Enable extra build checks, n=1,2,3 where
1: warnings which may be relevant and do not occur too often
Additional context
No response
The text was updated successfully, but these errors were encountered:
tcexeexe
changed the title
There is no build target for BCM2710A1
Raspberry Pi Zero 2 W:There is no build target for BCM2710A1
Feb 2, 2022
Describe the bug
When l try to build the kernel for the newest kernel version 5.10.y,l find there is no build target for BCM2710A1, which used for raspberrypi zero 2 w.

Steps to reproduce the behaviour
input
'''
cd linux
make help
'''
to see the build target
Device (s)
Raspberry Pi Zero 2 W
System
Raspberry Pi reference 2022-01-28
Jan 20 2022 13:58:22
Copyright (c) 2012 Broadcom
version bd88f66f8952d34e4e0613a85c7a6d3da49e13e2 (clean) (release) (start)
Linux raspberrypi 5.10.92-v7+ #1514 SMP Mon Jan 17 17:36:39 GMT 2022 armv7l GNU/Linux
Logs
pi@raspberrypi:~/bluetooth/linux $ make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
Configuration targets:
config - Update current config utilising a line-oriented program
nconfig - Update current config utilising a ncurses menu based program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a Qt based front-end
gconfig - Update current config utilising a GTK+ based front-end
oldconfig - Update current config utilising a provided .config as base
localmodconfig - Update current config disabling modules not loaded
except those preserved by LMC_KEEP environment variable
localyesconfig - Update current config converting local mods to core
except those preserved by LMC_KEEP environment variable
defconfig - New config with default from ARCH supplied defconfig
savedefconfig - Save current config as ./defconfig (minimal config)
allnoconfig - New config where all options are answered with no
allyesconfig - New config where all options are accepted with yes
allmodconfig - New config selecting modules when possible
alldefconfig - New config with all symbols set to default
randconfig - New config with random answer to all options
yes2modconfig - Change answers from yes to mod if possible
mod2yesconfig - Change answers from mod to yes if possible
listnewconfig - List new options
helpnewconfig - List new options and help text
olddefconfig - Same as oldconfig but sets new symbols to their
default value without prompting
tinyconfig - Configure the tiniest possible kernel
testconfig - Run Kconfig unit tests (requires python3 and pytest)
Other generic targets:
all - Build all targets marked with [*]
modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
dir/ - Build all files in dir and below
dir/file.[ois] - Build specified target only
dir/file.ll - Build the LLVM assembly file
(requires compiler support for LLVM assembly generation)
dir/file.lst - Build specified mixed source/assembly target only
(requires a recent binutils and recent build (System.map))
dir/file.ko - Build module including final link
modules_prepare - Set up for building external modules
tags/TAGS - Generate tags file for editors
cscope - Generate cscope index
gtags - Generate GNU GLOBAL index
kernelrelease - Output the release version string (use with make -s)
kernelversion - Output the version stored in Makefile (use with make -s)
image_name - Output the image name (use with make -s)
headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
(default: ./usr)
Static analysers:
checkstack - Generate a list of stack hogs
versioncheck - Sanity check on version.h usage
includecheck - Check for duplicate included header files
export_report - List the usages of all exported symbols
headerdep - Detect inclusion cycles in headers
coccicheck - Check with Coccinelle
clang-analyzer - Check with clang static analyzer
clang-tidy - Check with clang-tidy
Tools:
nsdeps - Generate missing symbol namespace dependencies
Kernel selftest:
kselftest - Build and run kernel selftest
Build, install, and boot kernel before
running kselftest on it
Run as root for full coverage
kselftest-all - Build kernel selftest
kselftest-install - Build and install kernel selftest
kselftest-clean - Remove all generated kselftest files
kselftest-merge - Merge all the config dependencies of
kselftest to existing .config.
Devicetree:
dtbs_install - Install dtbs to /boot/dtbs/5.10.95-v7l+
dt_binding_check - Validate device tree binding documents
dtbs_check - Validate device tree source files
Userspace tools targets:
use "make tools/help"
or "cd tools; make help"
Kernel packaging:
rpm-pkg - Build both source and binary RPM kernel packages
binrpm-pkg - Build only the binary kernel RPM package
deb-pkg - Build both source and binary deb kernel packages
bindeb-pkg - Build only the binary kernel deb package
snap-pkg - Build only the binary kernel snap package
(will connect to external hosts)
dir-pkg - Build the kernel as a plain directory structure
tar-pkg - Build the kernel as an uncompressed tarball
targz-pkg - Build the kernel as a gzip compressed tarball
tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
tarxz-pkg - Build the kernel as a xz compressed tarball
perf-tar-src-pkg - Build perf-5.10.95.tar source tarball
perf-targz-src-pkg - Build perf-5.10.95.tar.gz source tarball
perf-tarbz2-src-pkg - Build perf-5.10.95.tar.bz2 source tarball
perf-tarxz-src-pkg - Build perf-5.10.95.tar.xz source tarball
Documentation targets:
Linux kernel internal documentation in different formats from ReST:
htmldocs - HTML
latexdocs - LaTeX
pdfdocs - PDF
epubdocs - EPUB
xmldocs - XML
linkcheckdocs - check for broken external links
(will connect to external hosts)
refcheckdocs - check for references to non-existing files under
Documentation
cleandocs - clean all generated files
make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2
valid values for SPHINXDIRS are: PCI RCU accounting admin-guide arm arm64 block bpf cdrom core-api cpu-freq crypto dev-tools devicetree doc-guide driver-api fault-injection fb filesystems firmware-guide fpga gpu hid hwmon i2c ia64 ide iio infiniband input isdn kbuild kernel-hacking leds livepatch locking m68k maintainer mhi mips misc-devices netlabel networking openrisc parisc pcmcia power powerpc process riscv s390 scheduler scsi security sh sound sparc spi staging target timers trace translations usb userspace-api virt vm w1 watchdog x86 xtensa
make SPHINX_CONF={conf-file} [target] use additional sphinx-build
configuration. This is e.g. useful to build with nit-picking config.
Default location for the generated documents is Documentation/output
Architecture specific targets (arm):
zImage - Compressed kernel image (arch/arm/boot/zImage)
Image - Uncompressed kernel image (arch/arm/boot/Image)
xipImage - XIP kernel image, if configured (arch/arm/boot/xipImage)
uImage - U-Boot wrapped zImage
bootpImage - Combined zImage and initial RAM disk
(supply initrd image via make variable INITRD=)
install - Install uncompressed kernel
zinstall - Install compressed kernel
uinstall - Install U-Boot wrapped compressed kernel
Install using (your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
vdso_install - Install unstripped vdso.so to $(INSTALL_MOD_PATH)/vdso
am200epdkit_defconfig - Build for am200epdkit
aspeed_g4_defconfig - Build for aspeed_g4
aspeed_g5_defconfig - Build for aspeed_g5
assabet_defconfig - Build for assabet
at91_dt_defconfig - Build for at91_dt
axm55xx_defconfig - Build for axm55xx
badge4_defconfig - Build for badge4
bcm2709_defconfig - Build for bcm2709
bcm2711_defconfig - Build for bcm2711
bcm2835_defconfig - Build for bcm2835
bcmrpi_defconfig - Build for bcmrpi
cerfcube_defconfig - Build for cerfcube
clps711x_defconfig - Build for clps711x
cm_x300_defconfig - Build for cm_x300
cns3420vb_defconfig - Build for cns3420vb
colibri_pxa270_defconfig - Build for colibri_pxa270
colibri_pxa300_defconfig - Build for colibri_pxa300
collie_defconfig - Build for collie
corgi_defconfig - Build for corgi
davinci_all_defconfig - Build for davinci_all
dove_defconfig - Build for dove
ebsa110_defconfig - Build for ebsa110
efm32_defconfig - Build for efm32
ep93xx_defconfig - Build for ep93xx
eseries_pxa_defconfig - Build for eseries_pxa
exynos_defconfig - Build for exynos
ezx_defconfig - Build for ezx
footbridge_defconfig - Build for footbridge
gemini_defconfig - Build for gemini
h3600_defconfig - Build for h3600
h5000_defconfig - Build for h5000
hackkit_defconfig - Build for hackkit
hisi_defconfig - Build for hisi
imote2_defconfig - Build for imote2
imx_v4_v5_defconfig - Build for imx_v4_v5
imx_v6_v7_defconfig - Build for imx_v6_v7
integrator_defconfig - Build for integrator
iop32x_defconfig - Build for iop32x
ixp4xx_defconfig - Build for ixp4xx
jornada720_defconfig - Build for jornada720
keystone_defconfig - Build for keystone
lart_defconfig - Build for lart
lpc18xx_defconfig - Build for lpc18xx
lpc32xx_defconfig - Build for lpc32xx
lpd270_defconfig - Build for lpd270
lubbock_defconfig - Build for lubbock
magician_defconfig - Build for magician
mainstone_defconfig - Build for mainstone
milbeaut_m10v_defconfig - Build for milbeaut_m10v
mini2440_defconfig - Build for mini2440
mmp2_defconfig - Build for mmp2
moxart_defconfig - Build for moxart
mps2_defconfig - Build for mps2
multi_v4t_defconfig - Build for multi_v4t
multi_v5_defconfig - Build for multi_v5
multi_v7_defconfig - Build for multi_v7
mv78xx0_defconfig - Build for mv78xx0
mvebu_v5_defconfig - Build for mvebu_v5
mvebu_v7_defconfig - Build for mvebu_v7
mxs_defconfig - Build for mxs
neponset_defconfig - Build for neponset
netwinder_defconfig - Build for netwinder
nhk8815_defconfig - Build for nhk8815
omap1_defconfig - Build for omap1
omap2plus_defconfig - Build for omap2plus
orion5x_defconfig - Build for orion5x
oxnas_v6_defconfig - Build for oxnas_v6
palmz72_defconfig - Build for palmz72
pcm027_defconfig - Build for pcm027
pleb_defconfig - Build for pleb
prima2_defconfig - Build for prima2
pxa168_defconfig - Build for pxa168
pxa255-idp_defconfig - Build for pxa255-idp
pxa3xx_defconfig - Build for pxa3xx
pxa910_defconfig - Build for pxa910
pxa_defconfig - Build for pxa
qcom_defconfig - Build for qcom
realview_defconfig - Build for realview
rpc_defconfig - Build for rpc
s3c2410_defconfig - Build for s3c2410
s3c6400_defconfig - Build for s3c6400
s5pv210_defconfig - Build for s5pv210
sama5_defconfig - Build for sama5
shannon_defconfig - Build for shannon
shmobile_defconfig - Build for shmobile
simpad_defconfig - Build for simpad
socfpga_defconfig - Build for socfpga
spear13xx_defconfig - Build for spear13xx
spear3xx_defconfig - Build for spear3xx
spear6xx_defconfig - Build for spear6xx
spitz_defconfig - Build for spitz
stm32_defconfig - Build for stm32
sunxi_defconfig - Build for sunxi
tango4_defconfig - Build for tango4
tct_hammer_defconfig - Build for tct_hammer
tegra_defconfig - Build for tegra
trizeps4_defconfig - Build for trizeps4
u300_defconfig - Build for u300
u8500_defconfig - Build for u8500
versatile_defconfig - Build for versatile
vexpress_defconfig - Build for vexpress
vf610m4_defconfig - Build for vf610m4
viper_defconfig - Build for viper
vt8500_v6_v7_defconfig - Build for vt8500_v6_v7
xcep_defconfig - Build for xcep
zeus_defconfig - Build for zeus
zx_defconfig - Build for zx
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
make V=2 [targets] 2 => give reason for rebuild of target
make O=dir [targets] Locate all output files in "dir", including .config
make C=1 [targets] Check re-compiled c source with $CHECK
(sparse by default)
make C=2 [targets] Force check of all c source with $CHECK
make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections
make W=n [targets] Enable extra build checks, n=1,2,3 where
1: warnings which may be relevant and do not occur too often
Additional context
No response
The text was updated successfully, but these errors were encountered: