Changes in uspace/app/init/init.c [9f51afc:f019cc07] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/init/init.c
r9f51afc rf019cc07 48 48 #include <string.h> 49 49 #include <devmap.h> 50 #include <config.h> 50 51 #include "init.h" 51 52 52 #define DEVFS_MOUNT_POINT "/dev"53 54 #define SRV_CONSOLE "/srv/console"55 #define APP_GETTERM "/app/getterm"56 57 53 static void info_print(void) 58 54 { … … 63 59 { 64 60 char *opts = ""; 65 const char *root_dev = " bd/initrd";61 const char *root_dev = "initrd"; 66 62 67 63 if (str_cmp(fstype, "tmpfs") == 0) … … 102 98 } 103 99 104 snprintf(null, MAX_DEVICE_NAME, "null /%d", null_id);105 int rc = mount("devfs", DEVFS_MOUNT_POINT, null, "", IPC_FLAG_BLOCKING);100 snprintf(null, MAX_DEVICE_NAME, "null%d", null_id); 101 int rc = mount("devfs", "/dev", null, "", IPC_FLAG_BLOCKING); 106 102 107 103 switch (rc) { … … 175 171 } 176 172 177 if ( (texit != TASK_EXIT_NORMAL) || (retval != 0)) {173 if (texit != TASK_EXIT_NORMAL || retval != 0) { 178 174 printf(NAME ": Server %s failed to start (returned %d)\n", 179 175 fname, retval); … … 181 177 } 182 178 183 static void console(char *dev)184 { 185 char *argv[ 3];186 char hid_in[MAX_DEVICE_NAME];179 static void getvc(char *dev, char *app) 180 { 181 char *argv[4]; 182 char vc[MAX_DEVICE_NAME]; 187 183 int rc; 188 184 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 */ 185 snprintf(vc, MAX_DEVICE_NAME, "/dev/%s", dev); 186 187 printf(NAME ": Spawning getvc on %s\n", vc); 188 194 189 dev_handle_t handle; 195 190 rc = devmap_device_get_handle(dev, &handle, IPC_FLAG_BLOCKING); 196 191 197 192 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; 193 argv[0] = "/app/getvc"; 194 argv[1] = vc; 225 195 argv[2] = app; 226 196 argv[3] = NULL; 227 197 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);198 if (!task_spawn("/app/getvc", argv)) 199 printf(NAME ": Error spawning getvc on %s\n", vc); 200 } else { 201 printf(NAME ": Error waiting on %s\n", vc); 202 } 233 203 } 234 204 … … 237 207 int rc; 238 208 239 printf("Trying to mount bd/disk0 on /data... ");209 printf("Trying to mount disk0 on /data... "); 240 210 fflush(stdout); 241 211 242 rc = mount("fat", "/data", " bd/disk0", "wtcache", 0);212 rc = mount("fat", "/data", "disk0", "wtcache", 0); 243 213 if (rc == EOK) 244 214 printf("OK\n"); … … 263 233 } 264 234 235 spawn("/srv/fb"); 236 spawn("/srv/kbd"); 237 spawn("/srv/console"); 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.