Search "/netbsd.gz" and "/netbsd.macppc" in addition to "/netbsd".
This commit is contained in:
parent
811a1f306a
commit
b1d1120084
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: boot.c,v 1.11 2001/07/22 11:29:48 wiz Exp $ */
|
||||
/* $NetBSD: boot.c,v 1.12 2001/08/13 15:38:11 tsubai Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997 The NetBSD Foundation, Inc.
|
||||
|
@ -95,12 +95,19 @@
|
|||
#include "ofdev.h"
|
||||
#include "openfirm.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
# define DPRINTF printf
|
||||
#else
|
||||
# define DPRINTF while (0) printf
|
||||
#endif
|
||||
|
||||
char bootdev[128];
|
||||
char bootfile[128];
|
||||
int boothowto;
|
||||
int debug;
|
||||
|
||||
static ofw_version = 0;
|
||||
static char *kernels[] = { "/netbsd", "/netbsd.gz", "/netbsd.macppc", NULL };
|
||||
|
||||
static void
|
||||
prom2boot(dev)
|
||||
|
@ -242,20 +249,33 @@ main()
|
|||
|
||||
prom2boot(bootdev);
|
||||
parseargs(bootline, &boothowto);
|
||||
DPRINTF("bootline=%s\n", bootline);
|
||||
|
||||
for (;;) {
|
||||
int i;
|
||||
|
||||
if (boothowto & RB_ASKNAME) {
|
||||
printf("Boot: ");
|
||||
gets(bootline);
|
||||
parseargs(bootline, &boothowto);
|
||||
}
|
||||
marks[MARK_START] = 0;
|
||||
if (loadfile(bootline, marks, LOAD_ALL) >= 0)
|
||||
break;
|
||||
if (errno)
|
||||
printf("open %s: %s\n", opened_name, strerror(errno));
|
||||
|
||||
if (bootline[0]) {
|
||||
kernels[0] = bootline;
|
||||
kernels[1] = NULL;
|
||||
}
|
||||
|
||||
for (i = 0; kernels[i]; i++) {
|
||||
DPRINTF("Trying %s\n", kernels[i]);
|
||||
|
||||
marks[MARK_START] = 0;
|
||||
if (loadfile(kernels[i], marks, LOAD_KERNEL) >= 0)
|
||||
goto loaded;
|
||||
}
|
||||
boothowto |= RB_ASKNAME;
|
||||
}
|
||||
loaded:
|
||||
|
||||
#ifdef __notyet__
|
||||
OF_setprop(chosen, "bootpath", opened_name, strlen(opened_name) + 1);
|
||||
cp = bootline;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ofdev.c,v 1.6 2001/07/22 11:29:48 wiz Exp $ */
|
||||
/* $NetBSD: ofdev.c,v 1.7 2001/08/13 15:38:11 tsubai Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
|
||||
|
@ -41,11 +41,11 @@
|
|||
#include <netinet/in.h>
|
||||
|
||||
#include <lib/libsa/stand.h>
|
||||
#include <lib/libsa/ufs.h>
|
||||
#include <lib/libsa/cd9660.h>
|
||||
#include <lib/libsa/nfs.h>
|
||||
#include <hfs.h>
|
||||
#include <lib/libsa/ufs.h>
|
||||
|
||||
#include "hfs.h"
|
||||
#include "ofdev.h"
|
||||
|
||||
extern char bootdev[];
|
||||
|
@ -273,7 +273,7 @@ devopen(of, name, file)
|
|||
*cp = 0;
|
||||
}
|
||||
if (!cp || !*buf)
|
||||
strcpy(buf, DEFAULT_KERNEL);
|
||||
return ENOENT;
|
||||
if (!*fname)
|
||||
strcpy(fname, bootdev);
|
||||
strcpy(opened_name, fname);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ofdev.h,v 1.2 1999/02/04 15:41:15 tsubai Exp $ */
|
||||
/* $NetBSD: ofdev.h,v 1.3 2001/08/13 15:38:11 tsubai Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
|
||||
|
@ -30,8 +30,8 @@
|
|||
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _STAND_DEV_H_
|
||||
#define _STAND_DEV_H_
|
||||
#ifndef _STAND_DEV_H_
|
||||
#define _STAND_DEV_H_
|
||||
|
||||
struct of_dev {
|
||||
int handle;
|
||||
|
@ -42,10 +42,8 @@ struct of_dev {
|
|||
};
|
||||
|
||||
/* Known types: */
|
||||
#define OFDEV_NET 1
|
||||
#define OFDEV_DISK 2
|
||||
|
||||
#define DEFAULT_KERNEL "/netbsd"
|
||||
#define OFDEV_NET 1
|
||||
#define OFDEV_DISK 2
|
||||
|
||||
extern char opened_name[];
|
||||
extern int floppyboot;
|
||||
|
|
Loading…
Reference in New Issue