This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
developersguide:driverprogramming [2022/02/07 10:41] dcvmoole Rearrange order of instructions (suggestion by jinnjus) |
developersguide:driverprogramming [2022/02/10 14:58] (current) stux add mknod /dev/time c 18 0 |
||
|---|---|---|---|
| Line 302: | Line 302: | ||
| Finally, the //main()// function executes //chardriver_task()// to let //libchardriver// start processing user requests and invoke our driver callback functions. | Finally, the //main()// function executes //chardriver_task()// to let //libchardriver// start processing user requests and invoke our driver callback functions. | ||
| - | Now compile the program again using the same commands as in example 1, and start the driver with the **service(8)** command. We supply ''-dev /dev/hello'' to indicate that the newly started driver is responsible for the major device identified by /dev/hello - namely, major 17, which we picked earlier. | + | Now compile the program again using the same commands as in example 1, and start the driver with the **minix-service(8)** command. We supply ''-dev /dev/hello'' to indicate that the newly started driver is responsible for the major device identified by /dev/hello - namely, major 17, which we picked earlier. |
| <code bash> | <code bash> | ||
| - | # service up /usr/sbin/hello -dev /dev/hello | + | # minix-service up /service/hello -dev /dev/hello |
| Hello, World! | Hello, World! | ||
| </code> | </code> | ||
| Line 323: | Line 323: | ||
| If you get the message above, the hello driver works!** :D ** | If you get the message above, the hello driver works!** :D ** | ||
| - | Now let's try to restart the driver with the **service(8)** command to simulate a failure: | + | Now let's try to restart the driver with the **minix-service(8)** command to simulate a failure: |
| <code bash> | <code bash> | ||
| - | # service refresh hello | + | # minix-service refresh hello |
| Hello, World! | Hello, World! | ||
| Hey, I've just been restarted! | Hey, I've just been restarted! | ||
| Line 350: | Line 350: | ||
| #endif /* __HELLO_H */ | #endif /* __HELLO_H */ | ||
| </code> | </code> | ||
| - | Now recompile it and update the driver with the **service(8)** command: | + | Now recompile it and update the driver with the **minix-service(8)** command: |
| <code bash> | <code bash> | ||
| Line 356: | Line 356: | ||
| # make | # make | ||
| # make install | # make install | ||
| - | # service update /service/hello -state 1 # request an update state where no work is in progress (i.e. SEF_LU_STATE_WORK_FREE=1) | + | # minix-service update /service/hello -state 1 # request an update state where no work is in progress (i.e. SEF_LU_STATE_WORK_FREE=1) |
| Hello, New World! | Hello, New World! | ||
| Hey, I'm a new version! | Hey, I'm a new version! | ||
| Line 441: | Line 441: | ||
| struct chardriver time_tab = | struct chardriver time_tab = | ||
| { | { | ||
| - | *cdr_open = time_open, | + | .cdr_open = time_open, |
| - | *cdr_close = time_close, | + | .cdr_close = time_close, |
| - | *cdr_read = time_read, | + | .cdr_read = time_read, |
| }; | }; | ||
| Line 623: | Line 623: | ||
| install /service/time | install /service/time | ||
| install /etc/system.conf.d/time | install /etc/system.conf.d/time | ||
| - | # service up /service/time -dev /dev/time | + | # mknod /dev/time c 18 0 |
| + | # minix-service up /service/time -dev /dev/time | ||
| # cat /dev/time | # cat /dev/time | ||
| 2014-09-10 15:48:21 | 2014-09-10 15:48:21 | ||