[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