aboutsummaryrefslogtreecommitdiffstats
path: root/com32/rosh/rosh.c
Commit message (Collapse)AuthorAgeFilesLines
* Add per-firmware object directory supportMatt Fleming2012-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have multiple firmware backends it no longer makes sense to write object files to the same directory as their source. A better solution is to write the object files to a per-firmware directory under a top-level object directory. The top-level object directory can be specified on the command-line with the O= variable, e.g. make O=/tmp/obj. If no top-level object directory is specified an 'obj' directory is created in the top-level of the Syslinux source repository. All the existing make targets continue to work as before, however now they apply to all firmware backends, e.g. 'make installer' will build the BIOS, 32-bit EFI and 64-bit EFI installers and place them under $(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively. Note unlike every other bit of Syslinux, the gpxe objects are still kept in the src directory, e.g. gpxe/src, since gpxe is only required by the BIOS backend. It is possible to specify a make target for a specific firmware or list of firmware with the following syntax, make [firmware[,firmware]] [target[,target]] To clean the object directory for just the BIOS firmware type, 'make bios clean' To build both the 32-bit and 64-bit EFI installers type, 'make efi32 efi64 installer' Since the Syslinux make infrastructure is now more complex a new file doc/building.txt has been created to explain how to build Syslinux. The top-level Makefile now exports some make variables for use in module Makefiles, - topdir - the top-level source directory of the Syslinux repository, e.g. /usr/src/syslinux - objdir - the top-level object directory for the firmware backend currently being built, e.g. /obj/syslinux/bios - SRC - the source directory in the Syslinux repository for the module currently being built, e.g. /usr/src/syslinux/com32/libupload - OBJ - the object directory for the module currently being built, e.g. /obj/syslinux/bios/com32/libupload Since we're rewriting the Makefile infrastructure anyway it seemed like a good idea to add parallel support. By writing subdirectories as prequisites for make targets the objects in those subdirectories can be built in parallel. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* com32/rosh/rosh.c: remove variables set but not usedH. Peter Anvin2011-03-161-4/+3
| | | | | | gcc 4.6 warns on variables set but not used, so remove them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* rosh: 2 bug fixes; more debug codeGene Cumm2011-01-311-18/+25
| | | | | This fixes two issues when doing "ls -l"; directory entries with a directory argument were not qualified; stat() checked 1, not -1
* rosh: rosh_argcat now has length. if DO_DEBUG, show startup commandGene Cumm2010-10-161-8/+16
|
* rosh: display command entered and a command unknown message when not knownGene Cumm2010-10-161-20/+24
|
* rosh: add another item in the ToDos commentGene Cumm2010-10-131-0/+2
|
* rosh: Fix rosh_ls(); fix FTBFS on rosh_more(); add ROSH_DEBUG2_ARGV_V macroGene Cumm2010-10-091-6/+26
|
* rosh: Remove unneeded cases in rosh_command() switch statementsGene Cumm2010-10-091-2/+0
|
* rosh: Clean up rosh_command to remove old stuffGene Cumm2010-10-091-4/+0
|
* rosh: code cleanupGene Cumm2010-10-091-3/+2
|
* rosh: Change rosh_ls()/rosh_dir() to use argc/argv; use getopt()Gene Cumm2010-10-091-76/+45
|
* rosh: Change rosh_more()/rosh_less() to use argc/argvGene Cumm2010-10-091-26/+18
|
* rosh: remove cmdstr from rosh_pwd()Gene Cumm2010-10-091-9/+2
|
* rosh: clear errno before possibly using it. might be set by a previous callGene Cumm2010-10-091-2/+9
|
* rosh: Add argc/argv rosh_reboot(); Allow warm rebootsGene Cumm2010-10-091-7/+27
|
* rosh: In main, use string macro directlyGene Cumm2010-10-091-1/+1
|
* rosh: Change rosh_run() to use argc/argvGene Cumm2010-10-091-14/+13
|
* rosh: Change rosh_help() to use the string passed to it directlyGene Cumm2010-10-091-9/+6
|
* rosh: convert rosh_cat() to argc/argvGene Cumm2010-10-091-18/+9
|
* rosh: Add function header comments that were missingGene Cumm2010-10-091-3/+24
|
* rosh: Fix warning on rosh_ls_arg(); remove rosh_echo() for rosh_pr_argv()Gene Cumm2010-10-091-2/+11
|
* rosh: Rename function as it's verboseGene Cumm2010-10-091-3/+3
| | | | | rosh_pr_argv and ROSH_DEBUG_ARGV are verbose, printing the argument number and single-quoted string out.
* rosh: closedir() only if actually openedGene Cumm2010-10-091-1/+1
|
* rosh: compact previous commitGene Cumm2010-10-091-2/+1
|
* rosh: Fix rosh_ls_arg() to prevent segfault on access deniedGene Cumm2010-10-091-1/+6
|
* rosh: main, prompt and command try to use argc/argv mostlyGene Cumm2010-10-091-23/+25
| | | | | prompt still uses a string but parses it and passes the parsed argc/argv pair to command. main doesn't need a string anymore
* rosh: rosh_cd fix DEBUGGene Cumm2010-10-091-0/+3
|
* rosh: fix errors in previous commitGene Cumm2010-10-091-1/+4
|
* rosh: change rosh_cd() to use argc/argvGene Cumm2010-10-091-18/+16
|
* rosh: Use internal parser for argc/argv; use argc/argv in rosh_commandGene Cumm2010-10-091-28/+29
|
* rosh: start parse_args(); prep for use; make print_argv()Gene Cumm2010-10-091-6/+93
| | | | | | | parse_args() for parsing a string into an argv/argc pair for easier parsing and the potential use of getopt(). print_argv() for printing an argv/argc pair to show functionality
* rosh: add echoGene Cumm2010-10-091-5/+38
|
* rosh: show environmentGene Cumm2010-07-071-5/+12
|
* rosh: more remove unneeded checkGene Cumm2010-07-071-2/+2
|
* rosh: bump buildGene Cumm2010-07-071-1/+1
|
* rosh: more: overallocation, better feedback for debugGene Cumm2010-07-071-3/+6
|
* rosh: move scrbuf to more's main function; malloc and free oversize buffer.Gene Cumm2010-07-071-6/+12
|
* rosh: more: if it's the first line, dump it to screen for now even if it's ↵Gene Cumm2010-07-071-2/+3
| | | | too long
* rosh: fix displaying too many lines because a line is too long.Gene Cumm2010-07-071-3/+9
|
* rosh: begin to add Syslinux version string with DATEGene Cumm2010-07-071-3/+3
| | | | Was from commit 226224fdd1dff5cfcac641c1405303932b59aa4f; This is incomplete but will be fixed in the next commit
* rosh: update for Syslinux 4 and make it more usableGene Cumm2010-06-271-300/+613
| | | | | | | | | Without further adieu, I would like to announce that I've finally pushed ROSH, the Read-Only SHell, finally to the point of being reasonably usable. Signed-off-by: Gene Cumm <gene.cumm@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* rosh.c: mark argument usedH. Peter Anvin2010-05-121-0/+2
| | | | | | -Werror cleanup. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* readdir: replace opendir/readdir/closedir API with a 32-bit APIH. Peter Anvin2010-03-041-1/+0
| | | | | | | | The 16-bit API to opendir/readdir/closedir was confused, had a memory leak, and was incompatible with Syslinux 3.x anyway. Replace it with a pure 32-bit API. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'master' into fscH. Peter Anvin2010-01-241-4/+4
|\ | | | | | | | | | | Conflicts: com32/lib/MCONFIG com32/lib/readdir.c
| * Change () prototypes to (void)H. Peter Anvin2010-01-061-4/+4
| | | | | | | | | | | | | | | | () means the same as (...) in C, not the same as (void) as it does in C++. It is generally misused to mean (void), though. Actually write what we mean... this is C, after all. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Core: code clean -- re-style the unstyle codeLiu Aleaxander2009-08-281-1/+1
| | | | | | | | | | | | | | With the emacs config given by hpa, which is really powfull, I restyled the unsytled code. Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
* | Core: vfs-dir stuff re-implementedLiu Aleaxander2009-08-281-2/+1
| | | | | | | | | | | | | | | | | | We fist make it simple, as told by hpa. Here're the changes: 1, The DIR structure changed, just a file pointer included. 2. So, the open/close/read-dir stuff in com32/lib/ changed again. 3. We read one stuff from every readdir call. Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
* | Core: opendir/readdir/closedir stuff addedLiu Aleaxander2009-08-271-7/+4
| | | | | | | | | | | | | | | | | | | | | | Here're some big changes: 1. The vfs-dir stuff added. 2. The dir-functions in com32/lib are mostly rewritten. 3. with little change on rosh for avoid the compile error Well, I don't think it's a good vfs-dir interface. Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
* | Core:SYSLINUX: make searchdir do workLiu Aleaxander2009-08-111-4/+4
| | | | | | | | | | | | | | | | well, still get lots of bugs, like when we execute dir /boot/syslinux in fact, it will list the file in /boot/ directory but not in /boot/syslinux/ Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>
* | Core:SYSLINUX: fix the vfat_searchdirLiu Aleaxander2009-08-111-1/+1
|/ | | | | | This makes the searchdir can find a dir; it's also prepared for the readdir function used in rosh Signed-off-by: Liu Aleaxander <Aleaxander@gmail.com>