Acknowledged
Created: Jul 24, 2022
Updated: Nov 9, 2023
Resolved Date: Nov 1, 2022
Found In Version: 10.22.33.1
Severity: Standard
Applicable for: Wind River Linux LTS 22
Component/s: BSP
This issue will not affect customer.
1. Create a build directory in local hard disk.
$ cd /buildarea1/xdong/
$ mkdir xilinx-zynq
$ cd xilinx-zynq/
$ pwd
/buildarea1/xdong/xilinx-zynq
2. Setup a xilinx-zynq project.
/lpg-build/cdc/fast_prod/WRL10_22/WRL10_22_GIT/wrlinux-10/setup.sh --machines xilinx-zynq --distro wrlinux --dl-layers --accept-eula=yes
. environment-setup-x86_64-wrlinuxsdk-linux
. oe-init-build-env
bitbake wrlinux-image-std
3. Deploy a kernel modules.
cd ../layers/local/
wget https://jira.wrs.com/secure/attachment/323410/recipes-kmod.tar.bz2
tar -zxf recipes-kmod.tar.bz2
cd ../../build/
4. Specify the kernel module packages to install into an image.
echo 'IMAGE_INSTALL:append = " kernel-test-modules"' >> conf/local.conf
5. Enable strack trace.
Set CONFIG_STACK_TRACER=y by 'bitbake -c menuconfig virtual/kernel'
6. Rebuild kernel and rootfs.
bitbake -f -c compile virtual/kernel && bitbake wrlinux-image-std
7. Copy kernel/dtb/rootfs to nfs server with vlm tool
$ cd /buildarea1/xdong/xilinx-zynq/build/tmp-glibc/deploy/images/xilinx-zynq
$ ls
total 521344
-rw-r--r-- 2 xdong users 43957041 Aug 16 21:53 modules--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.tgz
lrwxrwxrwx 2 xdong users 77 Aug 16 21:53 modules-xilinx-zynq.tgz -> modules--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.tgz
-rw-r--r-- 2 xdong users 8348 Aug 16 22:01 wrlinux-image-std.env
-rw-r--r-- 2 xdong users 83264 Aug 16 22:01 wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.manifest
-rw-r--r-- 2 xdong users 104781820 Aug 16 22:02 wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.tar.bz2
-rw-r--r-- 2 xdong users 910606336 Aug 16 22:02 wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.wic
-rw-r--r-- 2 xdong users 3282 Aug 16 22:02 wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.wic.bmap
-rw-r--r-- 2 xdong users 744140 Aug 16 22:01 wrlinux-image-std-xilinx-zynq-20220816134757.testdata.json
lrwxrwxrwx 2 xdong users 60 Aug 16 22:01 wrlinux-image-std-xilinx-zynq.manifest -> wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.manifest
lrwxrwxrwx 2 xdong users 59 Aug 16 22:02 wrlinux-image-std-xilinx-zynq.tar.bz2 -> wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.tar.bz2
lrwxrwxrwx 2 xdong users 58 Aug 16 22:01 wrlinux-image-std-xilinx-zynq.testdata.json -> wrlinux-image-std-xilinx-zynq-20220816134757.testdata.json
lrwxrwxrwx 2 xdong users 55 Aug 16 22:02 wrlinux-image-std-xilinx-zynq.wic -> wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.wic
lrwxrwxrwx 2 xdong users 60 Aug 16 22:02 wrlinux-image-std-xilinx-zynq.wic.bmap -> wrlinux-image-std-xilinx-zynq-20220816134757.rootfs.wic.bmap
lrwxrwxrwx 2 xdong users 76 Aug 16 21:53 zImage -> zImage--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.bin
-rw-r--r-- 2 xdong users 7267800 Aug 16 21:53 zImage--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.bin
lrwxrwxrwx 2 xdong users 76 Aug 16 21:53 zImage-xilinx-zynq.bin -> zImage--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.bin
-rw-r--r-- 2 xdong users 17191 Aug 16 21:53 zynq-zc702--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.dtb
lrwxrwxrwx 2 xdong users 80 Aug 16 21:53 zynq-zc702.dtb -> zynq-zc702--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.dtb
lrwxrwxrwx 2 xdong users 80 Aug 16 21:53 zynq-zc702-xilinx-zynq.dtb -> zynq-zc702--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.dtb
-rw-r--r-- 2 xdong users 15627 Aug 16 21:53 zynq-zc706--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.dtb
lrwxrwxrwx 2 xdong users 80 Aug 16 21:53 zynq-zc706.dtb -> zynq-zc706--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.dtb
lrwxrwxrwx 2 xdong users 80 Aug 16 21:53 zynq-zc706-xilinx-zynq.dtb -> zynq-zc706--5.15.59+git0+d9823ca271_d27cea3916-r0-xilinx-zynq-20220816134757.dtb
$ cp zImage-xilinx-zynq.bin zynq-zc702-xilinx-zynq.dtb wrlinux-image-std-xilinx-zynq.tar.bz2 ~/xilinx-zynq-image/
$ /folk/vlm/commandline/vlmTool copyFile -t 21122 -d /folk/xdong/xilinx-zynq-image/zynq-zc702-xilinx-zynq.dtb -k /folk/xdong/xilinx-zynq-image/zImage-xilinx-zynq.bin -r /folk/xdong/xilinx-zynq-image/wrlinux-image-std-xilinx-zynq.tar.bz2
8. You can look at the uboot parameters
Zynq> print bootcmd
bootcmd=run nfsboot
Zynq> print nfsboot
nfsboot=run nfsargs;tftpboot ${loadaddr} ${bootfile};tftpboot ${fdtaddr} ${fdtfile};bootz ${loadaddr} - ${fdtaddr}
Zynq> print nfsargs
nfsargs=setenv bootargs console=${consoledev},${baudrate}n8 root=/dev/nfs rw nfsroot=${serverip}:${rootpath},tcp ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${boardname}:${netdev}:off ${othbootargs}
Zynq> boot
9. On a target(zc702/zc706):
root@xilinx-zynq:~# cat /proc/cmdline
console=ttyPS0,115200n8 root=/dev/nfs rw nfsroot=128.224.178.20:/export/pxeboot/vlm-boards/21122/rootfs,tcp ip=128.224.178.123:128.224.178.20:128.224.165.1:255.255.255.0:zc706:eth0:off earlyprintk noinitrd selinux=0 enforcing=0 kmemleak=on
root@xilinx-zynq:~#
root@xilinx-zynq:~# zcat /proc/config.gz |grep STACK_TR
CONFIG_STACK_TRACER=y
root@xilinx-zynq:~# modinfo kernel_stack
filename: /lib/modules/5.15.59-yocto-standard/extra/kernel_stack.ko
license: GPL
author: Linux Test Team
version: 04 July 2021
description: Occupy more memory in kernel stack,and avoid stack overflow for all the ARCH.
srcversion: AA4FA850C8772A4C1CC6F09
depends:
name: kernel_stack
vermagic: 5.15.59-yocto-standard SMP preempt mod_unload ARMv7 p2v8
root@xilinx-zynq:~#
root@xilinx-zynq:~# echo 0 > /sys/kernel/debug/tracing/stack_max_size
root@xilinx-zynq:~# echo 1 > /proc/sys/kernel/stack_tracer_enabled
root@xilinx-zynq:~# modprobe kernel_stack
kernel_stack: loading out-of-tree module taints kernel.
Occupied 4096 / 8192 kernel stack.
From ffffffff827a6e8c To ffffffff827a7e8b.
root@xilinx-zynq:~# cat /sys/kernel/debug/tracing/stack_max_size
5768Have max stack tracer handle the case of return address after data root@xilinx-zynq:~# cat /sys/kernel/debug/tracing/stack_trace
Depth Size Location (35 entries)
----- ---- --------
0) 5808 4 decay_load+0xc/0x7c
1) 5804 32 __accumulate_pelt_segments+0x2c/0x58
2) 5772 56 __update_load_avg_cfs_rq+0x13c/0x278
3) 5716 48 update_cfs_rq_load_avg+0x10c/0x124
4) 5668 48 update_load_avg+0x80/0x344
5) 5620 48 enqueue_task_fair+0x1d4/0x37c
6) 5572 16 activate_task+0x18/0x24
7) 5556 32 ttwu_do_activate+0x98/0xbc
8) 5524 64 try_to_wake_up+0x310/0x340
9) 5460 8 autoremove_wake_function+0x14/0x40
10) 5452 48 __wake_up_common+0xcc/0x130
11) 5404 72 __wake_up_common_lock+0x7c/0xb4
12) 5332 16 __wake_up+0x18/0x20
13) 5316 48 ep_poll_callback+0x15c/0x260
14) 5268 48 __wake_up_common+0xcc/0x130
15) 5220 72 __wake_up_common_lock+0x7c/0xb4
16) 5148 16 __wake_up+0x18/0x20
17) 5132 16 irq_work_single+0x24/0x50
18) 5116 8 irq_work_run_list+0x54/0x5c
19) 5108 24 update_process_times+0xa4/0xc4
20) 5084 56 tick_sched_timer+0xd4/0x21c
21) 5028 64 __hrtimer_run_queues+0x17c/0x288
22) 4964 56 hrtimer_interrupt+0xd4/0x214
23) 4908 8 twd_handler+0x38/0x44
24) 4900 24 handle_percpu_devid_irq+0x60/0x104
25) 4876 8 handle_irq_desc+0x2c/0x3c
26) 4868 16 handle_domain_irq+0x48/0x5c
27) 4852 24 gic_handle_irq+0x70/0x80
28) 4828 64 __irq_svc+0x5c/0x90
29) 4764 184 console_unlock+0x304/0x45c
30) 4580 48 vprintk_emit+0x168/0x180
31) 4532 16 vprintk_default+0x24/0x2c
32) 4516 16 _printk+0x34/0x58
33) 4500 16 occupy_stack_init+0x50/0xac [kernel_stack]
34) 4484 4484 0x1010101
root@xilinx-zynq:~#