From 29bc00c1575b54e70a60a0d3ecd3dd30236730af Mon Sep 17 00:00:00 2001 From: Kees Jongenburger Date: Wed, 13 Jun 2012 13:12:46 +0200 Subject: [PATCH] Updated documentation and added a makefile to create the html. --- projects/documentation/root/.gitignore | 3 ++ projects/documentation/root/DdeKitUsb.txt | 50 +++++++++++++----- projects/documentation/root/Makefile | 10 +++- .../root/picsrc/minix3_mass_storage_init.png | Bin 0 -> 52776 bytes 4 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 projects/documentation/root/.gitignore create mode 100644 projects/documentation/root/picsrc/minix3_mass_storage_init.png diff --git a/projects/documentation/root/.gitignore b/projects/documentation/root/.gitignore new file mode 100644 index 0000000..49f0b8b --- /dev/null +++ b/projects/documentation/root/.gitignore @@ -0,0 +1,3 @@ +img +*.html +*~ diff --git a/projects/documentation/root/DdeKitUsb.txt b/projects/documentation/root/DdeKitUsb.txt index 2e42458..639cf25 100644 --- a/projects/documentation/root/DdeKitUsb.txt +++ b/projects/documentation/root/DdeKitUsb.txt @@ -83,22 +83,48 @@ Device manager (DEVMAN) Devman is a device manager who's main goal is to enable hot-plugging of hardware. Based on events from USBD and a configuration file it will create -device nodes and start or stop USB class drivers +device nodes and start or stop USB class drivers. + +There are two parts to devman. One is a MINIX3 service and the second one is a userland daemon. -Features added to MINIX 3 --------------------------- +Startup sequence for mass storage +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The project adds new features to the MINIX operating system: - * A model to integrate Linux drivers. - * A system to handle hotplugging of hardware. - * An USB host implementation that can be used to access USB devices. +The initialization is as follow -Runtime dependencies -~~~~~~~~~~~~~~~~~~~~ +* The RC script starts the devman +* The RC script start devmand +* devmand read it's configuration and starts listening for events from devman +* Usbd is started via the extended RC scripts that look in /usr/pkg/etc/rc.d. +* The stub driver inside usbd notifies devman about new usb devices found +* devman exports this information over sysfs and devmand reads about a new + configurations +* devman starts the mass_storage service based on it's configuration +* the mass_storage service binds to the interface over the virtual host + controller +* After some time the device is ready to be mounted. -The first component to start is the device manager. The second component to -start is the USB daemo. It connects to the device manager to register changes -to the bus. Starting and stopping of driver happens by the device manager. +image:img/minix3_mass_storage_init.png[Startup sequence for mass storage] + +Shutdown sequence +~~~~~~~~~~~~~~~~~ + +The shutdown sequence is the following +* umount usb file systems +* stop devmand ( also stops the running services like usb_storage) +* stop usbd +* umount /sys +* stop devman + + +Running and developing +---------------------- + +The device manager is located in the MINIX 3 sources but the remaining components are lotacted outside of this source tree and are referred from the pkgsrc tree. To get the code working it should be enough to reboot after having gone to /usr/pkgsrc/minix/dde-linux26-usb-drivers and and ran bmake install. + +To develop you might need we suggest your first run bmake install and after that run bmake build-env in either the de-linux26-usb-drivers or dde-linux26 directory. running bmake && bmake install will directly install the libraries in the correct location. + +The code for dde-linux26 and dde-linux26-usb-driver is hosted on git.minix3.org diff --git a/projects/documentation/root/Makefile b/projects/documentation/root/Makefile index ace63b5..d505cdb 100644 --- a/projects/documentation/root/Makefile +++ b/projects/documentation/root/Makefile @@ -1,7 +1,13 @@ SRC=DdeKitUsb.txt DST=$(SRC:%.txt=%.html) +IMGSRC=picsrc/minix3_mass_storage_init.png +IMGDST=$(IMGSRC:picsrc/%.png=img/%.png) -website:${DST} +website:${DST} ${IMGDST} Makefile -%.html:%.txt Makefile +${IMGDST}:${IMGSRC} + mkdir -p img + cp $< $@ + +%.html:%.txt asciidoc $< diff --git a/projects/documentation/root/picsrc/minix3_mass_storage_init.png b/projects/documentation/root/picsrc/minix3_mass_storage_init.png new file mode 100644 index 0000000000000000000000000000000000000000..49f364d2b715fec3f19a91d2faebf56cd4487642 GIT binary patch literal 52776 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 D#>y3n literal 0 HcmV?d00001