Re: [systemd-devel] Question about systemd-firstboot
On Thu, Mar 9, 2017 at 5:49 PM, Zbigniew Jędrzejewski-Szmekwrote: >> So if 'ro' is used, systemd-firstboot is not working. If it's expected >> I think it would worth a note in the documentation. > It's supposed to work, I think. Please open an issue, it'll be better > tracked there. > https://github.com/systemd/systemd/issues/5562 Thank you. -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Question about systemd-firstboot
On Thu, Mar 09, 2017 at 05:31:46PM +0100, Francis Moreau wrote: > On Thu, Mar 9, 2017 at 5:19 PM, Zbigniew Jędrzejewski-Szmek >wrote: > > It depends on the command-line parameters: 'ro' and 'rw' both work. > > 'rw' is actually recommended if you're using an initramfs. > who is recommending 'rw' ? That's how I remember the result of the discussions on systemd-devel when we were trying to get systemd-fsck to work properly on all combinations of ro/rw and fs type. I don't think there's any official recommendation, just the general agreement that fsck is done better in the initramfs (if at all needed, since most filesystems don't really need it), and then there's no point in having the root temporarilly read-only in the real system. > > Otherwise, an empty /etc/machine-id may be present, if /etc is read-only > > at boot, in which case systemd will do a temporary mount. > > > > So 'ro' is supported, but you either need an /etc/machine-id file or > > a place to mount one temporarily. > > So if 'ro' is used, systemd-firstboot is not working. If it's expected > I think it would worth a note in the documentation. It's supposed to work, I think. Please open an issue, it'll be better tracked there. Zbyszek > On my setup, neither 'rw' nor 'ro' is passed so I assume 'ro' is the default. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Question about systemd-firstboot
On Thu, Mar 9, 2017 at 5:19 PM, Zbigniew Jędrzejewski-Szmekwrote: > It depends on the command-line parameters: 'ro' and 'rw' both work. > 'rw' is actually recommended if you're using an initramfs. > who is recommending 'rw' ? do you have any pointers ? > Otherwise, an empty /etc/machine-id may be present, if /etc is read-only > at boot, in which case systemd will do a temporary mount. > > So 'ro' is supported, but you either need an /etc/machine-id file or > a place to mount one temporarily. So if 'ro' is used, systemd-firstboot is not working. If it's expected I think it would worth a note in the documentation. On my setup, neither 'rw' nor 'ro' is passed so I assume 'ro' is the default. Thanks for your help -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Question about systemd-firstboot
On Thu, Mar 09, 2017 at 03:49:51PM +0100, Francis Moreau wrote: > On Thu, Mar 9, 2017 at 3:10 PM, Zbigniew Jędrzejewski-Szmek >wrote: > > On Thu, Mar 09, 2017 at 10:48:03AM +0100, Francis Moreau wrote: > >> Hello, > >> > >> I'm puzzled about systemd-firstboot service. > >> > >> In my understanding this service is ran only during the firstboot. The > >> firstboot condition is detected with the presence of /etc/machine-id > >> file. > >> > >> If this file is not present then it's assumed to be a first boot and > >> systemd-firstboot.service is ran and will create the machine-id file. > >> > >> Now the thing is that I dont see how systemd-firstboot.service can > >> have a chance to be started because if /etc/machine-id is missing the > >> whole boot is failing due to journald requiring /etc/machine-id. > >> > >> Could anybody give me some clues ? > > > > machine_id_setup() is called from main(). So pid1 should set up > > /etc/machine-id if possible (/etc is wriable) before it starts the > > firstboot services. > > > > For regular boots /etc is always RO when systemd is started, at least > in my understanding. It depends on the command-line parameters: 'ro' and 'rw' both work. 'rw' is actually recommended if you're using an initramfs. Otherwise, an empty /etc/machine-id may be present, if /etc is read-only at boot, in which case systemd will do a temporary mount. So 'ro' is supported, but you either need an /etc/machine-id file or a place to mount one temporarily. Zbyszek ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Question about systemd-firstboot
On Thu, Mar 9, 2017 at 3:10 PM, Zbigniew Jędrzejewski-Szmekwrote: > On Thu, Mar 09, 2017 at 10:48:03AM +0100, Francis Moreau wrote: >> Hello, >> >> I'm puzzled about systemd-firstboot service. >> >> In my understanding this service is ran only during the firstboot. The >> firstboot condition is detected with the presence of /etc/machine-id >> file. >> >> If this file is not present then it's assumed to be a first boot and >> systemd-firstboot.service is ran and will create the machine-id file. >> >> Now the thing is that I dont see how systemd-firstboot.service can >> have a chance to be started because if /etc/machine-id is missing the >> whole boot is failing due to journald requiring /etc/machine-id. >> >> Could anybody give me some clues ? > > machine_id_setup() is called from main(). So pid1 should set up > /etc/machine-id if possible (/etc is wriable) before it starts the > firstboot services. > For regular boots /etc is always RO when systemd is started, at least in my understanding. Just give it a try, remove /etc/machine-id and reboots, you'll see that journald will fail. Cheers. -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Question about systemd-firstboot
On Thu, Mar 09, 2017 at 10:48:03AM +0100, Francis Moreau wrote: > Hello, > > I'm puzzled about systemd-firstboot service. > > In my understanding this service is ran only during the firstboot. The > firstboot condition is detected with the presence of /etc/machine-id > file. > > If this file is not present then it's assumed to be a first boot and > systemd-firstboot.service is ran and will create the machine-id file. > > Now the thing is that I dont see how systemd-firstboot.service can > have a chance to be started because if /etc/machine-id is missing the > whole boot is failing due to journald requiring /etc/machine-id. > > Could anybody give me some clues ? machine_id_setup() is called from main(). So pid1 should set up /etc/machine-id if possible (/etc is wriable) before it starts the firstboot services. Zbyszek ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel