Difference between revisions of "Read-Only SHell(rosh.c32)"

From Syslinux Wiki
Jump to: navigation, search
(whitespace)
m (Wiki Formatting.)
 
Line 1: Line 1:
[[Category:Configuration]]
+
<!-- [[Category:Configuration]] -->
 
[[Category:Modules]]
 
[[Category:Modules]]
ROSH, a read-only shell, is intended to be exactly that: a read-only shell.  Any operation that may write to the file system/disk will not be implemented.
+
[[Category:Comboot]]
  
That said, it is designed to make exploring the contents of a file system/disk possible from the Syslinux environment.  Primarily, it is geared towards the disk-based variants as TFTP currently does not have any standardized method for retrieving a directory listing.
+
ROSH, a read-only shell, is intended to be exactly that: a read-only shell. 
 +
Any operation that may write to the file system/disk will not be implemented.
  
The internal commands currently implemented include help, man, ls, dir, more, cd, pwd, run, quit and exit.
+
That said, it is designed to make exploring the contents of a file system/disk possible
 +
from the Syslinux environment. 
 +
Primarily, it is geared towards the disk-based variants
 +
as TFTP currently does not have any standardized method for retrieving a directory listing.
  
= BETA =
+
The internal commands currently implemented include
 +
help, man, ls, dir, more, cd, pwd, run, quit and exit.
  
[BETA] This page is intended to start documenting the BETA COM32 module rosh.c32, a read-only shell.  Feedback on this page and on my module are welcome.  If I'm doing something wrong, you see an area that could you improvement, think what I've done is helpful, etc, let me know.  -Gene
+
== BETA ==
  
= STATUS =
+
[BETA] This page is intended to start documenting the BETA COM32 module rosh.c32,
 +
a read-only shell. 
 +
Feedback on this page and on my module are welcome. 
 +
If I'm doing something wrong, you see an area that could you improvement,
 +
think what I've done is helpful, etc, let me know.  -Gene
 +
 
 +
== STATUS ==
  
 
2010-07-06: b062 (Build 62) has been incorporated into Syslinux-4.00.
 
2010-07-06: b062 (Build 62) has been incorporated into Syslinux-4.00.
  
Todos for b062: more has issues with the finer points of pagination and overflowing on a very large screen.  ls needs to sort, columnize output.  I'd like to abstract/extract menu.c32's command line editor for a generic system (with hopes of a history also).
+
Todos for b062:  
 +
<tt>more</tt> has issues with the finer points of pagination and overflowing on a very large screen.   
 +
<tt>ls</tt> needs to sort, columnize output.   
 +
I'd like to abstract/extract menu.c32's command line editor for a generic system  
 +
(with hopes of a history also).
  
I have code that fixes more (completely, I believe) but I need to reformat a git branch to make a nicer public tree.  I'm currently at b068.
+
I have code that fixes <tt>more</tt> (completely, I believe)  
 +
but I need to reformat a git branch to make a nicer public tree.   
 +
I'm currently at b068.
  
 
-Gene Cumm
 
-Gene Cumm
  
= Commands =
+
== Commands ==
  
== Basics ==
+
=== Basics ===
Most commands can be interpreted from non-ambiguous shortened strings of their native command word.  For example, "h", "he", and "hel" will all be understood as "help" as there is no other command that begins with "h".
+
Most commands can be interpreted from non-ambiguous shortened strings of their native command word.   
 +
For example, "h", "he", and "hel" will all be understood as "help"  
 +
as there is no other command that begins with "h".
  
== help ==
+
=== help ===
This may also be typed as "?" or "man".  Typing "help" without a command will list all of the commands and a simple description.  "help word" will provide the advanced help for the command "word", if available.
+
This may also be typed as "?" or "man".   
 +
Typing "help" without a command will list all of the commands and a simple description.   
 +
"help ''word''" will provide the advanced help for the command "''word''", if available.
  
== ls ==
+
=== ls ===
ls will operate like a simpler version of the *nix ls, listing files.  For each file name passed, attempt to list it (be it a regular file or directory).  Files, at this time, are listed in the order that they are found without ignoring "." or "..".  -l (long format) and -F (classify) are understood.
+
<tt>ls</tt> will operate like a simpler version of the *nix <tt>ls</tt>, listing files.   
 +
For each file name passed, attempt to list it (be it a regular file or directory).   
 +
Files, at this time, are listed in the order that they are found without ignoring "." or "..".   
 +
<tt>-l</tt> (long format) and <tt>-F</tt> (classify) are understood.
  
"dir" calls ls.
+
"dir" calls <tt>ls</tt>.
  
== cat ==
+
=== cat ===
 
Concatenate a file(s) to the screen.
 
Concatenate a file(s) to the screen.
  
