[meta-lsi] [PATCH 22/22] README: Update info about SMP and 32-bit ARMv8 builds

Daniel Dragomir daniel.dragomir at windriver.com
Thu Jan 28 04:57:13 PST 2016

Add informations about how to enable or disable SMP in kernel
config file.

Add informations about how to build a 32-bit build for ARMv8
based boards.

Signed-off-by: Daniel Dragomir <daniel.dragomir at windriver.com>
 README | 66 +++++++++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 49 insertions(+), 17 deletions(-)

diff --git a/README b/README
index 426db56..522a549 100644
--- a/README
+++ b/README
@@ -15,10 +15,10 @@ information):
                         Processors family
 	* axxiaarm - Axxia 5000 ARM Mobile & Enterprise Communication 
-                    Processors family 
+                    Processors family (32-bit)
 	* axxiaarm64 - Axxia 5000 ARM Mobile & Enterprise Communication 
-                    Processors family 
+                    Processors family (64-bit)
 NOTE: Machines are divided by architecture. By building Linux for axxiaarm 
 machine (e.g.), you will build binaries for all available ARM targets. 
@@ -66,7 +66,7 @@ revision: HEAD
 URI: https://github.com/openembedded/meta-openembedded.git
-branch: master
+branch: jethro
 revision: HEAD
@@ -104,7 +104,7 @@ device-tree-compiler (dtc)
 Axxia specific board types.
    $ cd $YOCTO/poky
-   $ git clone git://git.yoctoproject.org/meta-axxia
+   $ git clone git://git.yoctoproject.org/meta-axxia.git
    $ cd meta-axxia
    $ git checkout jethro
@@ -115,7 +115,7 @@ following.
    $ cd $YOCTO/poky
    $ git clone https://github.com/openembedded/meta-openembedded.git
    $ cd meta-openembedded
-   $ git checkout master
+   $ git checkout jethro
 5. Create the build directory. The name is optional and will default to 'build',
 however it helps to choose a name to match the board type. For example, we will
@@ -168,7 +168,7 @@ parallelism BitBake should use:
   PREFERRED_PROVIDER_virtual/bootloader = "u-boot-lsi"
-7.5 Select the kernel type:
+7.5 Select the KERNEL type:
    for standard
    PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
@@ -188,7 +188,7 @@ NOTE: axxiaarm and axxiapowerpc are available only with linux 3.14
    PREFERRED_VERSION_linux-yocto-rt = "4.1%"
 7.7 Select the kernel repository to use. Meta-axxia is able to build the kernel
-from 2 sources: private lsigithub and public yocto kernel repo depending on
+from 2 sources: private lsigithub and public YOCTO kernel repo depending on
 LSI_SRC variable from local.conf:
 a. by default (missing to set LSI_SRC) or setting
@@ -197,24 +197,28 @@ a. by default (missing to set LSI_SRC) or setting
    will build from Yocto repos:
    3.14: http://git.yoctoproject.org/git/linux-yocto-3.14
+        standard/axxia/base or standard/preempt-rt/axxia/base branch
    4.1:  http://git.yoctoproject.org/git/linux-yocto-4.1 
+        standard/axxia/base or standard/preempt-rt/axxia/base branch
 b. LSI_SRC = "lsi-tip"
    will build kernel from GitHub private repos (require authentication with
    public key):
    3.14: git at github.com:lsigithub/axxia_yocto_linux_3.14_private.git
+        standard/axxia-dev/base or standard/preempt-rt/axxia/base branch
    4.1:  git at github.com:lsigithub/axxia_yocto_linux_4.1_private.git
+        standard/axxia-dev/base or standard/preempt-rt/axxia/base branch
 7.8 Customizing the Kernel .config file
 NOTE: This options are available only with LSI_SRC = "linux-yocto"
       When building from github, fixed defconfigs are used instead.
 When building the kernel from the Yocto repositories, the final .config is built
