bugGNU GRUB - Bugs: bug #522, different terminal emulations for...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #522: different terminal emulations for serial consoles

Submitted by:  Dr. Tilmann Bubeck <bubeck>
Submitted on:  Sat 01 Jun 2002 04:04:57 PM UTC  
 
Category: TerminalSeverity: Major
Priority: 5 - NormalItem Group: Feature Request
Status: FixedPrivacy: Public
Assigned to: Yoshinori K. Okuji <okuji>Originator Name: 
Open/Closed: ClosedRelease: 0.92
Release: NoneReproducibility: None
Planned Release: None

(Jump to the original submission Jump to the original submission)

Fri 29 Nov 2002 08:41:36 PM UTC, comment #10:

I've checked in your patch plus my modifications (in
particular, the documentation).

Thanks,
Okuji

Yoshinori K. Okuji <okuji>
Project AdministratorIn charge of this item.
Mon 25 Nov 2002 10:10:48 PM UTC, comment #9:

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.

Dr. Tilmann Bubeck <bubeck>
Mon 25 Nov 2002 09:14:47 AM UTC, comment #8:

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

Yoshinori K. Okuji <okuji>
Project AdministratorIn charge of this item.
Mon 25 Nov 2002 08:58:46 AM UTC, comment #7:

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.

Dr. Tilmann Bubeck <bubeck>
Sun 24 Nov 2002 01:03:45 PM UTC, comment #6:

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

Yoshinori K. Okuji <okuji>
Project AdministratorIn charge of this item.
Fri 22 Nov 2002 08:22:11 PM UTC, comment #5:

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

Dr. Tilmann Bubeck <bubeck>
Fri 22 Nov 2002 08:21:36 PM UTC, comment #4:

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

Dr. Tilmann Bubeck <bubeck>
Thu 04 Jul 2002 09:00:39 PM UTC, comment #3:

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

Yoshinori K. Okuji <okuji>
Project AdministratorIn charge of this item.
Thu 13 Jun 2002 07:44:05 PM UTC, comment #2:

Your changes to the code are very good! Enclosed you find a new patch based upon the current CVS.

Thanks,
Till

Dr. Tilmann Bubeck <bubeck>
Tue 11 Jun 2002 04:44:24 PM UTC, comment #1:

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

Yoshinori K. Okuji <okuji>
Project AdministratorIn charge of this item.
Sat 01 Jun 2002 04:04:57 PM UTC, 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.

Dr. Tilmann Bubeck <bubeck>

 

Attached Files
file #32:  grub-terminal-emulation-v2.patch added by bubeck (41KiB - application/octet-stream - New patch based upon CVS after changed thru okuji)
file #21:  grub-terminal-emulation.patch added by bubeck (42KiB - application/octet-stream - patch )

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 8 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Fri 29 Nov 2002 08:41:36 PM UTCokujiStatusWorks For Me=>(Error - Not Found)
  Open/ClosedAccepted=>(Error - Not Found)
Sun 24 Nov 2002 01:03:45 PM UTCokujiPriority120(Error - Not Found)=>(Error - Not Found)
  StatusNone=>(Error - Not Found)
Thu 04 Jul 2002 09:00:39 PM UTCokujiAssigned toNone=>NA
  Open/ClosedOpen=>(Error - Not Found)
  Planned Release=>
Thu 04 Jul 2002 09:00:38 PM UTCokujiPriority100(Error - Not Found)=>(Error - Not Found)

Back to the top


Powered by Savane 3.1-cleanup1