Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Trevor Woerner
On Wed 2020-12-23 @ 10:43:03 PM, Richard Purdie wrote:
> You're misunderstanding my question. In your patch you create
> "/.psplash" in the splash recipe.
> 
> Is there a reason the psplash recipe can't create "/mnt/.psplash", i.e.
> match the original path ?

Understood. I just wanted to update the email thread with the actual error
messages (instead of going from memory) for posterity.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146142): 
https://lists.openembedded.org/g/openembedded-core/message/146142
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Richard Purdie
On Wed, 2020-12-23 at 17:41 -0500, Trevor Woerner wrote:
> On Wed 2020-12-23 @ 04:50:05 PM, Trevor Woerner wrote:
> > On Wed 2020-12-23 @ 06:00:21 PM, Richard Purdie wrote:
> > > Personally, I don't really like the idea of having a top level
> > > directory called .psplash,
> > 
> > Neither do I, which is why I also added the code to remove the
> > directory once
> > the psplash program is done running. Whenever psplash is run the
> > directory is
> > created just before it starts and removed when psplash is done.
> > 
> > > is there a reason it doesn't work in /mnt?
> 
> specifically…
> 
> mkdir: can't create directory '/mnt/.psplash': Read-only file
> system
> mount: mounting tmpfs on /mnt/.psplash failed: No such file
> or directory
> mkfifo: Read-only file system
> 
> then
> umount: can't unmount /mnt/.psplash: No such file or
> directory

You're misunderstanding my question. In your patch you create
"/.psplash" in the splash recipe.

Is there a reason the psplash recipe can't create "/mnt/.psplash", i.e.
match the original path ?

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146141): 
https://lists.openembedded.org/g/openembedded-core/message/146141
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Trevor Woerner
On Wed 2020-12-23 @ 04:50:05 PM, Trevor Woerner wrote:
> On Wed 2020-12-23 @ 06:00:21 PM, Richard Purdie wrote:
> > Personally, I don't really like the idea of having a top level
> > directory called .psplash,
> 
> Neither do I, which is why I also added the code to remove the directory once
> the psplash program is done running. Whenever psplash is run the directory is
> created just before it starts and removed when psplash is done.
> 
> > is there a reason it doesn't work in /mnt?

specifically…

mkdir: can't create directory '/mnt/.psplash': Read-only file system
mount: mounting tmpfs on /mnt/.psplash failed: No such file or directory
mkfifo: Read-only file system

then
umount: can't unmount /mnt/.psplash: No such file or directory

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146140): 
https://lists.openembedded.org/g/openembedded-core/message/146140
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Richard Purdie
On Wed, 2020-12-23 at 17:35 -0500, Trevor Woerner wrote:
> On Wed 2020-12-23 @ 10:06:05 PM, Richard Purdie wrote:
> > On Wed, 2020-12-23 at 16:50 -0500, Trevor Woerner wrote:
> > > On Wed 2020-12-23 @ 06:00:21 PM, Richard Purdie wrote:
> > > > Personally, I don't really like the idea of having a top level
> > > > directory called .psplash,
> > > 
> > > Neither do I, which is why I also added the code to remove the
> > > directory once
> > > the psplash program is done running. Whenever psplash is run the
> > > directory is
> > > created just before it starts and removed when psplash is done.
> > > 
> > > > is there a reason it doesn't work in /mnt?
> > > 
> > > This all works fine (without any changes) on the qemuX machines,
> > > but
> > > on a real device (e.g. rpi) when the image is booted for the
> > > first
> > > time everything is mounted, initially, RO, when using sysvinit.
> > > At
> > > the end of the first boot, and for every subsequent boot, the
> > > filesystem is R/W, so everything works on
> > > subsequent boots.
> > 
> > Right, but why can't psplash create /mnt/.psplash? Why do we need /
> > and
> > not /mnt ?
> 
> Ah okay.
> 
> Let me play with it some more. The only point of /mnt/.psplash (or
> /.psplash)
> is to have a directory in which a tmpfs can be mounted in which the
> fifo is
> created. [this is the current behaviour]
> 
> It all sounds rather convoluted. I'll look for something better.

I remember being involved in trying to make this work.

With sysvinit, /tmp and /var aren't available before populate-volatiles
which is at init ordering "23" which was deemed too late for the splash
screen. The only other option for a rw directory was either to mount
one ourselves (the solution implemented) or maybe use something in
devtmpfs but devtmpfs wasn't really the way people did things back then
and wouldn't work universally.

The world has moved on, could we assume devtmpfs now?

Cheers,

