Annotation of /trunk/mkinitrd-magellan/klibc/usr/kinit/do_mounts_mtd.c
Parent Directory | Revision Log
Revision 1122 -
(hide annotations)
(download)
Wed Aug 18 21:11:40 2010 UTC (13 years, 8 months ago) by niro
File MIME type: text/plain
File size: 945 byte(s)
Wed Aug 18 21:11:40 2010 UTC (13 years, 8 months ago) by niro
File MIME type: text/plain
File size: 945 byte(s)
-updated to klibc-1.5.19
1 | niro | 532 | /* |
2 | * Mount an MTD device as a character device. | ||
3 | */ | ||
4 | |||
5 | #include <errno.h> | ||
6 | #include <fcntl.h> | ||
7 | #include <sys/mount.h> | ||
8 | #include <sys/stat.h> | ||
9 | #include <stdio.h> | ||
10 | #include <stdlib.h> | ||
11 | #include <string.h> | ||
12 | #include <unistd.h> | ||
13 | #include <inttypes.h> | ||
14 | |||
15 | #include "kinit.h" | ||
16 | #include "do_mounts.h" | ||
17 | |||
18 | int mount_mtd_root(int argc, char *argv[], const char *root_dev_name, | ||
19 | const char *type, unsigned long flags) | ||
20 | { | ||
21 | const char *data = get_arg(argc, argv, "rootflags="); | ||
22 | |||
23 | if (!type) | ||
24 | type = "jffs2"; | ||
25 | |||
26 | niro | 1122 | printf("Trying to mount MTD %s as root (%s filesystem)\n", |
27 | root_dev_name, type); | ||
28 | niro | 532 | |
29 | if (mount(root_dev_name, "/root", type, flags, data)) { | ||
30 | int err = errno; | ||
31 | fprintf(stderr, | ||
32 | "%s: Unable to mount MTD %s (%s filesystem) " | ||
33 | "as root: %s\n", | ||
34 | progname, root_dev_name, type, strerror(err)); | ||
35 | return -err; | ||
36 | } else { | ||
37 | fprintf(stderr, "%s: Mounted root (%s filesystem)%s.\n", | ||
38 | progname, type, (flags & MS_RDONLY) ? " readonly" : ""); | ||
39 | return 0; | ||
40 | } | ||
41 | |||
42 | } |