=================== BUG #522: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=522&group_id=68
Changes by: Dr. Tilmann Bubeck <[EMAIL PROTECTED]>
Date: 2002-Nov-25 23:10 (Europe/Berlin)
------------------ Additional Follow-up Comments ----------------------------
I would like suggestion 1) --cursor-address=...
--name is meant to store the name of the terminal type e.g. "vt100". It is only used
to store the name and this name is printed out in some places (e.g. in GRUB banner). I
think that it is good to see, what terminaml emulation is being used if you load a
"grub.conf" containing a terminfo command. You could then issus "terminfo" and the
current settings (including the name) would be printed out. So one could check, which
terminal emulation is in use at the moment. However, if you don't like it, then it
could be removed from the patch.
=================== BUG #522: FULL BUG SNAPSHOT ===================
Submitted by: bubeck Project: GNU GRUB
Submitted on: 2002-Jun-01 18:04
Category: Terminal Severity: Major
Priority: Normal Bug Group: Feature Request
Resolution: Works for me Assigned to: okuji
Status: Accepted Release: 0.92
Reproducibility: None Planned Release: 0.93
Summary: different terminal emulations for serial consoles
Original Submission: please find enclosed a patch to enable grub to work with any
kind of
serial console, not just vt100. This is realized by a new builtin command
called "terminfo" which could be used to set the 6 different escape
sequences used by grub to their correct value. E.g. you would say for a
ibm3161 terminal:
terminfo --name=ibm3161 --cursor_left=\ED --cursor_right=\EC
--cursor_address=\EY%p1%{32}%+%c%p2%{32}%+%c --clear_screen=\EH\EJ
--enter_standout_mode=\E4A --exit_standout_mode=\E4@\E<@
Then I changed a few lines of grub, so that the hard coded escape
sequences of vt100 are replaced by the given variables. The default of
grub is still vt100, so if the user will not use the new builtin command,
then grub will behave as before.
The user can get the above terminfo command line by using the infocmp(1)
command under linux or by using the shell skript
util/make-terminfo-command which is also included in this patch. This
shell skript will print out the correct command line for a given terminal
by asking ncurses for the right escape sequences. The above command line
is generated by "make-terminfo-command".
The most complicated thing of this terminal emulation was the
"cursor_address" command, because every terminal uses its own way to
specify the X/Y position of the cursor. Therefore I decided to include the
file "tparm.c" from ncurses-5.2 and modify it slightly, so that it can be
used within grub. The main thing was to change the memory allocation from
dynamic to static. Ncurses-5.2 is (C) by FSF and inclusion should be no
problem. The license is more "weak" than GPL, its basically BSD-like.
Follow-up Comments
*******************
-------------------------------------------------------
Date: 2002-Nov-25 23:10 By: bubeck
I would like suggestion 1) --cursor-address=...
--name is meant to store the name of the terminal type e.g. "vt100". It is only used
to store the name and this name is printed out in some places (e.g. in GRUB banner). I
think that it is good to see, what terminaml emulation is being used if you load a
"grub.conf" containing a terminfo command. You could then issus "terminfo" and the
current settings (including the name) would be printed out. So one could check, which
terminal emulation is in use at the moment. However, if you don't like it, then it
could be removed from the patch.
-------------------------------------------------------
Date: 2002-Nov-25 10:14 By: okuji
Ok, then I'd like to discuss the option names. You said that
using underscores as delimiters is consistent with terminfo,
but it doesn't fit to the convention of GNU long options. So
I do want to change them somehow. For now, I think of two
ways:
1) Replace underscores with hyphens (e.g.
--cursor-address=...).
2) Use a completely different syntax (e.g.
cursor_address=...).
BTW, why does the command "terminfo" has an option
"--name=..."? Why is it useful?
Okuji
-------------------------------------------------------
Date: 2002-Nov-25 09:58 By: bubeck
The terminfo arguments are indeed mandatory, that's why they are made "options"
instead of "arguments". If you would not set any option, then you'll get "dumb"
terminal. Maybe the most important option is "cursor_adress". If this is missing, then
you won't be able to see the menu. So we could make _this_ an argument. But all others
(e.g. "standout" = bold) are optional. If you leave them out, then you won't see
anyhting in bold, but anything is working fine.
I don't think, that it is a good idea to make "cursor_adress" an argument and all
other an option.
So I would suggest to keep this patch as it is.
-------------------------------------------------------
Date: 2002-Nov-24 14:03 By: okuji
Sorry, I forgot your patch.
IIRC, I said that the parameters for "terminfo" should be
arguments rather than options, when we talked lastly. But
your patch still uses options such as --cursor_address=...
Is there any reason why you stick to that form?
Okuji
-------------------------------------------------------
Date: 2002-Nov-22 21:22 By: bubeck
Have you had time to apply the patch? It's nearly half a year now... It would save me
some time, if I don't have to patch any new redhat version, because my patch is not
found in there...
Thanks!
Till
-------------------------------------------------------
Date: 2002-Nov-22 21:21 By: bubeck
Have you had time to apply the patch? It's nearly half a year now... It would save me
some time, if I don't have to patch any new redhat version, because my patch is not
found in there...
Thanks!
Till
-------------------------------------------------------
Date: 2002-Jul-04 23:00 By: okuji
Now your copyright assignment has been accepted, so
I'll incorporate your patch, once other tasks are finished.
That would take a while. Be patient, please.
Okuji
-------------------------------------------------------
Date: 2002-Jun-13 21:44 By: bubeck
Your changes to the code are _very_ good! Enclosed you find a new patch based upon the
current CVS.
Thanks,
Till
-------------------------------------------------------
Date: 2002-Jun-11 18:44 By: okuji
Your patch cannot be applied cleanly any longer, because
I've rewritten the terminal handling code heavily.
Because the terminal code now looks good, I'd like to apply
your patch, if possible. Would you like to adapt your patch
to the current CVS?
Thanks,
Okuji
CC list is empty
File Attachments
****************
-------------------------------------------------------
Date: 2002-Jun-13 21:44 Name: grub-terminal-emulation-v2.patch Size: 41KB By:
bubeck
New patch based upon CVS after changed thru okuji
http://savannah.gnu.org/bugs/download.php?group_id=68&bug_id=522&bug_file_id=32
-------------------------------------------------------
Date: 2002-Jun-01 18:04 Name: grub-terminal-emulation.patch Size: 41KB By: bubeck
patch
http://savannah.gnu.org/bugs/download.php?group_id=68&bug_id=522&bug_file_id=21
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=522&group_id=68
_______________________________________________
Bug-grub mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-grub