#include <common.h> | |
#include <command.h> | |
#include <fs.h> | |
#include <fcntl.h> | |
#include <errno.h> | |
#include <asm/armlinux.h> | |
static int do_bootu(struct command *cmdtp, int argc, char *argv[]) | |
{ | |
int fd; | |
void *kernel = NULL; | |
if (argc != 2) { | |
barebox_cmd_usage(cmdtp); | |
return 1; | |
} | |
fd = open(argv[1], O_RDONLY); | |
if (fd > 0) | |
kernel = (void *)memmap(fd, PROT_READ); | |
if (!kernel) | |
kernel = (void *)simple_strtoul(argv[1], NULL, 0); | |
start_linux(kernel, 0, NULL); | |
return 1; | |
} | |
static const __maybe_unused char cmd_bootu_help[] = | |
"Usage: bootu <address>\n"; | |
BAREBOX_CMD_START(bootu) | |
.cmd = do_bootu, | |
.usage = "bootu - start a raw linux image", | |
BAREBOX_CMD_HELP(cmd_bootu_help) | |
BAREBOX_CMD_END | |