Nick Saulnier, hi.
Yes, the size of default kernel + tiny filesystem is small enough.
We are critical to the boot time of the operating system.
Please help.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Nick Saulnier, hi.
Yes, the size of default kernel + tiny filesystem is small enough.
We are critical to the boot time of the operating system.
Please help.
Hello,
I split your last post into a new thread since it is about a different subject.
For future readers: the first post was PRU Ethernet Ping Issue. Customer was building a tiny filesystem on RT Linux SDK 5.1 and manually adding PRU modules to enable PRU Ethernet. PRU Ethernet pings times ranged between 0-10ms, which is typical of PRU Ethernet ping on Linux (but not RT Linux). Solution was to start with the out of the box RT Linux kernel that has PRU modules enabled by default, and then modify the kernel accordingly.
Regards,
Nick
Hi VLeshka,
Optimizing boot time is really a system level issue and outside the scope of our support.
If you can describe your high level goals, maybe I can provide some pointers to how to achieve them.
Thanks.
Nick Saulnier, hi.
Perhaps I should have postes my problem more fully.
- The size of default kernel + tiny filesystem is small enough.
- We are critical to the boot time of the operating system.
- I have already optimized the loading time, it suits us now.
- There was only a problem: unstable ping when using pru-lan according to this thread: e2e.ti.com/.../3136084
Please help.
VLeshka,
If i understand things right, you are OK with the boot time of the kernel and tiny FS, but it gives poor ping performance? The SDK out of the box gives acceptable performance? And this drop in performance is seen with the exact same zImage between the default FS and the tiny FS?
If this is all the case, then the differences in the FSs must be causing the issue? Would you agree? These differences are pretty big. The tiny uses sysVinit while the regular uses systemD. This is just one of the differences.
If you would please confirm my understanding, I will try to come up with the next best steps.
As an interim, would using the Base FS work? It is much smaller than the regular but larger than the FS. It might be good to see if ping works well with it.
Thanks.
Hello VLeshka,
Before you look at Ron's filesystem questions:
In the previous thread, I thought you said that tiny filesystem + default RT Linux kernel gives stable and quick pings. (where "default RT Linux kernel" is built from an unmodified RT Linux SDK 5.1). If that combination does not give stable pings, we can continue the ping discussion on the other thread.
If you do see stable pings, then what are you asking for help about now?
Regards,
Nick
Nick Saulnier, hi.
Perhaps I should have inserted the top of thread te content of e2e.ti.com/.../3105350
instead of just throwing "This is the extension of this thread: e2e.ti.com/.../3105350
Perhaps by "tiny file system", you meant the rootfs from ti-processor-sdk-linux-rt-am57xx-evm-05.01.00.11/filesystem/arago-base-tisdk-image-am57xx-evm.tar.xz,
while I meant the rootfs obtained by compiling the sdk with the core-image-base parameter.
Am I right?
RonB, hi.
As I understood:
FS - rootfs.
Base FS - the rootfs obtained by compiling the sdk with the core-image-base parameter.
I will answer in detail:
If i understand things right, you are OK with the boot time of the kernel and tiny FS, but it gives poor ping performance? The SDK out of the box gives acceptable performance? And this drop in performance is seen with the exact same zImage between the default FS and the tiny FS?
Yes, ok.
If this is all the case, then the differences in the FSs must be causing the issue?
At first glance, there is no difference in performance.
Would you agree?
I think you're right.
If you would please confirm my understanding
Yes, I'm confirm.
As an interim, would using the Base FS work?
Yes, it would be good to work with Base FS, because only with Base FS the loading time is good.
VLeshka,
I'm sorry for the delay. We've had a tornado hit our site and we can't get to our normal setups. I've done the best I could to look into this given what I have.
I believe you need to try the "arago-base-tisdk-image". the core-image-base is a yocto config that doesn't include much TI configuration, I believe.
Thanks for your patience.
Hello,
This post is just to make sure that the PRU Ethernet ping question got resolved.
By "tiny filesystem", I meant the core-image-base filesystem that you built using yocto. I see now TI also offers an arago-tiny-image and an arago-base-tisdk-image. I am sorry for any confusion I caused. (filesystem documentation here). Note that FS = filesystem
Is this understanding correct, or would you change anything?
core-image-base filesystem + core-image-base kernel (your setup when you asked the previous question)
boot time good
ethernet ping varies 1-10ms
tisdk-rootfs-image filesystem + tisdk-rootfs-image kernel (the default RT Linux FS and kernel)
boot time too long
ethernet ping stable ~1ms
core-image-base filesystem + tisdk-rootfs-image kernel
boot time still too long
ethernet ping stable ~1ms
Regards,
Nick
Nick Saulnier, hi.
I hope I understand.
Generally, note that by rootfs/boot I meant the "boot" katalog at rootfs.
As I understood, you about my answers like this
e2e.ti.com/.../3122949
I came primarily from the top comment from:
e2e.ti.com/.../3124686
Please point me url to my comment, because of which you received incorrect information.
RonB, hi.
For correctness, as I understood,
"core-image-base is a yocto config" - the rootfs obtained by compiling the sdk with the core-image-base parameter.
"arago-base-tisdk-image" - the otb rootfs from ti-processor-sdk-linux-rt-am57xx-evm-05.01.00.11/filesystem/arago-base-tisdk-image-am57xx-evm.tar.xz
So,
- I understand that the decrease in boot time comes at the expense of configuration.
- the configuration that core-image-base offers suits us, except for the ping bug.
If in arago-base-tisdk-image it is possible to reduce loading time also to 12.5 seconds (at least to 15 with), then it is possible to work with arago-base-tisdk-image. So far, arago-base-tisdk-image loads in 35 seconds.
Note that before our load time adjustment in core-image-base (from 18 to 12.5 seconds), it had the same bad ping.
Please help.
Hello,
The biggest difference between the base TI image and core-image-minimal is sysVinit vs. systemD and the associated startup behavior. The kernel modules that are getting loaded could also be different.
Could you run lsmod after booting each to note any differences between the two FSes? If you do find differences, running insmod on those modules and comparing the behavior would be a good next step.
Thank you.
RonB, I hope for your expert support.
lsmod in the rootfs obtained by compiling the sdk with the core-image-base parameter:
am57xx-evm login: root root@am57xx-evm:~# lsmod Module Size Used by xhci_plat_hcd 16384 0 xhci_hcd 118784 1 xhci_plat_hcd usbcore 204800 2 xhci_plat_hcd,xhci_hcd dwc3 69632 0 udc_core 28672 1 dwc3 usb_common 16384 3 udc_core,usbcore,dwc3 ti_prueth 65536 0 pru_rproc 20480 1 ti_prueth pruss 16384 2 pru_rproc,ti_prueth pruss_intc 16384 5 pru_rproc snd_soc_omap_hdmi_audio 16384 0 c_can_platform 16384 0 c_can 20480 1 c_can_platform can_dev 24576 1 c_can omap_aes_driver 24576 0 omap_sham 28672 0 omap_wdt 16384 0 pruss_soc_bus 16384 0 ahci_platform 16384 0 libahci_platform 16384 1 ahci_platform libahci 36864 2 ahci_platform,libahci_platform libata 204800 3 ahci_platform,libahci_platform,libahci scsi_mod 131072 1 libata ti_vip 45056 0 ti_vpe 24576 0 ti_sc 36864 2 ti_vpe,ti_vip ti_csc 16384 2 ti_vpe,ti_vip ti_vpdma 24576 2 ti_vpe,ti_vip dwc3_omap 16384 0 rtc_omap 20480 0 extcon_palmas 16384 0 rtc_palmas 16384 1 gpio_pisosr 16384 0 ov2659 16384 0 omap_des 20480 0 v4l2_fwnode 16384 2 ov2659,ti_vip gpio_tpic2810 16384 0 des_generic 28672 1 omap_des crypto_engine 16384 2 omap_des,omap_aes_driver omap_crypto 16384 2 omap_des,omap_aes_driver omap_remoteproc 20480 0 virtio_rpmsg_bus 20480 0 rpmsg_core 16384 1 virtio_rpmsg_bus remoteproc 40960 3 pru_rproc,ti_prueth,omap_remoteproc sch_fq_codel 20480 5 cryptodev 45056 0 root@am57xx-evm:~#
lsmod in the rootfs obtained by compiling the sdk with the default ti-processor-sdk-linux-rt-am57xx-evm-05.01.00.11/filesystem/arago-base-tisdk-image-am57xx-evm.tar.xz:
root@am57xx-evm:~# lsmod Module Size Used by bluetooth 335872 2 ecdh_generic 28672 1 bluetooth root@am57xx-evm:~#
Please help.
Hello,
Could you please once again provide a full log of the ping tests? The reason I ask is that I'm surprised the PRU Eth works at all in the core-image-minimal. Could you please show me a ifconfig output for both cases? Do you get the same interfaces?
Thanks.
RonB, hi.
Sorry, perhaps I misunderstood you:
I showed the lsmod results "as is".
If I install .ipk for pru, 4 eth will appear: 1000 Mbit eth0ð1, and 100Mbit eth2ð3:
opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pru-rproc-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pruss-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pruss-intc-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pruss-soc-bus-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-remoteproc-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-ti-prueth-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends prueth-fw_5.1.4-r0_am57xx_evm.ipk opkg --add-arch armv7ahf-neon:56 install --force-depends libelf1_0.170-r0_armv7ahf-neon.ipk opkg --add-arch armv7ahf-neon:56 install --force-depends iproute2_4.11.0-r0.arago3_armv7ahf-neon.ipk
So, lsmod in this case will have the result:
root@am57xx-evm:~# lsmod Module Size Used by bluetooth 335872 1 ecdh_generic 28672 1 bluetooth ti_prueth 65536 0 pru_rproc 20480 1 ti_prueth pruss 16384 2 pru_rproc,ti_prueth pruss_intc 16384 5 pru_rproc remoteproc 40960 2 pru_rproc,ti_prueth pruss_soc_bus 16384 0 root@am57xx-evm:~#
Then I setup the prp:
ip link add name prp0 type prp slave1 eth2 slave2 eth3 supervision 45 ifconfig prp0 192.168.14.126 up
The result of ifconfig:
root@am57xx-evm:~# ifconfig eth0 Link encap:Ethernet HWaddr A0:F6:FD:B2:8E:2A UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:85 eth1 Link encap:Ethernet HWaddr A0:F6:FD:B2:8E:2B UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth2 Link encap:Ethernet HWaddr 70:FF:76:1C:08:91 inet6 addr: fe80::72ff:76ff:fe1c:891%763612/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1241 errors:0 dropped:0 overruns:0 frame:0 TX packets:1368 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:143219 (139.8 KiB) TX bytes:119133 (116.3 KiB) eth3 Link encap:Ethernet HWaddr 70:FF:76:1C:08:92 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%763612/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:178 errors:0 dropped:0 overruns:0 frame:0 TX packets:178 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14008 (13.6 KiB) TX bytes:14008 (13.6 KiB) prp0 Link encap:Ethernet HWaddr 70:FF:76:1C:08:91 inet addr:192.168.14.126 Bcast:192.168.14.255 Mask:255.255.255.0 inet6 addr: fe80::72ff:76ff:fe1c:891%763612/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1494 Metric:1 RX packets:1096 errors:0 dropped:0 overruns:0 frame:0 TX packets:336 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:106358 (103.8 KiB) TX bytes:34866 (34.0 KiB)
root@am57xx-evm:~#
The ping from pru-prp to san-device:
64 bytes from 192.168.14.160: seq=202 ttl=64 time=2.287 ms 64 bytes from 192.168.14.160: seq=203 ttl=64 time=2.200 ms 64 bytes from 192.168.14.160: seq=204 ttl=64 time=2.135 ms 64 bytes from 192.168.14.160: seq=205 ttl=64 time=2.053 ms 64 bytes from 192.168.14.160: seq=206 ttl=64 time=1.985 ms 64 bytes from 192.168.14.160: seq=207 ttl=64 time=1.904 ms 64 bytes from 192.168.14.160: seq=208 ttl=64 time=1.838 ms 64 bytes from 192.168.14.160: seq=209 ttl=64 time=1.754 ms 64 bytes from 192.168.14.160: seq=210 ttl=64 time=1.677 ms 64 bytes from 192.168.14.160: seq=211 ttl=64 time=1.615 ms 64 bytes from 192.168.14.160: seq=212 ttl=64 time=1.535 ms 64 bytes from 192.168.14.160: seq=213 ttl=64 time=11.463 ms 64 bytes from 192.168.14.160: seq=214 ttl=64 time=1.381 ms 64 bytes from 192.168.14.160: seq=215 ttl=64 time=1.450 ms 64 bytes from 192.168.14.160: seq=216 ttl=64 time=11.255 ms 64 bytes from 192.168.14.160: seq=217 ttl=64 time=11.165 ms 64 bytes from 192.168.14.160: seq=218 ttl=64 time=11.106 ms 64 bytes from 192.168.14.160: seq=219 ttl=64 time=1.571 ms 64 bytes from 192.168.14.160: seq=220 ttl=64 time=10.953 ms 64 bytes from 192.168.14.160: seq=221 ttl=64 time=10.876 ms 64 bytes from 192.168.14.160: seq=222 ttl=64 time=10.823 ms 64 bytes from 192.168.14.160: seq=223 ttl=64 time=10.739 ms 64 bytes from 192.168.14.160: seq=224 ttl=64 time=10.665 ms 64 bytes from 192.168.14.160: seq=225 ttl=64 time=10.608 ms 64 bytes from 192.168.14.160: seq=226 ttl=64 time=10.521 ms 64 bytes from 192.168.14.160: seq=227 ttl=64 time=10.432 ms 64 bytes from 192.168.14.160: seq=228 ttl=64 time=10.351 ms 64 bytes from 192.168.14.160: seq=229 ttl=64 time=10.277 ms 64 bytes from 192.168.14.160: seq=230 ttl=64 time=10.199 ms 64 bytes from 192.168.14.160: seq=231 ttl=64 time=10.115 ms 64 bytes from 192.168.14.160: seq=232 ttl=64 time=10.039 ms 64 bytes from 192.168.14.160: seq=233 ttl=64 time=9.958 ms 64 bytes from 192.168.14.160: seq=234 ttl=64 time=9.895 ms 64 bytes from 192.168.14.160: seq=235 ttl=64 time=9.820 ms 64 bytes from 192.168.14.160: seq=236 ttl=64 time=9.743 ms 64 bytes from 192.168.14.160: seq=237 ttl=64 time=9.673 ms 64 bytes from 192.168.14.160: seq=238 ttl=64 time=9.591 ms 64 bytes from 192.168.14.160: seq=239 ttl=64 time=9.516 ms 64 bytes from 192.168.14.160: seq=240 ttl=64 time=9.448 ms 64 bytes from 192.168.14.160: seq=241 ttl=64 time=9.368 ms 64 bytes from 192.168.14.160: seq=242 ttl=64 time=9.289 ms 64 bytes from 192.168.14.160: seq=243 ttl=64 time=9.212 ms 64 bytes from 192.168.14.160: seq=244 ttl=64 time=9.153 ms 64 bytes from 192.168.14.160: seq=245 ttl=64 time=9.068 ms 64 bytes from 192.168.14.160: seq=246 ttl=64 time=8.993 ms 64 bytes from 192.168.14.160: seq=247 ttl=64 time=8.919 ms 64 bytes from 192.168.14.160: seq=248 ttl=64 time=8.856 ms 64 bytes from 192.168.14.160: seq=249 ttl=64 time=8.771 ms 64 bytes from 192.168.14.160: seq=250 ttl=64 time=8.700 ms 64 bytes from 192.168.14.160: seq=251 ttl=64 time=8.623 ms 64 bytes from 192.168.14.160: seq=252 ttl=64 time=8.550 ms 64 bytes from 192.168.14.160: seq=253 ttl=64 time=8.474 ms 64 bytes from 192.168.14.160: seq=254 ttl=64 time=8.394 ms 64 bytes from 192.168.14.160: seq=255 ttl=64 time=8.310 ms 64 bytes from 192.168.14.160: seq=256 ttl=64 time=8.233 ms 64 bytes from 192.168.14.160: seq=257 ttl=64 time=8.146 ms 64 bytes from 192.168.14.160: seq=258 ttl=64 time=8.070 ms 64 bytes from 192.168.14.160: seq=259 ttl=64 time=7.990 ms ^C --- 192.168.14.160 ping statistics --- 260 packets transmitted, 260 packets received, 0% packet loss round-trip min/avg/max = 1.319/6.302/17.601 ms
Please help.
Thank you for the clear explanation of the steps above.
Would you please try your tests with the arago-tiny-image as a final test? This image has some of the TI/Arago adaptations and should meet your boot time needs.
If this doesn't work, I will need to dig into the changes we make to the base/full arago image to see if an init script or some other change that is causing the ping changes.
Thank you.
RonB, hi!
All do with rootfs ti-processor-sdk-linux-rt-am57xx-evm-05.01.00.11/filesystem/arago-base-tisdk-image-am57xx-evm.tar.xz.
Setup prp and ifconfig:
root@am57xx-evm:~# ip link add name prp0 type prp slave1 eth2 slave2 eth3 supervision 45 [ 62.050610] device eth2 entered promiscuous mode [ 62.109802] device eth3 entered promiscuous mode root@am57xx-evm:~# ifconfig prp0 192.168.14.126 up [ 62.185196] prp0: HSR/PRP: Please bringup Slave B (eth3) [ 62.194019] IPv6: ADDRCONF(NETDEV_UP): prp0: link is not ready [ 62.201363] IPv6: ADDRCONF(NETDEV_CHANGE): prp0: link becomes ready root@am57xx-evm:~# ifconfig eth0 Link encap:Ethernet HWaddr A0:F6:FD:B2:8E:2A UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:85 eth1 Link encap:Ethernet HWaddr A0:F6:FD:B2:8E:2B UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth2 Link encap:Ethernet HWaddr 70:FF:76:1C:08:91 inet6 addr: fe80::72ff:76ff:fe1c:891%763612/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:86 errors:0 dropped:0 overruns:0 frame:0 TX packets:49 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13462 (13.1 KiB) TX bytes:5722 (5.5 KiB) eth3 Link encap:Ethernet HWaddr 70:FF:76:1C:08:92 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%763612/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:171 errors:0 dropped:0 overruns:0 frame:0 TX packets:171 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13140 (12.8 KiB) TX bytes:13140 (12.8 KiB) prp0 Link encap:Ethernet HWaddr 70:FF:76:1C:08:91 inet addr:192.168.14.126 Bcast:192.168.14.255 Mask:255.255.255.0 inet6 addr: fe80::72ff:76ff:fe1c:891%763612/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1494 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:98 (98.0 B) TX bytes:1374 (1.3 KiB) root@am57xx-evm:~#
the ping:
64 bytes from 192.168.14.160: seq=59 ttl=64 time=1.609 ms 64 bytes from 192.168.14.160: seq=60 ttl=64 time=1.599 ms 64 bytes from 192.168.14.160: seq=61 ttl=64 time=1.556 ms 64 bytes from 192.168.14.160: seq=62 ttl=64 time=1.480 ms 64 bytes from 192.168.14.160: seq=63 ttl=64 time=1.110 ms 64 bytes from 192.168.14.160: seq=64 ttl=64 time=1.556 ms 64 bytes from 192.168.14.160: seq=65 ttl=64 time=1.436 ms 64 bytes from 192.168.14.160: seq=66 ttl=64 time=1.478 ms 64 bytes from 192.168.14.160: seq=67 ttl=64 time=1.599 ms 64 bytes from 192.168.14.160: seq=68 ttl=64 time=1.630 ms 64 bytes from 192.168.14.160: seq=69 ttl=64 time=1.478 ms 64 bytes from 192.168.14.160: seq=70 ttl=64 time=0.953 ms 64 bytes from 192.168.14.160: seq=71 ttl=64 time=0.648 ms 64 bytes from 192.168.14.160: seq=72 ttl=64 time=0.702 ms 64 bytes from 192.168.14.160: seq=73 ttl=64 time=0.691 ms 64 bytes from 192.168.14.160: seq=74 ttl=64 time=0.752 ms 64 bytes from 192.168.14.160: seq=75 ttl=64 time=0.769 ms 64 bytes from 192.168.14.160: seq=76 ttl=64 time=0.763 ms 64 bytes from 192.168.14.160: seq=77 ttl=64 time=0.776 ms 64 bytes from 192.168.14.160: seq=78 ttl=64 time=1.628 ms 64 bytes from 192.168.14.160: seq=79 ttl=64 time=1.521 ms 64 bytes from 192.168.14.160: seq=80 ttl=64 time=1.560 ms 64 bytes from 192.168.14.160: seq=81 ttl=64 time=1.460 ms 64 bytes from 192.168.14.160: seq=82 ttl=64 time=1.628 ms 64 bytes from 192.168.14.160: seq=83 ttl=64 time=1.533 ms 64 bytes from 192.168.14.160: seq=84 ttl=64 time=1.525 ms 64 bytes from 192.168.14.160: seq=85 ttl=64 time=1.135 ms 64 bytes from 192.168.14.160: seq=86 ttl=64 time=1.611 ms 64 bytes from 192.168.14.160: seq=87 ttl=64 time=1.460 ms 64 bytes from 192.168.14.160: seq=88 ttl=64 time=1.533 ms 64 bytes from 192.168.14.160: seq=89 ttl=64 time=1.473 ms 64 bytes from 192.168.14.160: seq=90 ttl=64 time=1.492 ms 64 bytes from 192.168.14.160: seq=91 ttl=64 time=5.464 ms 64 bytes from 192.168.14.160: seq=92 ttl=64 time=1.484 ms 64 bytes from 192.168.14.160: seq=93 ttl=64 time=1.165 ms 64 bytes from 192.168.14.160: seq=94 ttl=64 time=1.581 ms 64 bytes from 192.168.14.160: seq=95 ttl=64 time=1.500 ms 64 bytes from 192.168.14.160: seq=96 ttl=64 time=1.525 ms 64 bytes from 192.168.14.160: seq=97 ttl=64 time=1.619 ms 64 bytes from 192.168.14.160: seq=98 ttl=64 time=1.578 ms 64 bytes from 192.168.14.160: seq=99 ttl=64 time=1.429 ms 64 bytes from 192.168.14.160: seq=100 ttl=64 time=1.697 ms 64 bytes from 192.168.14.160: seq=101 ttl=64 time=1.701 ms 64 bytes from 192.168.14.160: seq=102 ttl=64 time=1.507 ms 64 bytes from 192.168.14.160: seq=103 ttl=64 time=1.484 ms 64 bytes from 192.168.14.160: seq=104 ttl=64 time=1.611 ms 64 bytes from 192.168.14.160: seq=105 ttl=64 time=1.650 ms 64 bytes from 192.168.14.160: seq=106 ttl=64 time=1.558 ms 64 bytes from 192.168.14.160: seq=107 ttl=64 time=1.078 ms 64 bytes from 192.168.14.160: seq=108 ttl=64 time=1.543 ms 64 bytes from 192.168.14.160: seq=109 ttl=64 time=1.584 ms 64 bytes from 192.168.14.160: seq=110 ttl=64 time=1.511 ms 64 bytes from 192.168.14.160: seq=111 ttl=64 time=1.454 ms 64 bytes from 192.168.14.160: seq=112 ttl=64 time=1.555 ms 64 bytes from 192.168.14.160: seq=113 ttl=64 time=2.050 ms 64 bytes from 192.168.14.160: seq=114 ttl=64 time=1.525 ms 64 bytes from 192.168.14.160: seq=115 ttl=64 time=1.530 ms 64 bytes from 192.168.14.160: seq=116 ttl=64 time=1.844 ms 64 bytes from 192.168.14.160: seq=117 ttl=64 time=1.559 ms 64 bytes from 192.168.14.160: seq=118 ttl=64 time=1.456 ms 64 bytes from 192.168.14.160: seq=119 ttl=64 time=1.631 ms 64 bytes from 192.168.14.160: seq=120 ttl=64 time=1.684 ms 64 bytes from 192.168.14.160: seq=121 ttl=64 time=1.537 ms 64 bytes from 192.168.14.160: seq=122 ttl=64 time=1.461 ms 64 bytes from 192.168.14.160: seq=123 ttl=64 time=1.517 ms 64 bytes from 192.168.14.160: seq=124 ttl=64 time=1.501 ms 64 bytes from 192.168.14.160: seq=125 ttl=64 time=1.538 ms 64 bytes from 192.168.14.160: seq=126 ttl=64 time=1.467 ms 64 bytes from 192.168.14.160: seq=127 ttl=64 time=1.583 ms 64 bytes from 192.168.14.160: seq=128 ttl=64 time=1.185 ms 64 bytes from 192.168.14.160: seq=129 ttl=64 time=1.519 ms 64 bytes from 192.168.14.160: seq=130 ttl=64 time=1.519 ms 64 bytes from 192.168.14.160: seq=131 ttl=64 time=1.641 ms 64 bytes from 192.168.14.160: seq=132 ttl=64 time=1.650 ms 64 bytes from 192.168.14.160: seq=133 ttl=64 time=1.522 ms 64 bytes from 192.168.14.160: seq=134 ttl=64 time=1.752 ms 64 bytes from 192.168.14.160: seq=135 ttl=64 time=1.651 ms 64 bytes from 192.168.14.160: seq=136 ttl=64 time=1.477 ms 64 bytes from 192.168.14.160: seq=137 ttl=64 time=0.745 ms 64 bytes from 192.168.14.160: seq=138 ttl=64 time=0.790 ms 64 bytes from 192.168.14.160: seq=139 ttl=64 time=0.726 ms 64 bytes from 192.168.14.160: seq=140 ttl=64 time=0.653 ms 64 bytes from 192.168.14.160: seq=141 ttl=64 time=0.732 ms 64 bytes from 192.168.14.160: seq=142 ttl=64 time=0.832 ms 64 bytes from 192.168.14.160: seq=143 ttl=64 time=0.715 ms 64 bytes from 192.168.14.160: seq=144 ttl=64 time=1.382 ms 64 bytes from 192.168.14.160: seq=145 ttl=64 time=1.467 ms 64 bytes from 192.168.14.160: seq=146 ttl=64 time=1.624 ms ^C --- 192.168.14.160 ping statistics --- 147 packets transmitted, 147 packets received, 0% packet loss round-trip min/avg/max = 0.589/1.477/6.838 ms root@am57xx-evm:~#
Note that the time compared to:
ti-processor-sdk-linux-rt-am57xx-evm-05.01.00.11/filesystem/tisdk-rootfs-image-am57xx-evm.tar.xz
is not much less (34 seconds and 28 seconds).
Please help.
Thank you for sharing.
So, both the base (arago-base-tisdk-image-am57xx-evm.tar.xz) and the full (tisdk-rootfs-image-am57xx-evm.tar.xz) boot up fine and the ping works (after installing necessary components, etc.) But, the boot time for either, 28 and 34 seconds, is not acceptable.
I'm sorry I was not more specific, but can you try the "tiny", arago-tiny-image-am57xx-evm.tar.xz? This one is much smaller and therefore should boot much faster. It is also based on sysVinit.
Thank you.
RonB, hi!
Sorry, but I can't find the archive arago-tiny-image-am57xx-evm.tar.xz in SDK/filesystem.
I was looking (also totally arago-tiny*) in sdk:
ti-processor-sdk-linux-rt-am335x-evm-05.01.00.11
ti-processor-sdk-linux-am57xx-evm-05.01.00.11
ti-processor-sdk-linux-rt-am57xx-evm-05.01.00.11
and found only in am335x sdk. But I need in am57xx.
Please tell me where to find the arago-tiny-image-am57xx-evm.tar.xz.
Hello,
Sorry about that, it was added in 5.2. It should still work well with that kernel since they are the same version.
You can download just the fileystems and pre-builts here:
Thanks again.
Yes, that should be fine. It is normally run as an initramfs, so these are not needed. But it will boot with other methods with these files added.
RonB, hi.
For clarity: The rootfs is from ti-processor-sdk-linux-am57xx-evm-bin-05.02.00.10/filesystem/arago-tiny-image-am57xx-evm.tar.xz.
If I boot the rootfs "as is", it shows:
U-Boot 2018.01-gcdb1cc0a9e (Oct 06 2018 - 08:46:44 +0000) CPU : DRA752-GP ES2.0 Model: TI AM5728 IDK Board: AM572x IDK REV 1.3B DRAM: 2 GiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid Backup GPT *** SCSI: SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst scanning bus for devices... Found 0 device(s). Net: Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** Unable to read file boot.scr ** 1490 bytes read in 4 ms (363.3 KiB/s) Loaded env from uEnv.txt Importing environment from mmc0 ... Running uenvcmd ... 1 bytes read in 2 ms (0 Bytes/s) Already setup. switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** File not found /boot/zImage ** Trying to boot Linux from eMMC ... switch to partitions #0, OK mmc1(part 0) is current device SD/MMC found on device 1 ** No partition table - mmc 1 ** Trying to boot Android from eMMC ... switch to partitions #0, OK mmc1(part 0) is current device mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB> - Change sizes of boot and RPMB partitions of specified device mmc partconf dev [boot_ack boot_partition partition_access] - Show or change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr <value> - set DSR register value mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB> - Change sizes of boot and RPMB partitions of specified device mmc partconf dev [boot_ack boot_partition partition_access] - Show or change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr <value> - set DSR register value Wrong Image Format for bootm command ERROR: can't get kernel image! =>
Note that "mmc - MMC sub system" shows 2 times, it's not a mistake of copy-past.
So, it knows the command "ping", but not keeps ping even 127.0.0.1.
Still need an image of the system in rootfs/boot?
Hi,
What do you have in /boot? It seems it can't find the kernel image. I used our create-sdcard.sh in the /bin and pointed it to the tiny FS and put the DTBs and zImage on the rootfs (the tiny). I booted on a Beaglebone Black and it booted great. I'm sorry, I don't have an AM57x IDK just now.
Do you have zImage and DTBs in /boot on the rootfs? If so, and you still can't get it, I will secure an IDK next week and try it here.
Thanks.
RonB, hi.
Sorry for delay.
In /boot I have no any files: the /boot in tiny FS is empty.
I used your create-sdcard.sh in the /bin and pointed it to the tiny FS and put no any files into the /boot.
So, I have to copy a working kernel image (ie copy the boot folder from another working rootfs).
Am I right?
HI,
Yes, you will need the contents of boot from a working filesystem.
Thanks.
RonB, hi!
I liked your tiny FS for the time it boot.
But after entering login, only 1 ethernet is initialized (eth0).
Even after installing those ipks that put on my previous base-rootfs. The "/tmp/.../depmod" messages are unimportant (as I understood).
The run file:
opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pru-rproc-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pruss-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pruss-intc-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-pruss-soc-bus-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-remoteproc-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends kernel-module-ti-prueth-4.14.67-gd315a9bb00_4.14.67+git0+d315a9bb00-r7a.arago5.tisdk1.3_am57xx_evm.ipk opkg --add-arch am57xx_evm:66 install --force-depends prueth-fw_5.1.4-r0_am57xx_evm.ipk opkg --add-arch armv7ahf-neon:56 install --force-depends libelf1_0.170-r0_armv7ahf-neon.ipk opkg --add-arch armv7ahf-neon:56 install --force-depends iproute2_4.11.0-r0.arago3_armv7ahf-neon.ipk
The result of ./run:
root@am57xx-evm :~# ./run Installing kernel-module-pru-rproc-4.14.67-gd315a9bb00 (4.14.67+git0+d315a9bb00) on root Configuring kernel-module-pru-rproc-4.14.67-gd315a9bb00. /tmp/opkg-JYPR8f/opkg-intercept-2ikUkp/depmod: line 1: depmod: not found Installing kernel-module-pruss-4.14.67-gd315a9bb00 (4.14.67+git0+d315a9bb00) on root Configuring kernel-module-pruss-4.14.67-gd315a9bb00. /tmp/opkg-HkLOKI/opkg-intercept-hsdv6c/depmod: line 1: depmod: not found Installing kernel-module-pruss-intc-4.14.67-gd315a9bb00 (4.14.67+git0+d315a9bb00) on root Configuring kernel-module-pruss-intc-4.14.67-gd315a9bb00. /tmp/opkg-uDHZ1Y/opkg-intercept-sGUosN/depmod: line 1: depmod: not found Installing kernel-module-pruss-soc-bus-4.14.67-gd315a9bb00 (4.14.67+git0+d315a9bb00) on root Configuring kernel-module-pruss-soc-bus-4.14.67-gd315a9bb00. /tmp/opkg-l2eyI8/opkg-intercept-ptA1CY/depmod: line 1: depmod: not found Installing kernel-module-remoteproc-4.14.67-gd315a9bb00 (4.14.67+git0+d315a9bb00) on root Configuring kernel-module-remoteproc-4.14.67-gd315a9bb00. /tmp/opkg-FrQsZe/opkg-intercept-vh9Pj3/depmod: line 1: depmod: not found Installing kernel-module-ti-prueth-4.14.67-gd315a9bb00 (4.14.67+git0+d315a9bb00) on root Configuring kernel-module-ti-prueth-4.14.67-gd315a9bb00. /tmp/opkg-EJr6Bu/opkg-intercept-GEqATm/depmod: line 1: depmod: not found Installing prueth-fw (5.1.4) on root Configuring prueth-fw. Installing libelf1 (0.170) on root Configuring libelf1. Installing iproute2 (4.11.0) on root Configuring iproute2. update-alternatives: Linking /sbin/ip to /sbin/ip.iproute2 root@am57xx-evm :~# reboot
The questions:
1. Did I understand correctly that the "/tmp/.../depmod" messages are unimportant?
2. Why is there only 1 eth left? What packages should I install in order for the rest of the eth to appear?
Please help.