Stefan Smietanowski wrote:
...
There is a bug with using GRUB as a bootloader. Either use LILO or
use one of the following workarounds:
* Make a seperate /boot partition and use some other filesystem than
xfs on it. That way you won't get the issue and you can use xfs
without getting any problems.
* Run the installer all the way until it asks if you should create
a boot disk or not.
If you're using the graphical installer press CTRL-ALT-F5.
If you're using the text installer, press ALT-F5.
You'll see an interesting page ending with a GRUB error
"Can't find file".
Above it are two lines. The first one is something like:
"root (hd0,0)"
After that you'll find a line with something like this (these lines
are different depending on your type of hard drive and partitioning:
"install /boot/grub/stage1 d .........."
Write both lines down literally. Note that there exists a space
after "(hd0)" in some places and not in others. Make sure you really
get it right.
Go back to the installer by using ALT-F7 if using the graphical
installer or ALT-F1 if using text.
Instead of switching back to the installer, you can also switch
to a shell (ALT-F2), and do a:
chroot /mnt/sysimage
/sbin/grub --batch --nofloppy --device-map=/boot/grub/device.map
and give the two commands again (in my case):
root (hd0,0)
install /boot/grub/stage1 d (hd0) /boot/grub/stage2 p
(hd0,0)/boot/grub/grub.conf
quit
and ctrl-D to exit chroot.
(the install ... line is one line).
Then you can go back to the installer.
Interestingly, the command above is exactly the same the
installer gives in stage2.img /usr/lib/booty/bootloaderInfo.py
one has:
...
rhpl.executil.execWithRedirect( "/sbin/grub-install",
["/sbin/grub-install", "--just-copy"],
stdout = "/dev/tty5", stderr =
"/dev/tty5",
root = instRoot)
# get the stage files synced to disk
import isys
isys.sync()
isys.sync()
isys.sync()
# really install the bootloader
p = os.pipe()
os.write(p[1], cmd + '\n')
os.close(p[1])
rhpl.executil.execWithRedirect('/sbin/grub' ,
[ "grub", "--batch", "--no-floppy",
"--device-map=/boot/grub/device.map" ],
stdin = p[0],
stdout = "/dev/tty5", stderr =
"/dev/tty5",
root = instRoot)
os.close(p[0])
...
I'm wondering if these sync's aren't enough on
an XFS filesystem... Hm, I'll try and put 100 extra...
Mogens
--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@xxxxxx Homepage: http://www.crc.dk
|