projects
/
cascardo
/
b2hw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build initrd
[cascardo/b2hw.git]
/
main.c
diff --git
a/main.c
b/main.c
index
daea84c
..
f18f04f
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-99,7
+99,6
@@
int main(int argc, char **argv)
int fd = -1;
int i;
char *args[] = { "bash", "-l", NULL };
int fd = -1;
int i;
char *args[] = { "bash", "-l", NULL };
- char demo[2];
r = devmount_setup();
if (r < 0) {
fprintf(stderr, "failed to mount devtmpfs, proceeding anyway\n");
r = devmount_setup();
if (r < 0) {
fprintf(stderr, "failed to mount devtmpfs, proceeding anyway\n");
@@
-112,7
+111,7
@@
int main(int argc, char **argv)
do_write(PREFIX "/idVendor", "04E8");
do_write(PREFIX "/idProduct", "6860");
do_write(PREFIX "/f_acm/acm_transports", "tty");
do_write(PREFIX "/idVendor", "04E8");
do_write(PREFIX "/idProduct", "6860");
do_write(PREFIX "/f_acm/acm_transports", "tty");
- do_write(PREFIX "/functions", "acm");
+ do_write(PREFIX "/functions", "acm
,rndis
");
do_write(PREFIX "/enable", "1");
do_mknod("/sys/class/tty", "ttyGS0", 0, 1);
fd = open("/dev/ttyGS0", O_RDWR);
do_write(PREFIX "/enable", "1");
do_mknod("/sys/class/tty", "ttyGS0", 0, 1);
fd = open("/dev/ttyGS0", O_RDWR);
@@
-120,18
+119,15
@@
int main(int argc, char **argv)
write(fd, "Hello World!\n", 13);
sleep(1);
}
write(fd, "Hello World!\n", 13);
sleep(1);
}
- read(fd, demo, 2);
write(fd, "G\n", 2);
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
write(fd, "G\n", 2);
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
- read(fd, demo, 2);
printf("N\n");
r = do_mknod("/sys/block/mmcblk1", "mmcblk1p3", 1, 1);
if (r < 0) {
fprintf(stderr, "Failed to create mmcblk1p3\n");
}
printf("N\n");
r = do_mknod("/sys/block/mmcblk1", "mmcblk1p3", 1, 1);
if (r < 0) {
fprintf(stderr, "Failed to create mmcblk1p3\n");
}
- read(fd, demo, 2);
printf("U\n");
printf("Mounting root\n");
r = mkdir("/root", 0755);
printf("U\n");
printf("Mounting root\n");
r = mkdir("/root", 0755);
@@
-145,6
+141,10
@@
int main(int argc, char **argv)
if (r) printf("failed chroot\n");
r = chdir("/");
if (r) printf("failed second chdir\n");
if (r) printf("failed chroot\n");
r = chdir("/");
if (r) printf("failed second chdir\n");
+ sysfsmount_setup();
+ devmount_setup();
+ devpts_setup();
+ do_mknod("/sys/class/tty", "ttyGS0", 0, 1);
execve("/bin/bash", args, NULL);
return 0;
}
execve("/bin/bash", args, NULL);
return 0;
}