cleanup the function cat and update the manual.
This commit is contained in:
parent
07b947e669
commit
ce8fc4e5a0
3 changed files with 85 additions and 20 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
|
* stage2/builtins.c (cat_func): Do not read the whole of a file
|
||||||
|
at one time. Instead, repeat reading one byte and print it on
|
||||||
|
the screen.
|
||||||
|
* docs/grub.texi (Command line): List the available key
|
||||||
|
bindings.
|
||||||
|
(Commands): Added descriptions about "geometry", "device" and
|
||||||
|
"cat".
|
||||||
|
|
||||||
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
Now it is possible to build the grub shell with old BSD curses.
|
Now it is possible to build the grub shell with old BSD curses.
|
||||||
|
|
|
@ -539,19 +539,57 @@ behavior will be changed in the future version, in a user-invisible
|
||||||
way.}. The commands are a subset of those available in the configuration
|
way.}. The commands are a subset of those available in the configuration
|
||||||
file, used with exactly the same syntax.
|
file, used with exactly the same syntax.
|
||||||
|
|
||||||
@c FIXME: The list of available keys should be listed in @table, and should be
|
|
||||||
@c explained exactly. Current explanation is obscure.
|
|
||||||
Cursor movement and editing of the text on the line can be done via a
|
Cursor movement and editing of the text on the line can be done via a
|
||||||
subset of the functions available in the BASH shell (@kbd{C-f} forward,
|
subset of the functions available in the BASH shell:
|
||||||
@kbd{C-b} backward, @kbd{C-a} beginning of line, @kbd{C-e} end of line,
|
|
||||||
@kbd{C-k} delete to end, @kbd{C-u} delete to beginning; the PC left and
|
@table @key
|
||||||
right arrow keys, @key{HOME}, @key{DEL}, and @key{END} work as well).
|
@item C-f
|
||||||
|
@itemx PC left key
|
||||||
|
Move forward one character.
|
||||||
|
|
||||||
|
@item C-b
|
||||||
|
@itemx PC right key
|
||||||
|
Move back one character.
|
||||||
|
|
||||||
|
@item C-a
|
||||||
|
@itemx HOME
|
||||||
|
Move to the start of the line.
|
||||||
|
|
||||||
|
@item C-e
|
||||||
|
@itemx END
|
||||||
|
Move the the end of the line.
|
||||||
|
|
||||||
|
@item C-d
|
||||||
|
@itemx DEL
|
||||||
|
Delete the character underneath the cursor.
|
||||||
|
|
||||||
|
@item C-h
|
||||||
|
@itemx BS
|
||||||
|
Delete the character to the left of the cursor.
|
||||||
|
|
||||||
|
@item C-k
|
||||||
|
Kill the text from the current cursor position to the end of the line.
|
||||||
|
|
||||||
|
@item C-u
|
||||||
|
Kill backward from the cursor to the beginning of the line.
|
||||||
|
|
||||||
|
@item C-y
|
||||||
|
Yank the killed text back into the buffer at the cursor.
|
||||||
|
|
||||||
|
@item C-p
|
||||||
|
@itemx PC up key
|
||||||
|
Move up through the history list.
|
||||||
|
|
||||||
|
@item C-n
|
||||||
|
@itemx PC down key
|
||||||
|
Move down through the history list.
|
||||||
|
@end table
|
||||||
|
|
||||||
When typing commands interactively, if the cursor is within or before
|
When typing commands interactively, if the cursor is within or before
|
||||||
the first word in the command-line, pressing the @key{TAB} key will
|
the first word in the command-line, pressing the @key{TAB} key (or
|
||||||
display a listing of the available commands, and if the cursor is after
|
@key{C-i}) will display a listing of the available commands, and if the
|
||||||
the first word, the @key{TAB} will provide a completion listing
|
cursor is after the first word, the @key{TAB} will provide a completion
|
||||||
of disks, partitions, and filenames depending on the context.
|
listing of disks, partitions, and filenames depending on the context.
|
||||||
|
|
||||||
|
|
||||||
@node Menu
|
@node Menu
|
||||||
|
@ -673,6 +711,9 @@ This boots the OS/chain-loader which has been loaded. Only necessary if
|
||||||
running the fully interactive command line (it is implicit at the end of
|
running the fully interactive command line (it is implicit at the end of
|
||||||
a config-file entry).
|
a config-file entry).
|
||||||
|
|
||||||
|
@item cat @var{file}
|
||||||
|
Display the contents of the file @var{file}.
|
||||||
|
|
||||||
@item color @var{normal} [@var{highlight}]
|
@item color @var{normal} [@var{highlight}]
|
||||||
Change the menu colors. The color @var{normal} is used for most
|
Change the menu colors. The color @var{normal} is used for most
|
||||||
lines in the menu, and the color @var{highlight} is used to highlight the
|
lines in the menu, and the color @var{highlight} is used to highlight the
|
||||||
|
@ -761,6 +802,19 @@ sector of the current partition with @samp{+1}.
|
||||||
@item configfile @var{file}
|
@item configfile @var{file}
|
||||||
Load @var{file} as the configuration file.
|
Load @var{file} as the configuration file.
|
||||||
|
|
||||||
|
@item device @var{drive} @var{file}
|
||||||
|
In the grub shell, specify the file @var{file} as the actual drive for a
|
||||||
|
@sc{bios} drive @var{drive}. You can use this command to create a disk
|
||||||
|
image and to fix the drives guessed by GRUB when GRUB fails to determine
|
||||||
|
them correctly, like this:
|
||||||
|
|
||||||
|
@example
|
||||||
|
grub> device (fd0) /floppy-image
|
||||||
|
grub> device (hd0) /dev/sd0
|
||||||
|
@end example
|
||||||
|
|
||||||
|
This command is just ignored in Stage 2.
|
||||||
|
|
||||||
@item displaymem
|
@item displaymem
|
||||||
Display what GRUB thinks the system address space map of the machine is,
|
Display what GRUB thinks the system address space map of the machine is,
|
||||||
including all regions of physical @sc{ram} installed. GRUB's
|
including all regions of physical @sc{ram} installed. GRUB's
|
||||||
|
@ -784,6 +838,14 @@ requests from the disk.
|
||||||
Filesystem test mode is turned off by any use of the @command{install}
|
Filesystem test mode is turned off by any use of the @command{install}
|
||||||
or @command{testload} commands.
|
or @command{testload} commands.
|
||||||
|
|
||||||
|
@item geometry @var{drive} [@var{cylinder} @var{head} @var{sector} [@var{total_sector}]]
|
||||||
|
Print the information for the drive @var{drive}. In the grub shell, you
|
||||||
|
can set the geometry of the drive arbitrarily. The number of the
|
||||||
|
cylinders, the one of the heads, the one of the sectors and the one of
|
||||||
|
the total sectors are set to CYLINDER, HEAD, SECTOR and TOTAL_SECTOR,
|
||||||
|
respectively. If you omit TOTAL_SECTOR, then it will be calculated
|
||||||
|
based on the C/H/S values automatically.
|
||||||
|
|
||||||
@item help [@var{pattern} @dots{}]
|
@item help [@var{pattern} @dots{}]
|
||||||
Display helpful information about builtin commands. If you do not
|
Display helpful information about builtin commands. If you do not
|
||||||
specify @var{pattern}, this command lists the short documents of all
|
specify @var{pattern}, this command lists the short documents of all
|
||||||
|
|
|
@ -131,20 +131,13 @@ static struct builtin builtin_boot =
|
||||||
static int
|
static int
|
||||||
cat_func (char *arg, int flags)
|
cat_func (char *arg, int flags)
|
||||||
{
|
{
|
||||||
int len;
|
char c;
|
||||||
char *ptr;
|
|
||||||
|
|
||||||
if (! grub_open (arg))
|
if (! grub_open (arg))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
len = grub_read ((char *) RAW_ADDR (0x100000), -1);
|
while (grub_read (&c, 1))
|
||||||
if (errnum)
|
grub_putchar (c);
|
||||||
return 1;
|
|
||||||
|
|
||||||
ptr = (char *) RAW_ADDR (0x100000);
|
|
||||||
|
|
||||||
while (len--)
|
|
||||||
grub_putchar (*ptr++);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue