xfs
[Top] [All Lists]

Re: [ANNOUNCE] Red Hat Linux 9 XFS DVD Released

To: Stefan Smietanowski <stesmi@xxxxxxxxxx>
Subject: Re: [ANNOUNCE] Red Hat Linux 9 XFS DVD Released
From: Felix <felix.zihlmann@xxxxxxxxxxx>
Date: Fri, 18 Apr 2003 07:06:32 +0200
Cc: linux-xfs@xxxxxxxxxxx, cattelan@xxxxxxxxxxx, mk@xxxxxx
References: <3E9EC641.6050901@xxxxxxxxxxx> <3E9F7422.4060108@xxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020221
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
-            isys.sync()
-            isys.sync()
-            isys.sync()
-
-            # really install the bootloader
+            # install the bootloader
            p = os.pipe()
            os.write(p[1], cmd + '\n')
            os.close(p[1])

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 MBR. 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
        isys.sync()
        time.sleep(30)
        isys.sync()
really would help; maybe with a dull-journaling mount option.

Felix
--
felix.zihlmann_AT_freesurf.ch


<Prev in Thread] Current Thread [Next in Thread>