Free Republic
Browse · Search
General/Chat
Topics · Post Article

To: cloud8
It's like the difference between DOS and BIOS. With EFI, you have a general purpose, DOS-like, operating system right in your boot rom. Someone has even ported the python runtime into the EFI environment.

Here's a table I made up, a few years back (June 2000), of the builtin EFI commands.


alias [-bdv] [sname] [value] - Set/get alias settings
attrib [-b] [+/- rhs] [file] - View/sets file attributes
bcfg -? - Configures boot driver & load options
cd [path] - Updates the current directory
cls [background color] - Clear screen
comp file1 file2 - Compare two files
cp file [file] ... [dest] - Copy files/dirs
date [mm/dd/yyyy] - Get or set date
dblk device [Lba] [Blocks] - Hex dump of BlkIo Devices
dh [-b] [-p prot_id] | [handle] - Dump handle info
dmpstore - Dumps variable store
echo [[-on | -off] | [text] - Echo text to stdout or toggle script echo
edit [file name] - Edit a file
endfor - Script-only: Delimiter for loop construct
endif - Script-only: Delimiter for IF THEN construct
err [level] - Set or display error level
exit - exit
for var in - Script-only: Loop construct
getmtc - Get next monotonic count
goto label - Script-only: Jump to label location in script
guid [-b] [sname] - Dump known guid ids
help [-b] [internal command] - Displays this help
if [not] condition then - Script-only: IF THEN construct
_load_defaults - ???
load driver_name - Loads a driver
ls [-b] [dir] [dir] ... - Obtain directory listing
map [-bdvr] [sname[:]] [handle] - Map shortname to device path
mem [Address] [size] [;MMIO] - Dump Memory or Memory Mapped IO
memmap [-b] - Dumps memory map
mkdir dir [dir] ... - Make directory
mm Address [Width] [;Type] - Memory Modify: Mem, MMIO, IO, PCI
mode [col row] - Set/get current text mode
mount BlkDevice [sname[:]] - Mount a filesytem on a block device
mv sfile dfile - Moves files
pause - Script-only: Prompt to quit or continue
pci [bus dev] [func] - Display PCI device(s) info
reset [/warm] [reset string] - Cold or Warm reset
rm file/dir [file/dir] - Remove file/directories
set [-bdv] [sname] [value] - Set/get environment variable
setsize newsize fname - sets the files size
stall microseconds - Delay for x microseconds
time [hh:mm:ss] - Get or set time
touch [filename] - View/sets file attributes
type [-a] [-u] [-b] file - Type file
ver - Displays version info
vol fs [Volume Label] - Set or display volume label

You get all of the above just running out of the boot rom. You can mount disk file systems, browse them, and make simple changes.

To my mind, Apple did the right thing going out of the gate with EFI instead of BIOS.

This is one of those decisions that you only get to make once, and then live with it for decades. You have to get this one right, up front. EFI is a much more useful boot environment.

10 posted on 01/26/2006 2:47:12 PM PST by ThePythonicCow (The distrust of authority is a deeply destructive force in the hands of evil men.)
[ Post Reply | Private Reply | To 8 | View Replies ]


To: ThePythonicCow

Thanks!


13 posted on 01/26/2006 2:56:36 PM PST by Ernest_at_the_Beach (History is soon Forgotten,)
[ Post Reply | Private Reply | To 10 | View Replies ]

To: ThePythonicCow
The most useful of these commands is "map" - it lists what file systems EFI could find. Then one changes to a file system using a command such as "fs2:", where fs2 is the alias map listed for the filesystem you want to browse further. Rather like DOS "D:", but with multiple letter drive names. Then you can "dir" and "cd" your way around. Each drive alias maintains its own current directory, also like DOS.

There is a build environment for making your own C programs, with a reasonable suite of system calls you can make, of similar use to the command line stuff I listed in the table above. You can run your own commands that you built, off your hard drive.

Red Hat should have no problem getting Linux to boot off one of these Macs. It should be a simple matter of recompiling and dealing with a few minor porting issues the same EFI and elilo (Intel's extended lilo) code that anyone working with Itanium IA64 has been dealing with for years.

15 posted on 01/26/2006 3:40:54 PM PST by ThePythonicCow (The distrust of authority is a deeply destructive force in the hands of evil men.)
[ Post Reply | Private Reply | To 10 | View Replies ]

To: ThePythonicCow; Ernest_at_the_Beach

Thanks for the explanation and link!


27 posted on 01/27/2006 5:19:55 AM PST by cloud8
[ Post Reply | Private Reply | To 10 | View Replies ]

Free Republic
Browse · Search
General/Chat
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson