Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The Linux kernel

1,545 bytes removed, 13:46, 12 March 2018
Linux kernels
 
 
 
=What is Linux?=
[[Image:tux.png|left]][http://www.kernel.org The Linux Kernel Archives]Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance.
In order to build the Linux Kernel for IGEP PROCESSOR BOARDS it's recommended to cross-compile the kernel, that's, build the kernel in your HOST machine for a target architecture.
To [[Ubuntu 16.04 LTS Toolchain|setup the cross-compiling ]] there are two fundamental variables that the kernel uses to select the target architecture. Normally these values are guessed based on your build environment, but of course that environment here does not match our target embedded system, so we'll need to override them. The variables in question are ARCH and CROSS_COMPILE.
The ARCH variable is the architecture you're targetting as the kernel knows it. For IGEP PROCESSOR BOARDS you'll set to "arm" architecture.
Hopefully the CROSS_COMPILE variable is pretty self-explanatory. Set this to the prefix of your toolchain (including the trailing dash "-"). So if your toolchain is invoked as say arm-linux-gnueabignueabihf-gcc, just chop off that trailing gcc and that's what you use: arm-linux-gnugnueabihf-.
There is an additional variable, INSTALL_MOD_PATH, which defines where the /lib directory will be created, and all the modules stored. While you don't have to transfer the kernel sources to your target device, if you build any modules, you'll want this directory.
make ARCH=arm CROSS_COMPILE=[cross compiler] [defconfig]
make ARCH=arm CROSS_COMPILE=[cross compiler] zImage modules
Newest kernels can require build the dtbs too as:
The result will be a make ARCH=arm CROSS_COMPILE=[cross compiler] zImage file in arch/arm/boot directory. You can install the kernel modules to your target rootfsdtbs
make ARCH=The result will be a zImage file in <code>${KERNEL_SOURCES}/arch/arm CROSS_COMPILE=[cross compiler] modules_install INSTALL_MOD_PATH=[path to your target rootfs]/boot</code>
=Stable kernels=And dabs will be in <span style="color: #ff0000;"code>'''NOTE: These are the kernels considered stable and recommended for normal use. CHOOSE YOUR KERNEL BASED ON THE SUPPORTED PLATFORM'''${KERNEL_SOURCES}/arch/arm/boot/dts</spancode>
==Linux 2.6.37.y series==The 2.6.37.y At last you can install the kernel series are supported by IGEP PROCESSOR BOARDS based on:modules to your target rootfs using this command
<gallery heights make ARCH="100px">File:omap3.png</gallery> See the [[Linux Kernel 2.6.37.y]] article ==Linux 4.1.y-am335x series==The 4.1.y kernel series are supported by IGEP PROCESSOR BOARDS based on: <gallery heights="100px">File:am335x.png</gallery> See the [[Linux Kernel 4.1.y]] article ==Linux 3.8.y-omap5 series==The 3.8.y kernel series are supported by IGEP PROCESSOR BOARDS based on: <gallery heightsarm CROSS_COMPILE="100px">File:omap5.png</gallery> See the [[Linux Kernel 3.8.ycross compiler]] article modules_install INSTALL_MOD_PATH==Linux 3.14.28.y-iMX6 series==The 3.14.28.y kernel series are supported by IGEP PROCESSOR BOARDS based on: <gallery heights="100px">File:iMX6.png</gallery> See the&nbsp;[[Linux Kernel 3.14.28.y]]&nbsp;article =Unstable kernels=<span style="color: #ff0000;">'''NOTE: These kernel series are where the development work takes place and you should use this if you're after path to work with the latest cutting edge developments. It is possible trunk can suffer temporary periods of instability while new features are developed and if this is undesirable we recommend using one of the release branches. USE AT YOUR OWN RISK'''</span> ==Linux mainline series==The mainline series are supported by IGEP Platforms based on: <gallery heights="100px">File:omap3.pngFile:am335x.pngFile:omap5.png</gallery> See the [[Linux Kernel Mainline]your target rootfs] article =End Of Life kernels (EOL)=An "End of Life" kernel means that its support will stop and all the users are urged to upgrade to a new version. ==Linux 3.8.y-am335x series==<span style="color: #ff0000;">'''NOTE: These kernel series are end-of-life, dead, gone, buried ..., please move to the v4.1 kernel series at this time.'''</span> The 3.8.y kernel series are supported by IGEP PROCESSOR BOARDS based on: <gallery heights="100px">File:am335x.png</gallery> ==Linux 2.6.35.y series==<span style="color: #ff0000;">'''NOTE: These kernel series are end-of-life, dead, gone, buried ..., please move to the v2.6.37 kernel series at this time.'''</span> The 2.6.35.y kernel series are supported by IGEP PROCESSOR BOARDS based onExample:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- omap2plus_defconfig<gallery heightsbr>make ARCH=arm CROSS_COMPILE="100px"arm-linux-gnueabihf- zImage modules dtbs<br>File:omap3.png<make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=/media/user/gallery>rootfs
See the ==Linux kernels=====IGEP Boards based on Texas Instruments  Processors===* [[Linux Kernel 2.6.3537.y]] (OMAP35xx and DM3730) processor board based.* [[Linux Kernel 4.9.y]] (OMAP35xx, DM3730, AM335x) processor board based.* [[Linux Kernel 3.8.y]] article (OMAP5432) processor board based.
=See also==IGEP Boards based on NXP-Freescale Processors===* [[Linux Kernel 3.14.28.y]] (iMX6) processor board based.* [[How to setup a cross compilerLinux Kernel 4.9.y]](iMX6) processor board based.
{{Message/Forum}}
[[Category:Linux Kernel]]