diff --git a/karaf/assembly/src/main/distribution/text/lib/README b/karaf/assembly/src/main/distribution/text/lib/README
new file mode 100644
index 0000000..ab4868d
--- /dev/null
+++ b/karaf/assembly/src/main/distribution/text/lib/README
@@ -0,0 +1,27 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+This directory is the standard java classpath directory.
+Any jar in this folder will be part of the main classloader used to load Karaf.
+However, in OSGi, classes defined in this jar won't be available to other bundles
+unless one of the org.osgi.framework.system.packages.extra or
+org.osgi.framework.bootdelegation property in the etc/config.properties file
+is modified to export or delegate the packages.
+Please refer to the OSGi Core Specification for more informations on those
+properties and the OSGi classloading mechanism.
\ No newline at end of file
diff --git a/karaf/assembly/src/main/distribution/text/lib/endorsed/README b/karaf/assembly/src/main/distribution/text/lib/endorsed/README
new file mode 100644
index 0000000..81acbae1
--- /dev/null
+++ b/karaf/assembly/src/main/distribution/text/lib/endorsed/README
@@ -0,0 +1,23 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+This directory is the java endorsed directory.
+Any jar in this folder will be used to override classes defined by the JVM.
+For more informations, see:
+   http://java.sun.com/j2se/1.5.0/docs/guide/standards/
\ No newline at end of file
diff --git a/karaf/assembly/src/main/distribution/text/lib/ext/README b/karaf/assembly/src/main/distribution/text/lib/ext/README
new file mode 100644
index 0000000..26e2f3e
--- /dev/null
+++ b/karaf/assembly/src/main/distribution/text/lib/ext/README
@@ -0,0 +1,23 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+This directory is the java extension directory.
+Any jar in this folder will be used as a JVM extension.
+For more informations, see
+   http://java.sun.com/j2se/1.5.0/docs/guide/extensions/spec.html
\ No newline at end of file
