[opensuse-kernel] initrd generation during RPM install
I thought we have deferred initrd generation to posttrans. I just updated TW and initrd was regenerated 4 times - after kernel-default - after virtualbox kmp - after udev - after all packages have been installed Does it work as intended or something is missing? -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On 2016-08-16 08:56, Andrei Borzenkov wrote:
I thought we have deferred initrd generation to posttrans. I just updated TW and initrd was regenerated 4 times
- after kernel-default
This is intended, so that there is an initrd right after the kernel has been updated.
- after virtualbox kmp - after udev - after all packages have been installed
These should be deferred to posttrans, because in case of a failed install, there will already be a working initrd with the previous version of the tools. Also, the packages regenerated the initrd for all kernels, which takes long. Please submit bugreports with y2logs. Michal -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
Am 19.08.2016 um 12:45 schrieb Michal Marek:
- after kernel-default This is intended, so that there is an initrd right after the kernel has been updated.
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished. There is little point in running mkinitrd more than once during the whole transaction. Olaf
On 19.08.2016 14:18, Olaf Hering wrote:
Am 19.08.2016 um 12:45 schrieb Michal Marek:
- after kernel-default This is intended, so that there is an initrd right after the kernel has been updated.
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished.
Even though I agree in principle with you on this issue, I disagree here, because...
There is little point in running mkinitrd more than once during the whole transaction.
If you do not regenerate the initrd after installing the kernel and the install aborts for whatever reason / the machine crashes, then you are basically ensuring that the machine will not boot afterwards. The "inconsistency" of the system before posttrans also adds a slight chance that the initrd generated after kernel install is non-functional, but that chance is much much smaller than the 100% chance of not having an initrd at all. No, I'm not going to use multiversion for the kernels. -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On 08/19/2016, 02:18 PM, Olaf Hering wrote:
Am 19.08.2016 um 12:45 schrieb Michal Marek:
- after kernel-default This is intended, so that there is an initrd right after the kernel has been updated.
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished. There is little point in running mkinitrd more than once during the whole transaction.
Except the kernel would be installed very first. Can we do it? -- js suse labs
On 19.08.2016 16:09, Jiri Slaby wrote:
On 08/19/2016, 02:18 PM, Olaf Hering wrote:
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished. There is little point in running mkinitrd more than once during the whole transaction.
Except the kernel would be installed very first. Can we do it?
Or last. So that the chance of having kernel updated, but %posttrans not running is very low. -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On 08/19/2016, 04:12 PM, Stefan Seyfried wrote:
On 19.08.2016 16:09, Jiri Slaby wrote:
On 08/19/2016, 02:18 PM, Olaf Hering wrote:
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished. There is little point in running mkinitrd more than once during the whole transaction.
Except the kernel would be installed very first. Can we do it?
Or last. So that the chance of having kernel updated, but %posttrans not running is very low.
But initrd generation can be broken at that time (e.g. broken dracut proper). -- js suse labs -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
Am 19.08.2016 um 16:15 schrieb Jiri Slaby:
On 08/19/2016, 04:12 PM, Stefan Seyfried wrote:
On 19.08.2016 16:09, Jiri Slaby wrote:
On 08/19/2016, 02:18 PM, Olaf Hering wrote:
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished. There is little point in running mkinitrd more than once during the whole transaction.
Except the kernel would be installed very first. Can we do it?
Or last. So that the chance of having kernel updated, but %posttrans not running is very low.
But initrd generation can be broken at that time (e.g. broken dracut proper).
If the kernel is installed last, the system should be consistent at that time, so dracut should work. Installing the kernel last would at least make sure that the time window where no initrd is available is as short as possible, without having to run mkinitrd more than once. -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dne 19.8.2016 v 16:09 Jiri Slaby napsal(a):
On 08/19/2016, 02:18 PM, Olaf Hering wrote:
Am 19.08.2016 um 12:45 schrieb Michal Marek:
- after kernel-default This is intended, so that there is an initrd right after the kernel has been updated.
Once zypper dup starts to install the first package the system is in an inconsistant state, and it remains in that inconsistant state until the very last %posttrans is finished. There is little point in running mkinitrd more than once during the whole transaction.
There are different levels of inconsistent, though. With a kernel and initrd, you will be able to at least mount the root filesystem. But I do not insist on doing it this way..
Except the kernel would be installed very first. Can we do it?
I do not understant this..? Michal -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJXtxceAAoJENjHJYQaovOVkoUP/2maYI1K+Yu/RgaqWAGtqLw/ x5K3+FEz0YTNg841/09wRie2XVdNDxHhU72UWnxT9JKZkqsNJEbWbfhoZvNCgoIg zxO0ANYELf5ztBlAyu4Ik2BvaMQO9zvCQjY0ML+cTOoT8uZk7ux1eewBojUwWPeX YYrzp9QXDtaE6O9ZC6wvXYsqiw+SbDK5Hevb9t1MVIFY25vObhG6MjpyPUmJ5Rw/ tZfaiohYe5xCi+J6Xt4R+L/YxTd+G//KBbSg8hAJFMmsWqVTzcv9jTYkc+LAA9jm 2ouhPybY55CtrasWX96pVQPA1g2lGz6pRaAU9fqrgt7CRV2mFt72x39L+DqMPQgU QprJAPLi9xVoUgzhp+vLC402dgQlFeCbC11/NMJivvl1uurx9xRxuTcb68tYwXX6 aYjxqIjUx4hYVgHlc58Zm8EFDKgQ8oryVFYUInKpZ0YfQEptsz6qSRUWKP8tI+QF 3mBdXv9pQEjeRDRSmuJMKlf2gNO8L8sPBfxR3TXCe5H5s1hhjGF/blw91x/uN/Fx VM2lOldLVEE57HgI0pR92B8V6771rfU+KUyfitZmojuiWYKVcr/79GSUw8/3Z73l 7Y9vEgT1p5eHUFG19KB8Ch/Bb+49I1b4LXPZvxHG1CiR3JegNfAlLMkYfg0g+EWJ ilqB3nVDt5gsSBaHnQYp =G7dl -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
Am 19.08.2016 um 16:26 schrieb Michal Marek:
There are different levels of inconsistent, though. With a kernel and initrd, you will be able to at least mount the root filesystem. But I do not insist on doing it this way..
If there is just one place for mkinitrd, in %posttrans, the current kernel+initrd entries are still usable. There are likely ways to check if multiversion is enabled, and defer mkinitrd in this case.
Except the kernel would be installed very first. Can we do it?
This would still call mkinitrd more than once, for little gain. Olaf
Michal Marek composed on 2016-08-19 12:45 (UTC+0200):
Andrei Borzenkov wrote:
I thought we have deferred initrd generation to posttrans. I just updated TW and initrd was regenerated 4 times
- after kernel-default
This is intended, so that there is an initrd right after the kernel has been updated.
- after virtualbox kmp - after udev - after all packages have been installed
These should be deferred to posttrans, because in case of a failed install, there will already be a working initrd with the previous version of the tools. Also, the packages regenerated the initrd for all kernels, which takes long. Please submit bugreports with y2logs.
No VB KMPs here, but I do ~: # chattr +i /boot/initrd* # zypper al kernel-de* # zypper -v (d)up # zypper -v in kernel-default Results: 1.proven old kernels' initrds continue to work 2.new kernel gets an initrd created only once -- "The wise are known for their understanding, and pleasant words are persuasive." Proverbs 16:21 (New Living Translation) Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata *** http://fm.no-ip.com/ -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On ven., 2016-08-19 at 10:21 -0400, Felix Miata wrote:
Michal Marek composed on 2016-08-19 12:45 (UTC+0200):
Andrei Borzenkov wrote:
I thought we have deferred initrd generation to posttrans. I just updated TW and initrd was regenerated 4 times
- after kernel-default
This is intended, so that there is an initrd right after the kernel has been updated.
- after virtualbox kmp - after udev - after all packages have been installed
These should be deferred to posttrans, because in case of a failed install, there will already be a working initrd with the previous version of the tools. Also, the packages regenerated the initrd for all kernels, which takes long. Please submit bugreports with y2logs.
No VB KMPs here, but I do ~:
# chattr +i /boot/initrd* # zypper al kernel-de* # zypper -v (d)up # zypper -v in kernel-default
Results: 1.proven old kernels' initrds continue to work 2.new kernel gets an initrd created only once
We cannot possibly expect all our users to do that. It should "just work." -- Jean Delvare SUSE L3 Support -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (7)
-
Andrei Borzenkov
-
Felix Miata
-
Jean Delvare
-
Jiri Slaby
-
Michal Marek
-
Olaf Hering
-
Stefan Seyfried