/* * Copyright (C) 2011 Sascha Hauer, Pengutronix * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD * * Under GPLv2 */ #include #include #include #include #include #include #include #include void* bootstrap_read_disk(const char *dev, char *fstype, size_t *bufsize) { int ret; void *buf; size_t len; const char *path = "/"; ret = mount(dev, fstype, path, NULL); if (ret) { bootstrap_err("mounting %s failed with %d\n", dev, ret); return NULL; } buf = read_file("/barebox.bin", &len); if (!buf) { bootstrap_err("could not read barebox.bin from %s\n", dev); umount(path); return NULL; } if (bufsize) *bufsize = len; return buf; }