]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[main] Remove shell prompt when using an embedded image
authorMichael Brown <mcb30@ipxe.org>
Mon, 7 Mar 2011 20:42:36 +0000 (20:42 +0000)
committerMichael Brown <mcb30@ipxe.org>
Mon, 7 Mar 2011 20:42:36 +0000 (20:42 +0000)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/core/main.c

index 7d411d6a5b495544651324302dc484adb50ffb23..aac27e9ba6661491c58d7976725bd3ee3714a2ba 100644 (file)
@@ -78,24 +78,23 @@ __asmcall int main ( void ) {
                printf ( " %s", feature->name );
        printf ( "\n" );
 
-       /* Prompt for shell */
-       if ( shell_banner() ) {
-               /* User wants shell; just give them a shell */
-               shell();
+       /* Boot system */
+       if ( ( image = first_image() ) != NULL ) {
+               /* We have an embedded image; execute it */
+               image_exec ( image );
        } else {
-               /* User doesn't want shell; load and execute the first
-                * image, or autoboot() if we have no images.  If
-                * booting fails for any reason, offer a second chance
-                * to enter the shell for diagnostics.
-                */
-               if ( ( image = first_image() ) != NULL ) {
-                       image_exec ( image );
+               /* Prompt for shell */
+               if ( shell_banner() ) {
+                       /* User wants shell; just give them a shell */
+                       shell();
                } else {
+                       /* Try booting.  If booting fails, offer the
+                        * user another chance to enter the shell.
+                        */
                        autoboot();
+                       if ( shell_banner() )
+                               shell();
                }
-
-               if ( shell_banner() )
-                       shell();
        }
 
        shutdown_exit();