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] 

Reply via email to