Author Topic: Quick reference version 0.5 building Askozia  (Read 2863 times)

Roy Damman

  • Newbie
  • *
  • Posts: 8
  • Karma: 1
    • View Profile
Quick reference version 0.5 building Askozia
« on: July 01, 2011, 01:13:06 PM »
Used tools:
  • VMWare player + development image Askozia
  • WinSCP // to browse and edit the files
  • Putty  // terminal

Usefull commands:
  • grep -R "mij\.patroon" *.x // search pattern "mij.patroon" in files *.x
  • find |grep bestandsnaam     // search file with file name that contains "bestandsnaam"
  • rm -Rf name // remove files and/or directories recursively
  • make menuconfig // configuring the kernel (in /usr/src/linux.version)

Askozia scripts:
  • ./scripts/Config // configure default build (named trunk)
  • ./scripts/Config -cfg configname // configure build named configname
  • ./scripts/Build-Target // build default configuration (named trunk)
  • ./scripts/Build-Target -cfg configname // build configuration named configname
  • ./scripts/Build-Target -cfg configname -job 1-linux26 // only build the job linux26 (found in ./package/base/linux26)
For more information see:
http://www.t2-project.org/handbook/ps+pdf/t2-handbook.pdf

Data structure Askozia Trunk (standard in /root/askozia-trunk):
  • architecture: architecture you can choose from when configuring
  • build: the target directory of the builds with subdirectories xxxx like:
    askozia-pbx-generic-pc-x86-i486-uclibc-trunk
    askozia-pbx-generic-pc-x86-i486-uclibc-configname
    build.xxxx.TOOLCHAIN: Directory with the build images.
  • config: Where the result of you configuration is stored in subdirectories:
    trunk: Default configuration
    configname: Custom configuration
  • download.Mirror: The place where the source packages are downloaded and cached.
  • leftovers: ??
  • misc: ??
  • package: Description of the packages. Where to download, if and how to patch, dependencies, also scripts patching sourcecode.
    package/overlays/pbx/rootfs: Askozia PHP source
  • scripts: Directory with configuration scripts and (configuration independent) build scripts.
  • source: ??
  • src: ??
  • target: The target platform you can choose from when configuring (target builds).
    target/*/linux.config: The Linux kernel configuration file.
  • testsuite: Testsuite Askozia

Checkout sourcecode:
last code:
svn co https://wush.net/svn/askozia/trunk askozia-trunk
last stable 2.0.x code:
svn co https://wush.net/svn/askozia/branches/2.0 askozia-2.0.x

Configuration:
./scripts/Config -cfg configname or ./scripts/Config

Building:
In the askozia-trunk directory the package are extracted and builded in temporary directories like:
src.packagename.configname.YYYYMMDD.HHMMSS.XXXX.hostname/
i.e. temp map building kernel:
src.linux26.trunk.20110629.114129.20153.localhost
After building the result is copied (according to the package) to /build/*/* and de temporary directory is deleted.

Changing kernel configuration:
The kernel configuration is defined (one of many places) at ./target/*/linux.config. When building the kernel this configuration file is copied to ./build/mybuildname/usr/src/linux-2.6.35.9-dist/.config. To edit the configuration file, copy the linux linux.config to the .config location. Edit the kernel configuration with 'make menuconfig' and after configuring, copy it back. Important: make a backup of your original configuration. Finally, compile your new kernel with:
./scripts/Build-Target -job 1-linux26

Changes for compiling with Linux Kernel 2.35.9:
Change packages:
./package/base/linux26/linux26.desc
./package/base/linux-header/linux-header.desc
change: 2.6.30.3 => 2.6.35.9 (two times)

./package/base/linux26/linux-conf.in
change: include/linux/utsrelease.h => include/generated/utsrelease.h

./package/base/linux26/linux-conf.in
./package/base/linux-header/linux-header.conf
change: include/asm => include/asm-generic
Maybe also for:
./package/network/dahdi-linux/dahdi-linux.conf
./package/base/uclibc/uclibc.conf
« Last Edit: July 01, 2011, 01:15:15 PM by RoyN »