|
|
1.1 ! root 1: /* ! 2: * ! 3: */ ! 4: #undef BOOTSTRAP ! 5: #include "config.h" ! 6: #include "libopenbios/bindings.h" ! 7: #include "libopenbios/elfload.h" ! 8: #include "arch/common/nvram.h" ! 9: #include "libc/diskio.h" ! 10: #include "libopenbios/sys_info.h" ! 11: ! 12: int elf_load(struct sys_info *, const char *filename, const char *cmdline); ! 13: int linux_load(struct sys_info *, const char *filename, const char *cmdline); ! 14: ! 15: void boot(void); ! 16: ! 17: void boot(void) ! 18: { ! 19: char *path=pop_fstr_copy(), *param; ! 20: ! 21: // char *param="root=/dev/hda2 console=ttyS0,115200n8 console=tty0"; ! 22: ! 23: if(!path) { ! 24: printk("[x86] Booting default not supported.\n"); ! 25: return; ! 26: } ! 27: ! 28: param = strchr(path, ' '); ! 29: if(param) { ! 30: *param = '\0'; ! 31: param++; ! 32: } ! 33: ! 34: printk("[x86] Booting file '%s' with parameters '%s'\n",path, param); ! 35: ! 36: if (elf_load(&sys_info, path, param) == LOADER_NOT_SUPPORT) ! 37: if (linux_load(&sys_info, path, param) == LOADER_NOT_SUPPORT) ! 38: printk("Unsupported image format\n"); ! 39: ! 40: free(path); ! 41: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.