Stefan Smietanowski wrote:
> You're basically just doing what the installer does in the step right
> after this, no?
> The Post Install script is being run just before the bootloader is
> install. Hmm. Could be that you basically force a few extra writes that
> make things get written to platter.
No. %post scripts are executed directly after the install of a package.
Since I found this workaround a while ago, I forgot the second part of it:
For booty you need to apply:
--- booty-0.14/bootloaderInfo.py.fff 2002-11-06 05:13:08.000000000 -0500
+++ booty-0.14/bootloaderInfo.py 2002-11-06 05:14:14.000000000 -0500
@@ -771,21 +771,7 @@
if not justConfigFile:
log("GRUB command %s", cmd)
- # copy the stage files over into /boot
- rhpl.executil.execWithRedirect( "/sbin/grub-install",
- ["/sbin/grub-install", "--just-copy"],
- stdout = "/dev/tty5", stderr =
"/dev/tty5",- root = instRoot)
- # FIXME: hack to try to make sure everything is written to
the disk- import isys
- # really install the bootloader
+ # install the bootloader
p = os.pipe()
os.write(p, cmd + '\n')
This is important, since the trick of my %post script is, that several
MB of other packages get installed after the grub %post script is
executed. This way, it is extremely likely that the *stage* files in
/boot really hit the platter (it takes more than 30 seconds to install
all the packages that come after grub and there is so much newer data,
that the *stage* files are not treated as potential temporary files by
XFS, I guess), before anaconda wants to install the stage1 loader in the
Without the booty patch above, the *stage* files get installed again and
immediately afterwards anaconda wants to install the stage1 loader in
the MBR, which makes my trick useless...
But it really is just a workaround that would not work when grub is the
last package that gets installed. I would prefer a solution, where
really would help; maybe with a dull-journaling mount option.