bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug #522] different terminal emulations for serial consoles


From: nobody
Subject: [Bug #522] different terminal emulations for serial consoles
Date: Mon, 25 Nov 2002 04:14:50 -0500

=================== BUG #522: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=522&group_id=68

Changes by: Yoshinori K. Okuji <address@hidden>
Date: 2002-Nov-25 09:14 (GMT)

------------------ Additional Follow-up Comments ----------------------------
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



=================== BUG #522: FULL BUG SNAPSHOT ===================


Submitted by: bubeck                    Project: GNU GRUB                       
Submitted on: 2002-Jun-01 16: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 address@hidden<@

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 09: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 08: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 13: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 20: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 20: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 21: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 19: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 16: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 19: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&amp;bug_id=522&amp;bug_file_id=32

-------------------------------------------------------
Date: 2002-Jun-01 16:04  Name: grub-terminal-emulation.patch  Size: 41KB   By: 
bubeck
patch 
http://savannah.gnu.org/bugs/download.php?group_id=68&amp;bug_id=522&amp;bug_file_id=21


For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=522&group_id=68




reply via email to

[Prev in Thread] Current Thread [Next in Thread]