== more ==
+
=== more ===
'''NOTE: may have issues with very large screens(total area over 80x40); known issue'''
+
'''NOTE: may have issues with very large screens (total area over 80x40); known issue.'''
Paginate a file(s) to the screen.  Enter will output 1 more line while the spacebar will output a new screenworth of the file.  q will quit.
+
  
"less" currently calls more but may become its own command.
+
Paginate a file(s) to the screen. 
 +
Enter will output 1 more line while the spacebar will output a new screenworth of the file. 
 +
<tt>q</tt> will quit.
  
== cd ==
+
"less" currently calls <tt>more</tt> but may become its own command.
change directory, be it relative or absolute.  cd without parameters will return to the initial working directory at the time ROSH was called.
+
  
== pwd ==
+
=== cd ===
 +
change directory, be it relative or absolute. 
 +
<tt>cd</tt> without parameters will return to the initial working directory at the time ROSH was called.
 +
 
 +
=== pwd ===
 
List the Present Working Directory.
 
List the Present Working Directory.
  
== version ==
+
=== version ===
 
Print the version string.
 
Print the version string.
  
== run ==
+
=== run ===
 
Run a command (just as if it was typed at the Syslinux "boot:" prompt).
 
Run a command (just as if it was typed at the Syslinux "boot:" prompt).
  
== reboot ==
+
=== reboot ===
May be abbreviated "r".  Eventually, this may accept parameters to control the type (warm/cold, etc).
+
May be abbreviated "r".   
 +
Eventually, this may accept parameters to control the type (warm/cold, etc).
  
== exit ==
+
=== exit ===
 
Also "quit".  Return to the outside environment (Syslinux for .c32).
 
Also "quit".  Return to the outside environment (Syslinux for .c32).
  
== cfg ==
+
=== cfg ===
 
Name the base Syslinux config file in use.
 
Name the base Syslinux config file in use.
  
= Feedback/Contact =
+
== Feedback/Contact ==
  
Feedback on functionality, especially bugs and quirks, is welcome.  Please use the Syslinux mailing list or IRC channel listed at [[Contact]].
+
Feedback on functionality, especially bugs and quirks, is welcome.   
 
+
Please use the Syslinux mailing list or IRC channel listed at [[Contact]].
[[Category:Comboot]]
+

Latest revision as of 10:50, 26 January 2019


ROSH, a read-only shell, is intended to be exactly that: a read-only shell. Any operation that may write to the file system/disk will not be implemented.

That said, it is designed to make exploring the contents of a file system/disk possible from the Syslinux environment. Primarily, it is geared towards the disk-based variants as TFTP currently does not have any standardized method for retrieving a directory listing.

The internal commands currently implemented include help, man, ls, dir, more, cd, pwd, run, quit and exit.

BETA

[BETA] This page is intended to start documenting the BETA COM32 module rosh.c32, a read-only shell. Feedback on this page and on my module are welcome. If I'm doing something wrong, you see an area that could you improvement, think what I've done is helpful, etc, let me know. -Gene

STATUS

2010-07-06: b062 (Build 62) has been incorporated into Syslinux-4.00.

Todos for b062: more has issues with the finer points of pagination and overflowing on a very large screen. ls needs to sort, columnize output. I'd like to abstract/extract menu.c32's command line editor for a generic system (with hopes of a history also).

I have code that fixes more (completely, I believe) but I need to reformat a git branch to make a nicer public tree. I'm currently at b068.

-Gene Cumm

Commands

Basics

Most commands can be interpreted from non-ambiguous shortened strings of their native command word. For example, "h", "he", and "hel" will all be understood as "help" as there is no other command that begins with "h".

help

This may also be typed as "?" or "man". Typing "help" without a command will list all of the commands and a simple description. "help word" will provide the advanced help for the command "word", if available.

ls

ls will operate like a simpler version of the *nix ls, listing files. For each file name passed, attempt to list it (be it a regular file or directory). Files, at this time, are listed in the order that they are found without ignoring "." or "..". -l (long format) and -F (classify) are understood.

"dir" calls ls.

cat

Concatenate a file(s) to the screen.

more

NOTE: may have issues with very large screens (total area over 80x40); known issue.

Paginate a file(s) to the screen. Enter will output 1 more line while the spacebar will output a new screenworth of the file. q will quit.

"less" currently calls more but may become its own command.

cd

change directory, be it relative or absolute. cd without parameters will return to the initial working directory at the time ROSH was called.

pwd

List the Present Working Directory.

version

Print the version string.

run

Run a command (just as if it was typed at the Syslinux "boot:" prompt).

reboot

May be abbreviated "r". Eventually, this may accept parameters to control the type (warm/cold, etc).

exit

Also "quit". Return to the outside environment (Syslinux for .c32).

cfg

Name the base Syslinux config file in use.

Feedback/Contact

Feedback on functionality, especially bugs and quirks, is welcome. Please use the Syslinux mailing list or IRC channel listed at Contact.