Richard



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146139): 
https://lists.openembedded.org/g/openembedded-core/message/146139
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Trevor Woerner
On Wed 2020-12-23 @ 10:06:05 PM, Richard Purdie wrote:
> On Wed, 2020-12-23 at 16:50 -0500, Trevor Woerner wrote:
> > On Wed 2020-12-23 @ 06:00:21 PM, Richard Purdie wrote:
> > > Personally, I don't really like the idea of having a top level
> > > directory called .psplash,
> > 
> > Neither do I, which is why I also added the code to remove the
> > directory once
> > the psplash program is done running. Whenever psplash is run the
> > directory is
> > created just before it starts and removed when psplash is done.
> > 
> > > is there a reason it doesn't work in /mnt?
> > 
> > This all works fine (without any changes) on the qemuX machines, but
> > on a real device (e.g. rpi) when the image is booted for the first
> > time everything is mounted, initially, RO, when using sysvinit. At
> > the end of the first boot, and for every subsequent boot, the
> > filesystem is R/W, so everything works on
> > subsequent boots.
> 
> Right, but why can't psplash create /mnt/.psplash? Why do we need / and
> not /mnt ?

Ah okay.

Let me play with it some more. The only point of /mnt/.psplash (or /.psplash)
is to have a directory in which a tmpfs can be mounted in which the fifo is
created. [this is the current behaviour]

It all sounds rather convoluted. I'll look for something better.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146138): 
https://lists.openembedded.org/g/openembedded-core/message/146138
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Richard Purdie
On Wed, 2020-12-23 at 16:50 -0500, Trevor Woerner wrote:
> On Wed 2020-12-23 @ 06:00:21 PM, Richard Purdie wrote:
> > Personally, I don't really like the idea of having a top level
> > directory called .psplash,
> 
> Neither do I, which is why I also added the code to remove the
> directory once
> the psplash program is done running. Whenever psplash is run the
> directory is
> created just before it starts and removed when psplash is done.
> 
> > is there a reason it doesn't work in /mnt?
> 
> This all works fine (without any changes) on the qemuX machines, but
> on a real device (e.g. rpi) when the image is booted for the first
> time everything is mounted, initially, RO, when using sysvinit. At
> the end of the first boot, and for every subsequent boot, the
> filesystem is R/W, so everything works on
> subsequent boots.

Right, but why can't psplash create /mnt/.psplash? Why do we need / and
not /mnt ?

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146136): 
https://lists.openembedded.org/g/openembedded-core/message/146136
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Trevor Woerner
On Wed 2020-12-23 @ 06:00:21 PM, Richard Purdie wrote:
> Personally, I don't really like the idea of having a top level
> directory called .psplash,

Neither do I, which is why I also added the code to remove the directory once
the psplash program is done running. Whenever psplash is run the directory is
created just before it starts and removed when psplash is done.

> is there a reason it doesn't work in /mnt?

This all works fine (without any changes) on the qemuX machines, but on a real
device (e.g. rpi) when the image is booted for the first time everything is
mounted, initially, RO, when using sysvinit. At the end of the first boot, and
for every subsequent boot, the filesystem is R/W, so everything works on
subsequent boots.

On first boot, the error message I get is:
mkfifo: read-only filesystem
When the first boot is done, the last message is something along the lines of
not being able to umount.

If the directory exists in the filesystem already (as part of the image) then
psplash can create the fifo in it.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146135): 
https://lists.openembedded.org/g/openembedded-core/message/146135
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [master-next][PATCH 2/3] psplash: work on first boot (sysvinit)

2020-12-23 Thread Richard Purdie
On Wed, 2020-12-23 at 12:06 -0500, Trevor Woerner wrote:
The psplash program has a mechanism for showing progress/updates. This
is done via a pipe. On images that are R/O or images that are assembled
via wic, the pipe is being setup in a location that is R/O on first
boot,
therefore the pipe can not be created. If the psplash program is not
able
to create the pipe, the app will not run. This situation is "fixed" on
non-R/O images when the first bootup is complete. Therefore the psplash
program is able to run for the first shutdown, and all subsequent
bootups
and shutdowns as well, but not on the very first boot.

If the directory in which the psplash pipe is to be created already
exists in
the filesystem and that location is not R/O on first boot, then the
psplash
program can run on first boot (and subsequent boots and shutdowns).

NOTE: this is only an issue with sysvinit and most non-qemu machines. A
systemd image, and images run on qemu machines, are able to run psplash
on
the first and subsequent boots.

Personally, I don't really like the idea of having a top level
directory called .psplash, is there a reason it doesn't work in /mnt?

Cheers,

Richard




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146133): 
https://lists.openembedded.org/g/openembedded-core/message/146133
Mute This Topic: https://lists.openembedded.org/mt/79184678/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-