Re: Raspberry Pi 3B Slow Boot-up

From: Archimedes Gaviola <archimedes.gaviola_at_gmail.com>
Date: Tue, 15 Mar 2022 05:00:37 UTC
On Mon, Mar 14, 2022 at 11:10 PM Mark Millard <marklmi@yahoo.com> wrote:

> Hello.
>
> On 2022-Mar-14, at 07:12, Archimedes Gaviola <archimedes.gaviola@gmail.com>
> wrote:
>
> > On Mon, Mar 14, 2022 at 9:50 PM Archimedes Gaviola <
> archimedes.gaviola@gmail.com> wrote:
> >
> > On Mon, Mar 14, 2022 at 8:01 PM Mark Millard <marklmi@yahoo.com> wrote:
> > On 2022-Mar-14, at 02:55, Archimedes Gaviola <
> archimedes.gaviola@gmail.com> wrote:
> >
> > > In the default config.txt file there is [pi4] line. If I'm going to
> remove this [pi4] line, the boot-up process is very slow. Slow in a sense
> that some extended time is observed as compared to the default. I already
> tested emphasizing the boot_delay=1 but to no avail. The reason why I
> removed it is because I want to change the settings of the HDMI display
> resolution as changes will not take effect with the [pi4] line in RPi 3B.
> > >
> > > With 14.0-CURRENT (February 24, 2022 snapshot) I have described my
> resolution here
> https://lists.freebsd.org/archives/freebsd-arm/2022-February/001070.html
> however with the latest 14.0-CURRENT (March 10, 2022 snapshot) it's no
> longer possible. Any idea what's going on?
> > >
> > > Below is the default config.txt and my current config.txt for
> reference.
> > >
> > > freebsd@generic:~ % cat /boot/msdos/config.txt
> > > [all]
> > > arm_64bit=1
> > > dtparam=audio=on,i2c_arm=on,spi=on
> > > dtoverlay=mmc
> > > dtoverlay=disable-bt
> > > device_tree_address=0x4000
> > > kernel=u-boot.bin
> > >
> > > [pi4]
> > > hdmi_safe=1
> > > armstub=armstub8-gic.bin
> > >
> > > freebsd@generic:~ % cat /boot/msdos/config.txt
> > > [all]
> > > arm_64bit=1
> > > dtparam=audio=on,i2c_arm=on,spi=on
> > > dtoverlay=mmc
> > > dtoverlay=disable-bt
> > > device_tree_address=0x4000
> > > kernel=u-boot.bin
> > >
> > > hdmi_group=2
> > > hdmi_mode=11
> > > armstub=armstub8-gic.bin
> >
> > armstub8-gic.bin is specific to the BCM2711 and will not
> > work for the RPi3, as I understand.
> >
> > armstub=armstub8.bin is the default and is what was being
> > used for the RPi3 when the [pi4] was in place.
> >
> > You have the option of listing a [pi3] section last
> > (after the [pi4] section). To have a [pi3] section
> > be last, it should have an explicit
> > armstub=armstub8.bin line.
> >
> > Listing older RPi* models last is done because some older
> > RPi models ignore the [] notation and listing things last
> > overrides earlier assignments, in this case overriding
> > assignments for newer models. It is a safe notational
> > ordering convention, even for models that do support
> > the [] notation sufficiently.
> >
> > If one depended on RPi3 models processing [] notation,
> > if it does, then another option would have been to move
> > the [rpi4] line to be just before the
> > armstub=armstub8-gic.bin line, causing the RPi3 to skip
> > the assignment and use the default.
> >
> >
> > Hi Mark,
> >
> > Awesome, it works great! Below is my revised config.txt file now, no
> more boot-up delay and display resolution was effectively changed. Thank
> you so much for sharing your thoughts in well-explained details, now I
> learned.
> >
> > freebsd@generic:~ % cat /boot/msdos/config.txt
> > [all]
> > boot_delay=0
> > arm_64bit=1
> > dtparam=audio=on,i2c_arm=on,spi=on
> > dtoverlay=mmc
> > dtoverlay=disable-bt
> > device_tree_address=0x4000
> > kernel=u-boot.bin
> >
> > [pi4]
> > armstub=armstub8-gic.bin
> >
> > [pi3]
> > hdmi_group=2
> > hdmi_mode=11
> >
> > Hi Mark,
> >
> > I did further testing and these two configuration settings (removing
> [pi4] and armstub=armstub8-gic.bin lines) below will do too.
> >
> > freebsd@generic:~ % cat /boot/msdos/config.txt
> > [all]
> > boot_delay=0
> > arm_64bit=1
> > dtparam=audio=on,i2c_arm=on,spi=on
> > dtoverlay=mmc
> > dtoverlay=disable-bt
> > device_tree_address=0x4000
> > kernel=u-boot.bin
> >
> > [pi3]
> > hdmi_group=2
> > hdmi_mode=11
> >
> > or
> >
> > freebsd@generic:~ % cat /boot/msdos/config.txt
> > [all]
> > boot_delay=0
> > arm_64bit=1
> > dtparam=audio=on,i2c_arm=on,spi=on
> > dtoverlay=mmc
> > dtoverlay=disable-bt
> > device_tree_address=0x4000
> > kernel=u-boot.bin
> >
> > hdmi_group=2
> > hdmi_mode=11
> >
>
> The BCM2711 has both the older style hardware and the
> new-to-RPi*'s gic. These two alternatives that do not
> mention armstub8-gic.bin are having the BCM2711 use
> the older, less capable type of hardware instead of
> using the newer, more capable gic. (Or, at least,
> that is what is explicitly initialized.)
>
> You are better off with the solution that has the
> [pi4] and armstub=armstub8-gic.bin lines so that
> the gic is explicitly initialized.
>

Hi Mark,

Oh I see, thanks again! I'll apply your recommendation.

Thanks,
Archimedes