Hi GRUBies,
After some month of break (not really, GRUB booted my machines without
problems, but I didn't look whats new), I upgrade last night to 0.5.94
(strictly spoken to the last CVS snapshot).
Excellent work folks!
Here some comments (and patches following up):
* Grub shell:
1) Flushing the filesystem buffers in Linux is really a good thing,
however, it should be done on startup as well. Other operations
resulting in changes on the disk prio to starting `grub' may not be
seen by `grub' without that. (Patch follows).
2) When creating /boot/grub/devices.map, the user should be informed.
Especially the first time the probe works OK, but leaves out the
floppy drive, if there is no floppy in that time.
3) When starting `grub' without a floppy in, the floppy probe fails
apperently. I didn't find a way (except leaving grub) to accept a
inserted floppy. Do I miss something?
4) --boot-drive & --install-partition is not very user friendly.
I did --root=DEVICE instead. This is particularly useful to find the
default `menu.lst'. (Patch follows).
* Commands:
1) `setup': Is a wonderful wrapper around `embed & install'. However,
I played around with it (using --read-only & gdb) and found the
following:
In the case the `install' part of `setup' gave me a version
mismatch on stage1/2, but `embed' has already succeeded on stage1.5
(not really because of --read-only ;-).
I didn't look at the code yet carefully, but there should be a
assertion on stage1.5 wrt. to the version check.
2) `root' & friends: There should be a way to look up things.
I implemented `root' showing the ROOT when called without
parameters. (Patch follows).
3) When hitting return (empty line), grub complains about illegal
command. That's not nice. (Patch follows).
Maybe lines starting with '#' should also be quiet. I didn't do
that yet, because those lines should be on the command stack.
* Completions:
1) The completion rewrite is quite nice, one feature, however, has
been lost.
Typeing:
some-command (DRIVE<TAB>
completes to
some-command (DRIVE)
The '/' allowing for next <TAB> is not there any more.
I did this as follows: If the DRIVE can be succesfully mounted, I
add the '/' to the completion. (Patch follows).
2) Bug/non-robustness in completion?
It's not quite true what I sayed about last nights upgrade.
I upgraded my version at home a week ago (99-10-29) and
found a BUG in there yesterday which disappeared after `cvs
update'ing again.
The bug: when a completion failed, `errnum' was set. After that
the system was not useable any more, since the memory checker
always failed, as `errnum' was never reset.
I saw in the newer version, that lots of `errnum' resets have been
implemented, making the particular scenario I had to succeed.
For robustness reasons, however, `errnum' should be reset whenever
completion fails in the completion routine. (Patch follows).
OK, that's it for today, I will send the patches for the issues above
separately.
Keep on hacking
KR
--
Klaus Reichl @ HOME email: [EMAIL PROTECTED]