I am following this renesas guide for yocto image installation :https://www.renesas.com/us/en/document/mas/rzg2-group-yocto-recipe-start-guide-vlp-v300? r=1467986 and I have added docker in that image.
My board functionality is as below. Kernel: 5.10.83-cip1+gitAUTOINC+e52825e45b Docker version 19.03.8-ce, build afacb8b7f0 Installed docker in yocto using this command: MACHINE_FEATURES_append = " docker"
root@oldsilicon:~#sudo systemctl enable docker root@oldsilicon:~#sudo systemctl start docker root@oldsilicon:~# docker pull helloworld root@oldsilicon:~# docker run hello-world [ 343.095177] IPv6: ADDRCONF(NETDEV_CHANGE): veth0e6d0a7: link becomes ready [ 343.104819] IPv6: ADDRCONF(NETDEV_CHANGE): vethe61d7c2: link becomes ready [ 343.121967] docker0: port 1(veth0e6d0a7) entered blocking state [ 343.129042] docker0: port 1(veth0e6d0a7) entered disabled state [ 343.135825] device veth0e6d0a7 entered promiscuous mode [ 343.142104] kauditd_printk_skb: 29 callbacks suppressed [ 343.142109] audit: type=1700 audit(1675680946.586:44): dev=veth0e6d0a7 prom=256 old_prom=0 auid=4294967295 uid=0 gid=0 ses=4294967295 [ 343.154381] docker0: port 1(veth0e6d0a7) entered blocking state [ 343.165400] docker0: port 1(veth0e6d0a7) entered forwarding state [ 343.174487] IPv6: ADDRCONF(NETDEV_CHANGE): docker0: link becomes ready [ 343.663141] cgroup: cgroup: disabling cgroup2 socket matching due to net_prio or net_cls activation [ 343.966632] Unable to handle kernel paging request at virtual address 000f02fa0202012a [ 343.967549] Unable to handle kernel paging request at virtual address 006b636f642f6dbe [ 343.974630] Mem abort info: [ 343.974643] ESR = 0x96000004 [ 343.982729] Unable to handle kernel paging request at virtual address 000102080102020a [ 343.985329] EC = 0x25: DABT (current EL), IL = 32 bits [ 343.988363] Mem abort info: [ 343.996245] SET = 0, FnV = 0 [ 344.001528] ESR = 0x96000004 [ 344.004307] EA = 0, S1PTW = 0 [ 344.007343] EC = 0x25: DABT (current EL), IL = 32 bits [ 344.010380] Data abort info: [ 344.013502] SET = 0, FnV = 0 [ 344.018788] ISV = 0, ISS = 0x00000004 [ 344.021650] EA = 0, S1PTW = 0 [ 344.024688] CM = 0, WnR = 0 [ 344.028501] Data abort info: [ 344.031626] [000f02fa0202012a] address between user and kernel address ranges [ 344.034574] ISV = 0, ISS = 0x00000004 [ 344.037441] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 344.044538] CM = 0, WnR = 0 [ 344.048352] Modules linked in: [ 344.053897] [000102080102020a] address between user and kernel address ranges [ 344.056847] nf_conntrack_netlink nfnetlink vspm_if(O) vspm(O) mmngrbuf(O) mmngr(O) [ 344.074629] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W O 5.10.83-cip1-yocto-standard #1 [ 344.083722] Hardware name: Renesas SMARC EVK based on r9a07g044c2 (DT) [ 344.090223] pstate: 00400005 (nzcv daif +PAN -UAO -TCO BTYPE=--) [ 344.096213] pc : kfree+0x9c/0x370 [ 344.099518] lr : skb_free_head+0x2c/0x38 [ 344.103421] sp : ffff8000114eb9c0 [ 344.106719] x29: ffff8000114eb9c0 x28: ffff00000a8e4000 [ 344.112010] x27: ffff00001463c400 x26: 0000000000000000 [ 344.117301] x25: 0000000000000000 x24: ffff8000114ebbf8 [ 344.122592] x23: ffff800010a3e904 x22: ffff80001106bc38 [ 344.127883] x21: ffff00000c318000 x20: fb0f02fa02020102 [ 344.133174] x19: fffffe000010c600 x18: 0000000000000000 [ 344.138464] x17: 0000000000000000 x16: 0000000000000000 [ 344.143755] x15: 0000000000000001 x14: 00000000000000c0 [ 344.149045] x13: 0000000000000068 x12: 0000000000000000 [ 344.154335] x11: 0000000000000000 x10: 9a8b555e625f6764 [ 344.159626] x9 : 0000000000000001 x8 : 000000000000001b [ 344.164916] x7 : 000000009706a8c0 x6 : 00000000000000e0 [ 344.170207] x5 : ffff00000fd07600 x4 : fffffdffbffc42a0 [ 344.175497] x3 : 0000000000009068 x2 : 0000000000000000 [ 344.180788] x1 : 0202fb6602fc0102 x0 : 0000000000000030 [ 344.186079] Call trace: [ 344.188519] kfree+0x9c/0x370 [ 344.191473] skb_free_head+0x2c/0x38 [ 344.195033] skb_release_data+0x108/0x1a0 [ 344.199025] skb_release_all+0x28/0x38 [ 344.202758] kfree_skb+0x30/0x90 [ 344.205975] ip_rcv_finish_core.isra.26+0x198/0x390 [ 344.210830] ip_sublist_rcv+0xd0/0x1c8 [ 344.214562] ip_list_rcv+0x10c/0x1b0 [ 344.218124] __netif_receive_skb_list_core+0x194/0x228 [ 344.223240] netif_receive_skb_list_internal+0x188/0x2a0 [ 344.228528] gro_normal_list.part.207+0x20/0x40 [ 344.233038] napi_complete_done+0xc0/0x1e0 [ 344.237119] ravb_poll+0x154/0x420 [ 344.240504] net_rx_action+0x10c/0x360 [ 344.244237] efi_header_end+0x124/0x26c [ 344.248057] irq_exit+0xc0/0xd0 [ 344.251187] __handle_domain_irq+0x68/0xc0 [ 344.255268] gic_handle_irq+0xc0/0x138 [ 344.258999] el1_irq+0xc8/0x180 [ 344.262128] arch_cpu_idle+0x18/0x28 [ 344.265688] default_idle_call+0x24/0x5c [ 344.269595] do_idle+0x204/0x278 [ 344.272809] cpu_startup_entry+0x28/0x68 [ 344.276714] rest_init+0xd4/0xe4 [ 344.279930] arch_call_rest_init+0x10/0x1c [ 344.284008] start_kernel+0x494/0x4c8 [ 344.287659] Code: 9ac022f7 b6b8091e aa1703d7 d503201f (b9402a80) [ 344.293733] ---[ end trace ac5a7aeab11d114e ]--- [ 344.298330] Kernel panic - not syncing: Oops: Fatal exception in interrupt [ 344.305175] SMP: stopping secondary CPUs [ 345.392446] SMP: failed to stop secondary CPUs 0-1 [ 345.397214] Kernel Offset: disabled [ 345.400686] CPU features: 0x0240026,2800a238 [ 345.404935] Memory Limit: none [ 345.407978] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---
Along with this I have added wifi feature for that I am inserting kernel module. If my image doesn't have docker then all the functionality working fine but if I have docker feature added then kernel panic happens
Is this a custom board based on the RZ/G2LC?
How much RAM does it have installed?
What does the "free" command report?
Whenever I apply patch to increase the size of DRAM(in custom board 2gb and in evk 1gb) in uboot's memory node kernel panic happens. As soon as I remove this patch from uboot, everything works fine.
memory@48000000 { device_type = "memory"; /* first 128MB is reserved for secure area. */- reg = <0 0x48000000 0 0x38000000>;+ reg = <0 0x48000000 0 0x78000000>; }; };
Does the whole DDR work in Flash Writer? Did you modify the DDR configuration to match the DDR size?
I applied this patch in flash-writer.patch and now I am getting flash writer named with Flash_Writer_SCIF_RZG2LC_SMARC_DDR4_2GB_1PCS.mot
Flash writer for RZ/G2 Series V1.02 Nov.15,2021 Product Code : RZ/G2LC>DDRCK === DDR R/W CHECK ==== === RZ/G2LC (Memory controller is only channel 1) === Check:0x00_41000000 ... Pass! Check:0x00_80000000 ... Pass!
And uboot.patch for DDR ram
I do not know your HW design but likely that modification is not enough to ensure that the DDR configuration is OK. Have you had a look at this wiki page? What about RAMCK start_address end_address on the second gigabyte?
Assuming that the DDR config is OK, have you also configured Arm Trusted Firmware accordingly?
I have followed all the steps which are mentioned at wiki page. Also RAMCK command works.
I also have updated my uboot_updated.patch so that I can access my all the memory region(0x00 to 0x80000000) using uboot command : md
But I have not changed Arm Trusted Firmware for DDR RAM(2 GB) settings. Will you please tell me what are the changes required in that?
Then that is the problem: DDR is configured there. You have to implement the same modifications done in Flash Writer also in Arm Trusted Firmware.
I have applied some patches to change configurations of DDR .(1) trusted firmware param_mc.patch and swizzle.patch.(2) uboot uboot.patch(3) flash-writer flash-writer.patch . All together worked like a charm. Thank you Chris and MicBiz for your support.