====== The build environment ====== After completing the [[en:build:installation|Installation of the build environment]] U-Boot, Linux kernel, individual programs or an archive of a complete profile for the MFG tool can be built. The top level directory of the build environment is called //$TOPDIR//. ===== MFG profiles ===== MFG profile archives can be built from the top level directory of the build environment by executing make mfg This builds all components as well as placing two zip archives in the directory //images///: ^ archive ^ Description ^ | //tqma28-mfg-linux-update.zip// | to install U-Boot, linux kernel, custom und debian rootfs | | //tqma28-mfg-u-boot.zip// | to execute U-Boot w/o installation (e.g. for booting via NFS) | ===== Kernel ===== It may be useful to build the linux kernel only, e.g. when using a different configuration, or after updating the working tree from the repository. The Makefile in the kernel directory //kernel/// provides the following targets: ^ Target ^ Description ^ Build results in ^ | xconfig | launches the graphical kernel configuration tool. \\ Attention: the new configuration must be saved afterwards using target //saveconfig//, because it would be deleted during a rebuild of the kernel | //build/.config// | | saveconfig | copies the previously created kernel configuration //make xconfig// to directory local-2.6.xx | //local-2.6-xx/// | | all (default) | builds kernel, modules and drivers | //build/// | | install | builds kernel, modules and drivers and copies resulting binaries to directory //$TOPDIR/install/// | //$TOPDIR/install/{lib/modules/2.6.xx/,tftpboot/}// | ==== Compiling the kernel with your own changes ==== To compile a kernel with own changes, you need to extract the kernel sources with ''make unpack''. After extracting you have to apply the patches for the TQMa28 with ''make patch''. The kernelsourcetree is now in the directory ''kernel/linux''. You can now do your own changes to the Linux kernel (e.g. apply own patches). Before compiling the kernel you have to copy the config file from ''kernel/local-2.6.xx/config-tqma28'' to ''arch/arm/configs'': user@ubuntu:~/src/TQMa28/kernel/linux$ cp local-2.6.35/config-tqma28 linux/arch/arm/configs/tqma28_defconfig To compile the kernel use the normal ''make'' procedure. user@ubuntu:~/src/TQMa28/kernel/linux$ make tqma28_defconfig user@ubuntu:~/src/TQMa28/kernel/linux$ make uImage