diff options
author | Michael Brown | 2006-12-20 08:04:08 +0100 |
---|---|---|
committer | Michael Brown | 2006-12-20 08:04:08 +0100 |
commit | 84202d89f0fa83790a4d3f78119f1fb62c1b3d9b (patch) | |
tree | 066eba0ee9db7e82922e662e7d6e5c29ac59d021 /src/usr/autoboot.c | |
parent | Explicitly call erase(), to cope with platforms where the ANSI clear (diff) | |
download | ipxe-84202d89f0fa83790a4d3f78119f1fb62c1b3d9b.tar.gz ipxe-84202d89f0fa83790a4d3f78119f1fb62c1b3d9b.tar.xz ipxe-84202d89f0fa83790a4d3f78119f1fb62c1b3d9b.zip |
Split the (quick hack) boot logic out from main.c to autoboot.c, add a
"boot" command to attempt booting from within the command shell, fall back
to shell if boot fails for any reason.
Diffstat (limited to 'src/usr/autoboot.c')
-rw-r--r-- | src/usr/autoboot.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/usr/autoboot.c b/src/usr/autoboot.c new file mode 100644 index 00000000..ddfc3781 --- /dev/null +++ b/src/usr/autoboot.c @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2006 Michael Brown <mbrown@fensystems.co.uk>. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include <vsprintf.h> +#include <gpxe/autoboot.h> + +/** @file + * + * Automatic booting + * + */ + +#include <gpxe/netdevice.h> +void test_dhcp ( struct net_device *netdev ); + +void autoboot ( void ) { + struct net_device *netdev; + + netdev = next_netdev (); + if ( netdev ) { + test_dhcp ( netdev ); + } else { + printf ( "No network device found\n" ); + } +} |