The big time waster for me appears to be networking.service.  I do not have
totally resolved what to do, so at the moment I start the interface
manually.  There seems to be something wonky with ifup and hotplug -- I
think it is related to "udevadm settle").  I was pretty draconian with the
generic-board-startup, but that only seemed to save a little outside
starting networking.

On Thu, Mar 4, 2021 at 2:04 PM Tom Stepleton <steple...@gmail.com> wrote:

> Nice! I'm at 21 seconds until all of my code is up and ready to serve, of
> which 1-3 are probably accounted to getting the ARM-side Python code
> running (so not relevant to booting). Are you doing anything to speed
> things up that hasn't been mentioned so far?
>
> I find that for me, the PRUs are ready to go with firmware loaded well
> before the Python code issues them the "start" command.
>
> --Tom
> On Thursday, March 4, 2021 at 6:53:00 PM UTC rpau...@gmail.com wrote:
>
>> Hmmm.  I have boot time to just under 14 seconds, but the PRUs are not
>> available until 30!  I have looked with interest at the device tree you
>> posted, and I may adapt to my application.  Until I trimmed the boot time,
>> I did not realize the PRUs were slow -- with a 45 second boot time, they
>> were always available.  Something seems to be going on, but so far it is
>> invisible.  Thanks.
>>
>> On Thu, Mar 4, 2021 at 1:39 PM Tom Stepleton <step...@gmail.com> wrote:
>>
>>> I can't say for sure about why I'm enjoying faster load times now, but I
>>> have three guesses.
>>>
>>> One possibility is that I finally arranged some candles in a ring, sat
>>> in the middle, slipped into a hypnagogic torpor, and in an echoing
>>> dissociative void managed to utter yet another arcane device tree
>>> overlay
>>> <https://github.com/stepleton/cameo/blob/master/aphid/firmware/PB-CAMEO-APHID.dts>,
>>> this time for my own application. It seems possible to me that when the
>>> PocketBeagle loads this device tree overlay on boot, some more complicated
>>> and time-consuming facilities of its default hardware setup are disabled,
>>> allowing it to attend to other setup tasks faster. This is purely a guess;
>>> my memories of that time are hazy and indistinct and whenever I try to
>>> recall them my mouth tastes of metal.
>>>
>>> (just kidding it wasn't that bad at all, but even now I'm not really
>>> sure I got it "right")
>>>
>>> The second possibility is that I'm as ruthless as I know how to be about 
>>> disabling
>>> services I don't use in my application
>>> <https://github.com/stepleton/cameo/blob/master/aphid/setup_trim_services.sh>,
>>> so that speeds things up.
>>>
>>> The third possibility is that on the good advice from someone on the
>>> Beagle IRC channel, I disable initramfs
>>> <https://github.com/stepleton/cameo/blob/master/aphid/setup_trim_misc.sh>.
>>> This one really does seem to shave off quite a few seconds from boot time
>>> for me.
>>>
>>> I'm talking about boot time here---I haven't measured
>>> time-to-availability for the PRUs, but so far it hasn't been a problem and
>>> it's definitely much faster than it was. Either way, I'd be thrilled to
>>> collect yet further tips and tricks for making my gizmo start up even
>>> sooner! But for setup and installation of this magic, I do want people to
>>> be able to just run some shell scripts like the ones I've linked above ---
>>> recompiling the kernel would not be an option for me, for example.
>>>
>>> --Tom
>>> On Thursday, March 4, 2021 at 3:49:47 PM UTC rpau...@gmail.com wrote:
>>>
>>>> I'm trying to do something similar.  It would be better, at least in my
>>>> case, if the PRU could be started at boot.  One thing I noticed in my case
>>>> is the pruss doesn't show up until about 30 seconds into the boot cycle.
>>>> Yours seems to be detected much faster.  Did you change something, or have
>>>> any idea when the kernel decides to discover it?  I have tried to create a
>>>> systemd unit to start them, but I find myself trying to start them before
>>>> sysfs is populated.
>>>>
>>>> On Monday, February 1, 2021 at 7:08:32 PM UTC-5 Tom Stepleton wrote:
>>>>
>>>>> Oops, nevermind --- I see that it can't be done for now. On boot, or
>>>>> in other words during startup or power-on, the Debian Linux kernel on your
>>>>> PocketBeagle or BeagleBone Black can load rproc (aka remoteproc) PRU
>>>>> firmware such as am335x-pru0-fw and am335x-pru1-fw from /lib/firmware, but
>>>>> it will not start the firmware. (Yes, I am keyword-stuffing for maximum
>>>>> searchability.)
>>>>>
>>>>>
>>>>> https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/remoteproc/pru_rproc.c?h=ti-android-linux-4.19.y#n1173
>>>>>
>>>>> I'll try to identify other means of getting the PRUs started quickly;
>>>>> maybe something that systemd can run at boot time.
>>>>>
>>>>> Apologies for the distraction,
>>>>> --Tom
>>>>> On Monday, February 1, 2021 at 4:09:40 AM UTC Tom Stepleton wrote:
>>>>>
>>>>>> Hi again,
>>>>>>
>>>>>> I have some mature PRU firmware that I've been loading and starting
>>>>>> by having a program
>>>>>> <https://github.com/stepleton/cameo/blob/master/aphid/profile.py#L262>
>>>>>> manipulate the files
>>>>>>   /sys/class/remoteproc/remoteproc[12]/(state|firmware)
>>>>>> well after the system has booted.
>>>>>>
>>>>>> I'd like to speed that process up, so today I've finally copied my
>>>>>> firmware files to /lib/firmware/am335x-pru0-fw and
>>>>>> /lib/firmware/am335x-pru1-fw . Now, I did do
>>>>>>   sudo update-initramfs -uk `uname -r` ; sudo reboot
>>>>>> like you're supposed to. I can even do
>>>>>>   zcat /boot/initrd.img-4.19.50-ti-r20 | cpio -itv
>>>>>> and see my firmware files inside the file (albeit as
>>>>>> /usr/lib/firmware/am335x-pru[01]-fw).
>>>>>>
>>>>>> When the PocketBeagle boots, the firmware is listed correctly within
>>>>>> /sys/class/remoteproc/remoteproc?/firmware files, it's just that the
>>>>>> neighbouring "state" files show that both PRUs are "offline". I can echo
>>>>>> "start" into those files and things work fine, but as I'm trying to
>>>>>> accelerate the time from boot to a running system, it would be really 
>>>>>> nice
>>>>>> if the firmware could start automatically on boot, as quickly as 
>>>>>> possible.
>>>>>>
>>>>>> I'm using this firmware in concert with a new device tree overlay
>>>>>> I've also been developing, which is the subject of another thread
>>>>>> <https://groups.google.com/g/beagleboard/c/Ro2PioeoN-c/m/Cd2d0YRGBAAJ>.
>>>>>> If you like, you can view it at
>>>>>>
>>>>>> http://mg-1.uk:31132/pb-cameo-aphid.dts.txt
>>>>>>
>>>>>> Perhaps something is missing in there? I based some of its design off
>>>>>> of information in
>>>>>> https://groups.google.com/g/beagleboard/c/lS8QlNV8JCc , which to be
>>>>>> fair is now a healthy 3.5 years old...
>>>>>>
>>>>>> Thanks for any help,
>>>>>> --Tom
>>>>>>
>>>>> --
>>> For more options, visit http://beagleboard.org/discuss
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "BeagleBoard" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/beagleboard/PFINhbWs-ao/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> beagleboard...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/beagleboard/e029aba0-ff8c-463f-8db6-d2826baaa046n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/beagleboard/e029aba0-ff8c-463f-8db6-d2826baaa046n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "BeagleBoard" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/beagleboard/PFINhbWs-ao/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> beagleboard+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beagleboard/c097d95a-45d8-4b8f-b1d6-ce8df0e20d2an%40googlegroups.com
> <https://groups.google.com/d/msgid/beagleboard/c097d95a-45d8-4b8f-b1d6-ce8df0e20d2an%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAA_M65PP9dPppTL2yrVROLYPvx7u2Ed%3DhnHOiUFVmJwdXj0B1A%40mail.gmail.com.

Reply via email to