[FE training-materials-updates] buildroot-rootfs: add chapter

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue May 5 14:41:02 CEST 2015


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=7deeff63cc4ca2f699d51a6775ccda08343bfab4

>---------------------------------------------------------------

commit 7deeff63cc4ca2f699d51a6775ccda08343bfab4
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Tue May 5 14:40:38 2015 +0200

    buildroot-rootfs: add chapter
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


>---------------------------------------------------------------

7deeff63cc4ca2f699d51a6775ccda08343bfab4
 slides/buildroot-rootfs/buildroot-rootfs.tex       | 330 ++++++++++-
 .../overall-steps.dia}                             | 653 +++++++++++----------
 2 files changed, 668 insertions(+), 315 deletions(-)

diff --git a/slides/buildroot-rootfs/buildroot-rootfs.tex b/slides/buildroot-rootfs/buildroot-rootfs.tex
index 0e31a3d..6464182 100644
--- a/slides/buildroot-rootfs/buildroot-rootfs.tex
+++ b/slides/buildroot-rootfs/buildroot-rootfs.tex
@@ -1,12 +1,334 @@
+\setbeamerfont{block title}{size=\scriptsize}
+
 \section{Root filesystem in Buildroot}
 
+\begin{frame}{Overall rootfs construction steps}
+  \begin{center}
+    \includegraphics[width=\textwidth]{slides/buildroot-rootfs/overall-steps.pdf}
+  \end{center}
+\end{frame}
+
+\begin{frame}{Root filesystem skeleton}
+  \begin{itemize}
+  \item The base of a Linux root filesystem: Unix directory hierarchy,
+    a few configuration files and scripts in \code{/etc}. No programs
+    or libraries.
+  \item First thing to get copied to \code{$(TARGET_DIR)} at the
+    beginning of the build.
+  \item By default (\code{BR2_ROOTFS_SKELETON_DEFAULT=y}), the one in
+    \code{system/skeleton} is used.
+  \item A custom {\em skeleton} can be used, through the
+    \code{BR2_ROOTFS_SKELETON_CUSTOM} and
+    \code{BR2_ROOTFS_SKELETON_CUSTOM_PATH} options.
+    \begin{itemize}
+    \item Not recommended though: the {\em skeleton} is only copied
+      once at the beginning of the build, and the base is usually good
+      for most projects.
+    \item Use {\em rootfs overlays} or {\em post-build scripts} for
+      customization.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Installation of packages}
+  \begin{itemize}
+  \item All the target packages will be built: Busybox, Qt, OpenSSH,
+    and the thousands of other possible packages.
+  \item Most of them will install files in \code{$(TARGET_DIR)}:
+    programs, libraries, fonts, data files, configuration files, etc.
+  \item This is really the step that will bring in the root filesystem
+    the vast majority of the files.
+  \item Covered in more details in the section about creating your own
+    Buildroot packages.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Cleanup step}
+  \begin{itemize}
+  \item Once all packages have been installed, a cleanup step is
+    executed to reduce the size of the root filesystem.
+  \item It mainly involves:
+    \begin{itemize}
+    \item Remove header files, pkg-config files, CMake files, static
+      libraries, man pages, documentation.
+    \item Stripping all the programs and libraries using \code{strip},
+      to remove unneeded information. Depends on
+      \code{BR2_ENABLE_DEBUG} and \code{BR2_STRIP_*} options.
+    \item Additional specific clean up steps: clean up unneeded Python
+      files when Python is used, etc. See \code{TARGET_FINALIZE_HOOKS}
+      in the Buildroot code.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{Root filesystem overlay}
+
+  \begin{itemize}
+
+  \item To customize the contents of your root filesystem, to add
+    configuration files, scripts or any other file, one possible
+    solution is to use a {\bf root filesystem overlay}.
+
+  \item A {\em root filesystem overlay} is simply a directory whose
+    contents will be {\bf copied over the root filesystem}, after all
+    packages have been installed. Overwriting files is allowed.
+
+  \item The option \code{BR2_ROOTFS_OVERLAY} contains a
+    space-separated list of overlay paths.
+
+\begin{block}{}
+{\small
+\begin{verbatim}
+$ grep ^BR2_ROOTFS_OVERLAY .config
+BR2_ROOTFS_OVERLAY="board/myproject/rootfs-overlay"
+$ find -type f board/myproject/rootfs-overlay
+board/myproject/rootfs-overlay/etc/ssh/sshd_config
+board/myproject/rootfs-overlay/etc/init.d/S99myapp
+\end{verbatim}}
+\end{block}
+
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}{Post-build scripts}
+  \begin{itemize}
+  \item Sometimes a {\em root filesystem overlay} is not sufficient,
+    and you actually want to {\bf execute commands}, you can use {\bf
+      post-build scripts}.
+  \item These scripts are executed before the root filesystem image is
+    created. They can be written in any language, shell scripts are
+    often used.
+  \item \code{BR2_ROOTFS_POST_BUILD_SCRIPT} contains a space-separated
+    list of post-build script paths.
+  \item \code{$(TARGET_DIR)} path passed as first argument, additional
+    arguments can be passed in the \code{BR2_ROOTFS_POST_SCRIPT_ARGS}
+    option.
+  \item Various environment variables are available:
+    \begin{itemize}
+      \item \code{BR2_CONFIG}, path to the Buildroot .config file
+      \item \code{HOST_DIR}, \code{STAGING_DIR}, \code{TARGET_DIR},
+        \code{BUILD_DIR}, \code{BINARIES_DIR}, \code{BASE_DIR}
+      \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{Post-build script: example}
+
+\begin{block}{board/myproject/post-build.sh}
+\begin{minted}[fontsize=\scriptsize]{bash}
+#!/bin/sh
+TARGET_DIR=$1
+BOARD_DIR=board/myproject/
+
+# Adjust password of the 'default' user
+sed -i 's%^default::%default:jfbeg/OwGfiab:%' $TARGET_DIR/etc/shadow
+
+# Create /applog mountpoint, and adjust /etc/fstab
+mkdir -p $TARGET_DIR/applog
+grep -q "^/dev/mtdblock7" $TARGET_DIR/etc/fstab || \
+    echo "/dev/mtdblock7\t\t/applog\tjffs2\tdefaults\t\t0\t0" >> \
+    $TARGET_DIR/etc/fstab
+
+# Copy a file
+install -D -m 0755 $BOARD_DIR/cleanup-logs \
+    $TARGET_DIR/usr/bin/cleanup-logs
+\end{minted}
+\end{block}
+
+\begin{block}{Buildroot configuration}
+{\scriptsize
+\begin{verbatim}
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/myproject/post-build.sh"
+\end{verbatim}}
+\end{block}
+
+\end{frame}
+
+\begin{frame}{Generating the filesystem images}
+
+  \begin{itemize}
+  \item In the \code{Filesystem images} menu, you can select which
+    filesystem image formats to generate.
+  \item To generate those images, Buildroot will generate a shell
+    script that:
+    \begin{itemize}
+    \item {\bf Changes the owner} of all files to \code{0:0} (root user)
+    \item Takes into account the global {\bf permission and device tables},
+      as well as the per-package ones.
+    \item Takes into account the {\bf global and per-package users
+        tables}.
+    \item Runs the {\bf filesystem image generation utility}, which
+      depends on each filesystem type (\code{genext2fs},
+      \code{mkfs.ubifs}, \code{tar}, etc.)
+    \end{itemize}
+  \item This script is executed using a tool called {\em fakeroot}
+    \begin{itemize}
+    \item Allows to fake being root so that permissions and ownership
+      can be modified, device files can be created, etc.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{Permission table}
+  \begin{itemize}
+  \item By default, all files are owned by the \code{root} user, and
+    the permissions with which they are installed in
+    \code{$(TARGET_DIR)} are preserved.
+  \item To customize the ownership or the permission of installed
+    files, one can create one or several {\bf permission tables}
+  \item \code{BR2_ROOTFS_DEVICE_TABLE} contains a space-separated list
+    of permission table files. The option name contains {\em device}
+    for backward compatibility reasons only.
+  \item The \code{system/device_table.txt} file is used by default.
+  \item Packages can also specify their own permissions. See the {\em
+      Advanced package aspects} section for details.
+  \end{itemize}
+
+\begin{block}{Permission table example}
+{\tiny
+\begin{verbatim}
+#<name>    <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+/dev       d       755     0       0       -       -       -       -       -
+/tmp       d       1777    0       0       -       -       -       -       -
+/var/www   d       755     33      33      -       -       -       -       -
+\end{verbatim}
+}
+\end{block}
+
+\end{frame}
+
+\begin{frame}[fragile]{Device table}
+
+  \begin{itemize}
+  \item When the system is using a static \code{/dev}, one may need to
+    create additional {\em device nodes}
+  \item Done using one or several {\bf device tables}
+  \item \code{BR2_ROOTFS_STATIC_DEVICE_TABLE} contains a
+    space-separated list of device table files.
+  \item The \code{system/device_table_dev.txt} file is used by
+    default.
+  \item Packages can also specify their own device files. See the {\em
+      Advanced package aspects} section for details.
+  \end{itemize}
+
+\begin{block}{Device table example}
+{\tiny
+\begin{verbatim}
+# <name>        <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+/dev/mem        c       640     0       0       1       1       0       0       -
+/dev/kmem       c       640     0       0       1       2       0       0       -
+/dev/i2c-       c       666     0       0       89      0       0       1       4
+\end{verbatim}
+}
+\end{block}
+
+\end{frame}
+
+\begin{frame}[fragile]{Users table}
+  \begin{itemize}
+  \item One may need to add specific Unix users and groups in addition
+    to the one available in the default skeleton.
+  \item \code{BR2_ROOTFS_USERS_TABLES} is a space-separated list of
+    user tables.
+  \item Packages can also specify their own users. See the {\em
+      Advanced package aspects} section for details.
+  \end{itemize}
+
+\begin{block}{Users table example}
+{\tiny
+\begin{verbatim}
+# <username> <uid> <group> <gid> <password> <home>    <shell> <groups>    <comment>
+foo          -1    bar     -1    !=blabla   /home/foo /bin/sh alpha,bravo Foo user
+test         8000  wheel   -1    =          -         /bin/sh -           Test user
+\end{verbatim}
+}
+\end{block}
+
+\end{frame}
+
+\begin{frame}{Post-image scripts}
+  \begin{itemize}
+  \item Once all the filesystem images have been created, at the very
+    end of the build, {\bf post-image} scripts are called.
+  \item They allow to do any custom action at the end of the
+    build. For example:
+    \begin{itemize}
+    \item Extract the root filesystem to do NFS booting
+    \item Generate a final firmware image
+    \item Start the flashing process
+    \end{itemize}
+  \item \code{BR2_ROOTFS_POST_IMAGE_SCRIPT} is a space-separated list
+    of {\em post-image} scripts to call.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Init mechanism}
+  \begin{itemize}
+  \item Buildroot supports multiple {\em init} implementations:
+    \begin{itemize}
+    \item {\bf Busybox init}, the default. Simplest solution.
+    \item {\bf sysvinit}, the old style featureful {\em init}
+      implementation
+    \item {\bf systemd}, the new generation init system
+    \end{itemize}
+  \item Selecting the {\em init} implementation in the \code{System
+      configuration} menu will:
+    \begin{itemize}
+    \item Ensure the necessary packages are selected
+    \item Make sure the appropriate init scripts or configuration
+      files are installed by packages. See {\em Advanced package
+        aspects} for details.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{{\tt /dev} management method}
+  \begin{itemize}
+  \item Buildroot supports four methods to handle the \code{/dev}
+    directory:
+    \begin{itemize}
+    \item Using {\bf devtmpfs}. \code{/dev} is managed by the kernel
+      {\em devtmpfs}, which creates device files
+      automatically. Requires kernel 2.6.32+. Default option.
+    \item Using {\bf static /dev}. This is the old way of doing
+      \code{/dev}, not very practical.
+    \item Using {\bf mdev}. \code{mdev} is part of Busybox and can run
+      custom actions when devices are added/removed. Requires {\em
+        devtmpfs} kernel support.
+    \item Using {\bf eudev}. Forked from \code{systemd}, allows to run
+      custom actions. Requires {\em devtmpfs} kernel support.
+    \end{itemize}
+  \item When {\em systemd} is used, the only option is {\em udev} from
+    {\em systemd} itself.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Other customization options}
+  \begin{itemize}
+  \item There are various other options to customize the root
+    filesystem:
+    \begin{itemize}
+    \item {\bf getty} options, to run a login prompt on a serial port
+      or screen
+    \item {\bf hostname} and {\bf banner} options
+    \item {\bf DHCP network} on one interface (for more complex
+      setups, use an {\em overlay}
+    \item {\bf root password}
+    \item {\bf timezone} installation and selection
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
 \setuplabframe
 {Root filesystem construction}
 {
   \begin{itemize}
-  \item Generate Buildroot systems with different \code{/dev}
-    management options and test them on a hardware platform.
-  \item Customize the root filesystem contents using a {\em rootfs
-      overlay} and {\em post-build} scripts.
+  \item Explore the build output
+  \item Customize the root filesystem using a rootfs overlay
+  \item Customize the kernel with patches and additional configuration
+    options
+  \item Add more packages
+  \item Use defconfig files and out of tree build
   \end{itemize}
 }
diff --git a/slides/android-build-system-basics-results/boot-sequence.dia b/slides/buildroot-rootfs/overall-steps.dia
similarity index 69%
copy from slides/android-build-system-basics-results/boot-sequence.dia
copy to slides/buildroot-rootfs/overall-steps.dia
index 55db750..24bf0e6 100644
--- a/slides/android-build-system-basics-results/boot-sequence.dia
+++ b/slides/buildroot-rootfs/overall-steps.dia
@@ -62,31 +62,28 @@
       </dia:composite>
     </dia:attribute>
   </dia:diagramdata>
-  <dia:layer name="Background" visible="true" active="true">
+  <dia:layer name="Arrière-plan" visible="true" active="true">
     <dia:object type="Standard - Box" version="0" id="O0">
       <dia:attribute name="obj_pos">
-        <dia:point val="22,5"/>
+        <dia:point val="23,0"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="21.95,4.95;28.05,7.05"/>
+        <dia:rectangle val="22.95,-0.05;30.05,4.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="22,5"/>
+        <dia:point val="23,0"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="6"/>
+        <dia:real val="7"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="2"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
+        <dia:real val="4"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#cc1f1a"/>
+        <dia:color val="#d9cb2f"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffacac"/>
+        <dia:color val="#fff8a8"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -94,24 +91,25 @@
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O1">
       <dia:attribute name="obj_pos">
-        <dia:point val="25,6"/>
+        <dia:point val="26.5,2"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="22.9286,5.4725;27.0714,6.5275"/>
+        <dia:rectangle val="23.6112,1.22625;29.3887,2.77375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Power on#</dia:string>
+            <dia:string>#Copy the skeleton
+to $(TARGET_DIR)#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="25,6.3125"/>
+            <dia:point val="26.5,1.82125"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -124,42 +122,48 @@
       <dia:attribute name="valign">
         <dia:enum val="2"/>
       </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O0" connection="8"/>
+      </dia:connections>
     </dia:object>
-    <dia:object type="Flowchart - Box" version="0" id="O2">
+    <dia:object type="Standard - Box" version="0" id="O2">
       <dia:attribute name="obj_pos">
-        <dia:point val="20,9"/>
+        <dia:point val="33,0"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="19.95,8.95;30.05,11.05"/>
+        <dia:rectangle val="32.95,-0.05;40.05,4.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="20,9"/>
+        <dia:point val="33,0"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="7"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="2"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
+        <dia:real val="4"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#5cacff"/>
+        <dia:color val="#d9cb2f"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#add8e6"/>
+        <dia:color val="#fff8a8"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
       </dia:attribute>
-      <dia:attribute name="padding">
-        <dia:real val="0.5"/>
+    </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O3">
+      <dia:attribute name="obj_pos">
+        <dia:point val="36.5,2"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="34.505,1.22625;38.495,2.77375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>##</dia:string>
+            <dia:string>#Build/install
+all packages#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
@@ -168,7 +172,7 @@
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="25,10.195"/>
+            <dia:point val="36.5,1.82125"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -178,27 +182,60 @@
           </dia:attribute>
         </dia:composite>
       </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="2"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O2" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Box" version="0" id="O4">
+      <dia:attribute name="obj_pos">
+        <dia:point val="43,0"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="42.95,-0.05;50.05,4.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="43,0"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="7"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="4"/>
+      </dia:attribute>
+      <dia:attribute name="border_color">
+        <dia:color val="#d9cb2f"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#fff8a8"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O3">
+    <dia:object type="Standard - Text" version="1" id="O5">
       <dia:attribute name="obj_pos">
-        <dia:point val="25,10"/>
+        <dia:point val="46.5,2"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="22.5325,9.4725;27.4675,10.5275"/>
+        <dia:rectangle val="43.8287,1.22625;49.1713,2.77375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Bootloader#</dia:string>
+            <dia:string>#Run a number of
+cleanup steps#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="25,10.3125"/>
+            <dia:point val="46.5,1.82125"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -212,126 +249,55 @@
         <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O2" connection="16"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O4">
-      <dia:attribute name="obj_pos">
-        <dia:point val="25,7"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="24.6382,6.95;25.3618,9.1118"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="25,7"/>
-        <dia:point val="25,9"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O0" connection="6"/>
-        <dia:connection handle="1" to="O2" connection="2"/>
+        <dia:connection handle="0" to="O4" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - ZigZagLine" version="1" id="O5">
+    <dia:object type="Standard - Box" version="0" id="O6">
       <dia:attribute name="obj_pos">
-        <dia:point val="20,10"/>
+        <dia:point val="43,6"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="16.3882,9.95;20.05,14.3618"/>
+        <dia:rectangle val="42.95,5.95;50.05,10.05"/>
       </dia:attribute>
-      <dia:attribute name="orth_points">
-        <dia:point val="20,10"/>
-        <dia:point val="17,10"/>
-        <dia:point val="17,14"/>
-        <dia:point val="17,14"/>
-      </dia:attribute>
-      <dia:attribute name="orth_orient">
-        <dia:enum val="0"/>
-        <dia:enum val="1"/>
-        <dia:enum val="0"/>
-      </dia:attribute>
-      <dia:attribute name="autorouting">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="7"/>
-        <dia:connection handle="1" to="O9" connection="1"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - ZigZagLine" version="1" id="O6">
-      <dia:attribute name="obj_pos">
-        <dia:point val="30,10"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="29.95,9.95;33.1118,12.3618"/>
-      </dia:attribute>
-      <dia:attribute name="orth_points">
-        <dia:point val="30,10"/>
-        <dia:point val="33,10"/>
-        <dia:point val="33,12"/>
-        <dia:point val="33,12"/>
+      <dia:attribute name="elem_corner">
+        <dia:point val="43,6"/>
       </dia:attribute>
-      <dia:attribute name="orth_orient">
-        <dia:enum val="0"/>
-        <dia:enum val="1"/>
-        <dia:enum val="0"/>
+      <dia:attribute name="elem_width">
+        <dia:real val="7"/>
       </dia:attribute>
-      <dia:attribute name="autorouting">
-        <dia:boolean val="false"/>
+      <dia:attribute name="elem_height">
+        <dia:real val="4"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
+      <dia:attribute name="border_color">
+        <dia:color val="#d9cb2f"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
+      <dia:attribute name="inner_color">
+        <dia:color val="#fff8a8"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
       </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="8"/>
-      </dia:connections>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O7">
       <dia:attribute name="obj_pos">
-        <dia:point val="17,9"/>
+        <dia:point val="46.5,8"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.169,8.53875;18.831,9.46125"/>
+        <dia:rectangle val="46.5,7.62625;46.5,8.37375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Recovery#</dia:string>
+            <dia:string>##</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="0.98777773976325989"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="17,9.27375"/>
+            <dia:point val="46.5,8.22125"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -344,27 +310,31 @@
       <dia:attribute name="valign">
         <dia:enum val="2"/>
       </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O6" connection="8"/>
+      </dia:connections>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O8">
       <dia:attribute name="obj_pos">
-        <dia:point val="33,9"/>
+        <dia:point val="46.5,8"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="31.5707,8.53875;34.4293,9.46125"/>
+        <dia:rectangle val="44.665,7.22625;48.335,8.77375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Normal#</dia:string>
+            <dia:string>#Copy rootfs
+overlays#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="0.98777773976325989"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="33,9.27375"/>
+            <dia:point val="46.5,7.82125"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -377,31 +347,31 @@
       <dia:attribute name="valign">
         <dia:enum val="2"/>
       </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O6" connection="8"/>
+      </dia:connections>
     </dia:object>
     <dia:object type="Standard - Box" version="0" id="O9">
       <dia:attribute name="obj_pos">
-        <dia:point val="12,14"/>
+        <dia:point val="43,12"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="11.95,13.95;22.05,18.05"/>
+        <dia:rectangle val="42.95,11.95;50.05,16.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="12,14"/>
+        <dia:point val="43,12"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="7"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
         <dia:real val="4"/>
       </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
-      </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#d9cb2f"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+        <dia:color val="#fff8a8"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -409,25 +379,61 @@
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O10">
       <dia:attribute name="obj_pos">
-        <dia:point val="17,16"/>
+        <dia:point val="46.5,14"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="46.5,13.6263;46.5,14.3738"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>##</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="46.5,14.2213"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="2"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O9" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O11">
+      <dia:attribute name="obj_pos">
+        <dia:point val="46.5,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="12.664,14.9081;21.336,17.0919"/>
+        <dia:rectangle val="43.7475,13.2263;49.2525,14.7737"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Load recovery
-kernel and ramdisk#</dia:string>
+            <dia:string>#Execute
+post-build scripts#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="17,15.7481"/>
+            <dia:point val="46.5,13.8213"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -444,56 +450,52 @@ kernel and ramdisk#</dia:string>
         <dia:connection handle="0" to="O9" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O11">
+    <dia:object type="Standard - Box" version="0" id="O12">
       <dia:attribute name="obj_pos">
-        <dia:point val="28,12"/>
+        <dia:point val="33,12"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="27.95,11.95;38.05,16.05"/>
+        <dia:rectangle val="32.95,11.95;40.05,16.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="28,12"/>
+        <dia:point val="33,12"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="7"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
         <dia:real val="4"/>
       </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
-      </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
+        <dia:color val="#d9cb2f"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
+        <dia:color val="#fff8a8"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
       </dia:attribute>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O12">
+    <dia:object type="Standard - Text" version="1" id="O13">
       <dia:attribute name="obj_pos">
-        <dia:point val="33,14"/>
+        <dia:point val="36.5,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="28.6377,12.8685;37.336,15.1315"/>
+        <dia:rectangle val="36.5,13.6263;36.5,14.3738"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Load
-kernel and ramdisk#</dia:string>
+            <dia:string>##</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="33,13.7349"/>
+            <dia:point val="36.5,14.2213"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -507,88 +509,70 @@ kernel and ramdisk#</dia:string>
         <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O11" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O13">
-      <dia:attribute name="obj_pos">
-        <dia:point val="17,18"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="16.6382,17.95;17.3618,21.1118"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="17,18"/>
-        <dia:point val="17,21"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="1" to="O15" connection="1"/>
+        <dia:connection handle="0" to="O12" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O14">
+    <dia:object type="Standard - Text" version="1" id="O14">
       <dia:attribute name="obj_pos">
-        <dia:point val="33,16"/>
+        <dia:point val="36.5,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="32.6382,15.95;33.3618,17.1118"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="33,16"/>
-        <dia:point val="33,17"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
+        <dia:rectangle val="34.415,13.2263;38.585,14.7737"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Create rootfs
+images#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="36.5,13.8213"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
       </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
+      <dia:attribute name="valign">
+        <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O11" connection="6"/>
-        <dia:connection handle="1" to="O19" connection="1"/>
+        <dia:connection handle="0" to="O12" connection="8"/>
       </dia:connections>
     </dia:object>
     <dia:object type="Standard - Box" version="0" id="O15">
       <dia:attribute name="obj_pos">
-        <dia:point val="12,21"/>
+        <dia:point val="23,12"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="11.95,20.95;22.05,23.05"/>
+        <dia:rectangle val="22.95,11.95;30.05,16.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="12,21"/>
+        <dia:point val="23,12"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="7"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="2"/>
+        <dia:real val="4"/>
       </dia:attribute>
       <dia:attribute name="border_width">
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#d9cb2f"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+        <dia:color val="#fff8a8"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -596,24 +580,24 @@ kernel and ramdisk#</dia:string>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O16">
       <dia:attribute name="obj_pos">
-        <dia:point val="17,22"/>
+        <dia:point val="26.5,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="13.4815,21.4725;20.5185,22.5275"/>
+        <dia:rectangle val="26.5,13.6263;26.5,14.3738"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Recovery mode#</dia:string>
+            <dia:string>##</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="17,22.3125"/>
+            <dia:point val="26.5,14.2213"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -630,55 +614,27 @@ kernel and ramdisk#</dia:string>
         <dia:connection handle="0" to="O15" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O17">
-      <dia:attribute name="obj_pos">
-        <dia:point val="28,21"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="27.95,20.95;38.05,23.05"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="28,21"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="10"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
-      </dia:attribute>
-      <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
-      </dia:attribute>
-      <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O18">
+    <dia:object type="Standard - Text" version="1" id="O17">
       <dia:attribute name="obj_pos">
-        <dia:point val="33,22"/>
+        <dia:point val="26.5,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="29.9429,21.4725;36.0571,22.5275"/>
+        <dia:rectangle val="23.5375,13.2263;29.4625,14.7737"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Normal mode#</dia:string>
+            <dia:string>#Execute
+post-image scripts#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="sans" style="0" name="Helvetica"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="33,22.3125"/>
+            <dia:point val="26.5,13.8213"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -692,84 +648,159 @@ kernel and ramdisk#</dia:string>
         <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O17" connection="8"/>
+        <dia:connection handle="0" to="O15" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O19">
+    <dia:object type="Standard - Line" version="0" id="O18">
       <dia:attribute name="obj_pos">
-        <dia:point val="28,17"/>
+        <dia:point val="30.0503,2"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="27.95,16.95;38.05,20.05"/>
+        <dia:rectangle val="30.0003,1.6382;33.1118,2.3618"/>
       </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="28,17"/>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="30.0503,2"/>
+        <dia:point val="33,2"/>
       </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
       </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="3"/>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
       </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
       </dia:attribute>
-      <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
       </dia:attribute>
-      <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
+      <dia:connections>
+        <dia:connection handle="0" to="O0" connection="8"/>
+        <dia:connection handle="1" to="O2" connection="3"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O19">
+      <dia:attribute name="obj_pos">
+        <dia:point val="40,2"/>
       </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="39.95,1.6382;43.1118,2.3618"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="40,2"/>
+        <dia:point val="43,2"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
       </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O2" connection="4"/>
+        <dia:connection handle="1" to="O4" connection="3"/>
+      </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O20">
+    <dia:object type="Standard - Line" version="0" id="O20">
       <dia:attribute name="obj_pos">
-        <dia:point val="33,18.5"/>
+        <dia:point val="46.5,4.04883"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="31.124,17.9725;34.876,19.0275"/>
+        <dia:rectangle val="46.1382,3.99883;46.8618,6.1118"/>
       </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#Run /init#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="33,18.8125"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="46.5,4.04883"/>
+        <dia:point val="46.5,6"/>
       </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O19" connection="8"/>
+        <dia:connection handle="0" to="O4" connection="8"/>
+        <dia:connection handle="1" to="O6" connection="1"/>
       </dia:connections>
     </dia:object>
     <dia:object type="Standard - Line" version="0" id="O21">
       <dia:attribute name="obj_pos">
-        <dia:point val="33,20"/>
+        <dia:point val="46.5,10"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="46.1382,9.95;46.8618,12.1118"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="46.5,10"/>
+        <dia:point val="46.5,12"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O6" connection="6"/>
+        <dia:connection handle="1" to="O9" connection="1"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O22">
+      <dia:attribute name="obj_pos">
+        <dia:point val="43,14"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="39.8882,13.6382;43.05,14.3618"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="43,14"/>
+        <dia:point val="40,14"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O9" connection="3"/>
+        <dia:connection handle="1" to="O12" connection="4"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O23">
+      <dia:attribute name="obj_pos">
+        <dia:point val="33,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="32.6382,19.95;33.3618,21.1118"/>
+        <dia:rectangle val="29.8882,13.6382;33.05,14.3618"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
-        <dia:point val="33,20"/>
-        <dia:point val="33,21"/>
+        <dia:point val="33,14"/>
+        <dia:point val="30,14"/>
       </dia:attribute>
       <dia:attribute name="numcp">
         <dia:int val="1"/>
@@ -784,8 +815,8 @@ kernel and ramdisk#</dia:string>
         <dia:real val="0.5"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O19" connection="6"/>
-        <dia:connection handle="1" to="O17" connection="1"/>
+        <dia:connection handle="0" to="O12" connection="3"/>
+        <dia:connection handle="1" to="O15" connection="4"/>
       </dia:connections>
     </dia:object>
   </dia:layer>



More information about the training-materials-updates mailing list