-using configuration fragments. Otherwisei, when building from lsigithub,
-a pre-built defconfig is used.
+using configuration fragments. Otherwise, when building from lsigithub,
+an defconfig is used.
 Besides the options specific to the standard and preempt-rt kernel, you are able
-to add extra kernel fragments by setting the following options
+to add extra kernel fragments by setting the following options:
 a. Power management scheme (axxiaarm only)
    - POWER_MANAGEMENT = "low-power" (DEFAULT)
@@ -231,11 +235,17 @@ Set the order in which a sequence of bytes are stored in computer memory.
    - BIG_ENDIAN = "yes"
      Kernel will be built with CONFIG_CPU_BIG_ENDIAN enabled.
-c. Debug options
+c. Debug options:
    - DBG = "no" (DEFAULT)
-   - DBG = "yes" Will enable options for debug in the Kernel config.
+   - DBG = "yes"
+     Will enable options for debug in the Kernel config.
-d. Regression testing
+d. SMP options:
+   - SMP = "yes" (DEFAULT)
+   - SMP = "no"
+     Will enable or disable SMP related kernel options.
+e. Regression testing:
     TESTING = "yes"
 7.9 Other optional settings for saving disk space and build time:
@@ -243,18 +253,39 @@ d. Regression testing
    DL_DIR = "/<some-shared-location>/downloads"
    SSTATE_DIR = "/<some-shared-location>/sstate-cache
-7.10. Example. Append these lines to conf/local.conf file from the build dir
+7.10 Building a 32-bit RootFS for ARMv8 based boards:
+For ARM architecture, depending on the machine selected on step 7.2, 
+specific Kernel and RootFS are built for specific boards:
+    - axxiaarm: 32-bit Kernel and Rootfs for 5500 board series which have
+                ARMv7 based processors (cortex-a15)
+    - axxiaarm64: 64-bit Kernel and Rootfs for 5600 board series which have
+                  ARMv8 based processors (cortex-a53 for XLF board or 
+                  cortex-a57 for X9 board).
+But ARMv8 architecture support both 32-bit and 64-bit instruction sets. 
+To build a 32-bit Kernel and RootFS for ARMv8, you will need to set the
+following variables in local.conf:
+   MACHINE = "axxiaarm"   # for 32-bit 
+   CHIPSET = "X9"         # for 5600 boards (ARMv8)
+If CHIPSET is not set, it will default to 5500 (ARMv7).
+NOTE: You can boot the resulting 32-bit RootFS with the Kernel resulting
+from an axxiaarm64 build.
+7.11 Example. Append these lines to conf/local.conf file from the build dir
 PARALLEL_MAKE = "-j 12"
-MACHINE = "axxiaarm64"
+MACHINE = "axxiaarm"
 IMAGE_FSTYPES += "ext2"
 IMAGE_FSTYPES += "tar.gz"
 PREFERRED_PROVIDER_virtual/bootloader = "u-boot-lsi"
 PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
-PREFERRED_VERSION_linux-yocto-rt = "4.1%"
+PREFERRED_VERSION_linux-yocto-rt = "3.10%"
 LSI_SRC = "linux-yocto"
 DBG = "yes"
+SMP = "yes"
 TESTING = "yes"
 DL_DIR = "/<some-shared-location>/downloads"
 SSTATE_DIR = "/<some-shared-location>/sstate-cache"
@@ -293,6 +324,7 @@ NOTE: For axxiaarm64, only Image files are generated, instead of zImage.
 	* linux.fit-<target name> (Kernel binary in fit image format)
 	* multi.fit-<target name> (Kernel binary + DTB in fit image format)
 Guidelines for submitting patches
@@ -313,7 +345,7 @@ When sending patches, please use something like:
-Maintainers: Cristian Bercaru <cristian.bercaru at windriver.com>
+Maintainers: Daniel Dragomir <daniel.dragomir at windriver.com>
 	     Lucian Creanga <lucian.creanga at windriver.com>
 Please see the meta-axxia/MAINTAINERS file for more details.

More information about the meta-lsi mailing list