The MSM/QSD Linux Base Enablement project is a headless User interface which uses GNU/Linux along with PTXdist as the build environment.

These branches are available for direct download using Repo and Git

 Date  Branch  Chipset  Tag/Build ID
 November 04, 2010  boat  qsd8655  M7630AABBQMMZA1045
 April 23, 2010  apple  qsd8650  Q8650BSDCAOLZA220016
 March 19, 2010  apple  qsd8650  Q8650BSDCAOLZA220014
 February 23, 2010  apple  qsd8650  Q8650BSDCAOLZA220012
 February 05, 2010  apple  qsd8650  Q8650BSDCAOLZA220010
 January 21, 2010  apple  qsd8650  Q8650BSDCAOLZA220008
 January 01, 2010  apple  qsd8650  Q8650BSDCAOLZA220006
 December 21, 2009  apple  qsd8650  Q8650BSDCAOLZA220004
 December 04, 2009  apple  qsd8650  Q8650BSDCAOLZA220002
 November 20, 2009  apple  qsd8650  Q8650BSDCAOLZA2200
 November 05, 2009  apple  qsd8650  Q8650BSDCAOLZA2192
 September 01, 2009  master, android-msm-2.6.29b  qsd8650  Q8650BSDCAOLZA2190
 August 18, 2009  apple  qsd8650  Q8650BSDCAOLZA2180
 July 21, 2009  master, Q8650BSDCAOLZA2170  qsd8650  Q8650BSDCAOLZA2170
 July 01, 2009  master, android-msm-2.6.29  qsd8650  Q8650BSDCAOLZA2165
 June 17, 2009  master, android-msm-2.6.29  qsd8650  Q8650BSDCAOLZA2155
 May 13, 2009  Q8650BSDCAALZA2140  qsd8650  Q8650BSDCAALZA2140

Patch Releases

Fixes are sometimes available in patch format only.
A listing of Patch Releases

Ptxdist

For getting started with ptxdist, go to http://www.pengutronix.de/software/ptxdist/index_en.html

1) Download packages (ptxdist-1.99.10 and ptxdist-1.99.10-patches) from http://www.pengutronix.de/software/ptxdist/download/
2) Follow below steps to compile and install ptxdist-1.99.10

$ tar xvzf ptxdist-1.99.10.tgz
$ tar xvzf ptxdist-1.99.10-patches.tgz  (updates first tarball)
$ cd ptxdist-1.99.10  
$ ./configure prefix=/usr/local/ptxdiswith-bash-completion=/etc/bash_completion.d
$ make
$ sudo make install

This creates /usr/local/ptxdist directory, export this path. 

$ export PATH=$PATH:/usr/local/ptxdist/bin

3) After installation, incorporate the below changes:

  • In File /usr/local/ptxdist/lib/ptxdist-1.99.10/scripts/lib/ptxd_lib_cfgchg.sh, insert the below on line 66
chmod 644 "${cfg_old}";
  • In File /usr/local/ptxdist/lib/ptxdist-1.99.10/scripts/lib/ptxd_make_get.sh, modify line 24 as below
http://*|ftp://*|https://*)

4) Run ptxdist setup and ensure that Developer Options --> host cc and host cxx are updated to gcc and g++ respectively

Installation Instructions

Build kernel

1) Retrieve kernel from https://www.codeaurora.org/gitweb/quic/le/

2) Check out on to respective branch (ex:- android-msm-2.6.29)

3) From the msm folder, execute the below command for compilation :

$ cp <path of the config file to be used from arch/arm/configs ex:- qsd8650_defconfig> .config
$ make ARCH=arm  HOSTCC=gcc CROSS_COMPILE=arm-none-linux-gnueabi-

Build mtd-utils

1) Retrieve mtd-utils from https://www.codeaurora.org/gitweb/quic/le/

2) From mtd-utils folder, give the below command for compilation:

$ make -j8 CROSS="arm-none-linux-gnueabi-"

Build from /project/rules

1) Create <project> folder and retrieve rules from https://www.codeaurora.org/gitweb/quic/le (After step 1,Project folder consists of rules folder)

2) Update kernel.make and mtd-utils.make in rules folder to download from appropriate location. (Replace ptxconf variables which are defined).

  • say snapshot of 
KERNEL_URL:  https://www.codeaurora.org/gitweb/quic/le/?p=kernel%2Fmsm.git;a=snapshot;h=054ae401108d7deafca0122a04045f34b318a1ca;sf=tgz

Modify kernel.make accordingly as

KERNEL_FILENAME := "?p=kernel%2Fmsm.git;a=snapshot;h=054ae401108d7deafca0122a04045f34b318a1ca;sf=tgz"
KERNEL_URL += "https://www.codeaurora.org/gitweb/quic/le/$(KERNEL_FILENAME)"
  • Say snapshot of 
MTD_UTILS_URL: https://www.codeaurora.org/gitweb/quic/le/?p=le/rules.git;a=snapshot;h=991016d367db4ceaf6b625694147be439dd56fed;sf=tgz

Modify mtd-utils.make accordingly as

MTD_UTILS_FILENAME :="?p=le%2Fmtd-utils.git;a=snapshot;h=991016d367db4ceaf6b625694147be439dd56fed;sf=tgz"
MTD_UTILS_URL :=  "https://www.codeaurora.org/gitweb/quic/le/$(MTD_UTILS_FILENAME)"

3) PTXDIST expects Kconfig file in project folder. Create Kconfig file which consists of configuration details. Menu files of packages should be specified in Kconfig file. Hence, Create Kconfig file with the below code.

source "config/Kconfig"
source "workspace/rules/bluez-utils.in"
source "workspace/rules/dejagnu.in"
source "workspace/rules/kernel.in"
source "workspace/rules/module-init-tools.in"
source "workspace/rules/mtd-utils.in"
source "workspace/rules/yaffs2.in"

After this step, Project folder contains rules folder and a Kconfig file Refer to /usr/local/ptxdist/lib/ptxdist-1.99.10/rules/templates/kconfig/Kconfig for further information related to Kconfig

4) From project folder,create menuconfig and platformconfig files using ptxdist

$ echo PTXCONF_CONFIGFILE_VERSION="1.99.10" > menu-config
$ touch platform-config
$ ptxdist ptxconfig=menu-config platformconfig=platform-config menuconfig
  • Packages to be compiled should be selected through menuconfig
  • Navigate through Root Filesystem --> start scripts and deselect networking option.
$ ptxdist ptxconfig=menu-config platformconfig=platform-config platformconfig
 
  Enter appropriate details
  • Platform-name.(Ex:qsd8650).
  • Navigate through Architecture >Toolchain and update gcc version and gnu target (Ex: arm-none-linux-gnueabi  ).
  • If selected kernel, update version, imageType as vmlinux, and enter kernel config file as ‘kernel_defconfig’.

5) Create projectroot/etc directory under project folder(kernel make file expects this folder during compilation of kernel)

$ mkdir –p projectroot/etc

6) From project folder, run “ptxdist go” command to build the project with appropriate flags.

$ export PATCH_GET=0
$ export KERNEL_DEFCONFIG=<defconfig>
$ ptxdist toolchain=<path-to-toolchain> ptxconfig=menu-config platformconfig=platform-config go

PATCH_GET=0 disables source control fetching behavoir

KERNEL_DEFCONFIG > target specific defconfig file(say,qsd8650_defconfig)

Tags:
Created by superadmin on 2020/04/18 20:53
    

Need help?

If you need help with XWiki you can contact: