Changes in uspace/app/init/init.c [9f51afc:fb623e2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/init/init.c
r9f51afc rfb623e2 50 50 #include "init.h" 51 51 52 #define DEVFS_MOUNT_POINT "/dev"53 54 #define SRV_CONSOLE "/srv/console"55 #define APP_GETTERM "/app/getterm"56 57 52 static void info_print(void) 58 53 { … … 63 58 { 64 59 char *opts = ""; 65 const char *root_dev = " bd/initrd";60 const char *root_dev = "initrd"; 66 61 67 62 if (str_cmp(fstype, "tmpfs") == 0) … … 102 97 } 103 98 104 snprintf(null, MAX_DEVICE_NAME, "null /%d", null_id);105 int rc = mount("devfs", DEVFS_MOUNT_POINT, null, "", IPC_FLAG_BLOCKING);99 snprintf(null, MAX_DEVICE_NAME, "null%d", null_id); 100 int rc = mount("devfs", "/dev", null, "", IPC_FLAG_BLOCKING); 106 101 107 102 switch (rc) { … … 175 170 } 176 171 177 if ( (texit != TASK_EXIT_NORMAL) || (retval != 0)) {172 if (texit != TASK_EXIT_NORMAL || retval != 0) { 178 173 printf(NAME ": Server %s failed to start (returned %d)\n", 179 174 fname, retval); … … 181 176 } 182 177 183 static void console(char *dev)184 { 185 char *argv[ 3];186 char hid_in[MAX_DEVICE_NAME];178 static void getvc(char *dev, char *app) 179 { 180 char *argv[4]; 181 char vc[MAX_DEVICE_NAME]; 187 182 int rc; 188 183 189 snprintf(hid_in, MAX_DEVICE_NAME, "%s/%s", DEVFS_MOUNT_POINT, dev); 190 191 printf(NAME ": Spawning %s with %s\n", SRV_CONSOLE, hid_in); 192 193 /* Wait for the input device to be ready */ 184 snprintf(vc, MAX_DEVICE_NAME, "/dev/%s", dev); 185 186 printf(NAME ": Spawning getvc on %s\n", vc); 187 194 188 dev_handle_t handle; 195 189 rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING); 196 190 197 191 if (rc == EOK) { 198 argv[0] = SRV_CONSOLE; 199 argv[1] = hid_in; 200 argv[2] = NULL; 201 202 if (!task_spawn(SRV_CONSOLE, argv)) 203 printf(NAME ": Error spawning %s with %s\n", SRV_CONSOLE, hid_in); 204 } else 205 printf(NAME ": Error waiting on %s\n", hid_in); 206 } 207 208 static void getterm(char *dev, char *app) 209 { 210 char *argv[4]; 211 char term[MAX_DEVICE_NAME]; 212 int rc; 213 214 snprintf(term, MAX_DEVICE_NAME, "%s/%s", DEVFS_MOUNT_POINT, dev); 215 216 printf(NAME ": Spawning %s with %s %s\n", APP_GETTERM, term, app); 217 218 /* Wait for the terminal device to be ready */ 219 dev_handle_t handle; 220 rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING); 221 222 if (rc == EOK) { 223 argv[0] = APP_GETTERM; 224 argv[1] = term; 192 argv[0] = "/app/getvc"; 193 argv[1] = vc; 225 194 argv[2] = app; 226 195 argv[3] = NULL; 227 196 228 if (!task_spawn( APP_GETTERM, argv))229 printf(NAME ": Error spawning %s with %s %s\n", APP_GETTERM,230 term, app);231 } else232 printf(NAME ": Error waiting on %s\n", term);197 if (!task_spawn("/app/getvc", argv)) 198 printf(NAME ": Error spawning getvc on %s\n", vc); 199 } else { 200 printf(NAME ": Error waiting on %s\n", vc); 201 } 233 202 } 234 203 … … 237 206 int rc; 238 207 239 printf("Trying to mount bd/disk0 on /data... ");208 printf("Trying to mount disk0 on /data... "); 240 209 fflush(stdout); 241 210 242 rc = mount("fat", "/data", " bd/disk0", "wtcache", 0);211 rc = mount("fat", "/data", "disk0", "wtcache", 0); 243 212 if (rc == EOK) 244 213 printf("OK\n"); … … 263 232 } 264 233 234 spawn("/srv/fb"); 235 spawn("/srv/kbd"); 236 spawn("/srv/console"); 237 spawn("/srv/clip"); 265 238 spawn("/srv/fhc"); 266 239 spawn("/srv/obio"); 267 srv_start("/srv/i8042");268 srv_start("/srv/c_mouse");269 270 spawn("/srv/fb");271 spawn("/srv/kbd");272 console("hid_in/kbd");273 274 spawn("/srv/clip");275 240 276 241 /* … … 291 256 #endif 292 257 293 get term("term/vc0", "/app/bdsh");294 get term("term/vc1", "/app/bdsh");295 get term("term/vc2", "/app/bdsh");296 get term("term/vc3", "/app/bdsh");297 get term("term/vc4", "/app/bdsh");298 get term("term/vc5", "/app/bdsh");299 get term("term/vc6", "/app/klog");258 getvc("vc0", "/app/bdsh"); 259 getvc("vc1", "/app/bdsh"); 260 getvc("vc2", "/app/bdsh"); 261 getvc("vc3", "/app/bdsh"); 262 getvc("vc4", "/app/bdsh"); 263 getvc("vc5", "/app/bdsh"); 264 getvc("vc6", "/app/klog"); 300 265 301 266 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.