For point 2 mentioned below, I have found a simple way to fullfill it. On that position where the keystroke are fetched from the user, a small parser is embedded. It collects the string (in a local small buffer) until a <ENTER> is typed in. Then the parser sets the `entryno' and sets the appropriate `c', so for the rest of the code this parser is transperent. So the patch is quite simple and small.
A work on a test version at the moment. The parser and the whole new DUMB terminal stuff works fine. I want to improve the syntax checking and so on, then I will send you this small patch (soon). So you can have a look, if you want to add this. The patch is locally in stage2.c. For all other modes (not dumb serial mode) no changes are made. Only the dumb terminal mode became a little bit "more dumb". With friendly regards Christoph P. Christoph Plattner wrote: > > I have to correct myself ! > > Point 1 is already fullfilled, my problem with `expect' had > another reason, not depending on GRUB. > I found out, that "serial_getxy" is never called any more. > So this function can theoretically be removed. > > With friendly regards > Christoph P. > > Christoph Plattner wrote: > > > > Hello GRUB community ! > > > > In our company we use GRUB to boot a couple of embedded machines > > in complex setups. Further we use automatic test scenarios, where > > test tools control the machine via serial console or ethernet. > > > > For the serial console I have some ideas for improvements. > > 2 Points: > > > > 1) As GRUB now shifts the command line, it it exceeds the line > > length, the `serial_getxy' should not do a real terminal query > > any more. In setups not using a xterm but editor `emacs' or > > using `expect' cannot handle this easily. As we always stay > > in the same line, `x' can be calculated. For `y' I have to > > check, if it is needed for the command line editing. > > > > 2) DUMB terminal support for serial line: > > The menu should work a little bit different. My prefered > > solution is, that every menu selection has to be confirmed > > by return. On the first keypress the countdown is stopped > > (as now implemeted), then there is not a up down, but a > > selection per number, like `3<ENTER>'. A `<ENTER>' alone > > can select the default entry. To get in command line mode > > a `c<ENTER>' must be given. To edit the default entry > > use `e<ENTER>', to edit entry 3 (for example), use > > `e3<ENTER>'. So also canonical terminals can be used to > > control GRUB inclusive the menu. > > > > With this change, it would be easy to use the GRUB menu > > out of `emacs' or `expect'. > > > > Chnages for point 1 are quite simple (my opinion). > > For point 2 the control logic must be addepted to > > the usage of <ENTER> without breaking the default > > menu behavior. > > > > What do you think of this change ? > > > > With friendly regards > > Christoph P. > > > > -- > > ------------------------------------------------------- > > private: [EMAIL PROTECTED] > > company: [EMAIL PROTECTED] > > > > _______________________________________________ > > Bug-grub mailing list > > [EMAIL PROTECTED] > > http://mail.gnu.org/mailman/listinfo/bug-grub > > -- > ------------------------------------------------------- > private: [EMAIL PROTECTED] > company: [EMAIL PROTECTED] > > _______________________________________________ > Bug-grub mailing list > [EMAIL PROTECTED] > http://mail.gnu.org/mailman/listinfo/bug-grub -- ------------------------------------------------------- private: [EMAIL PROTECTED] company: [EMAIL PROTECTED] _______________________________________________ Bug-grub mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-grub
