TS-72XX 2.4 Kernel Compile Guide: Difference between revisions

From embeddedTS Manuals
(Created page with "{{Warning|BACKUP YOUR DATA FIRST}} ''' Prerequisites ''' RHEL/Fedora/CentOS: <source lang=bash> yum install ncurses-devel ncurses yum groupinstall "Development Tools" "Developm...")
 
No edit summary
Line 34: Line 34:
   CROSS_COMPILE = insert/your/directory/structure/here/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-
   CROSS_COMPILE = insert/your/directory/structure/here/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-


Then issue the following commands.
Next the config file needs to be set up. Run "make menuconfig"
*Load the TS-7260 config file by typing "L" three times, "ENTER", and specify "arch/arm/def-configs/ts7200".  When finished, save and exit back to the menuconfig
*Exit menuconfig and be sure to say "Yes" to save your changes
 
{{Note|Large kernels may not fit on the kernel partition of the SD card.  Check the size of the newly created kernel.}}


<source lang=bash>
<source lang=bash>
make ts7200_config
make dep
make oldconfig
make Image
make menuconfig
</source>
</source>


When the menu comes up you can add any features available to customize your kernel.  Whenever possible it is suggested to build drivers as modules
Optionally you can compile and archive the modules to extract on the flash later:
 
{{Note|Large kernels may not fit on the kernel partition of the SD card.  Check the size of the newly created kernel.}}
 
<source lang=bash>
<source lang=bash>
make && make modules
make modules_install
mkdir newmodules
mkdir newmodules
INSTALL_MOD_PATH=./newmodules make modules_install
INSTALL_MOD_PATH=./newmodules make modules_install
tar czvf modules_2.4.26-ts11.tar.gz -C newmodules/
</source>
</source>


Copy the newmodules directory to a thumb drive or other accessible media (ftp or NFS will work also), then copy newmodules/lib/modules/2.4.26-ts11/* to your board.  See the redboot instructions for loading a kernel permanently.  See the [[#Backup / Restore]] section for details on writing this to disk.
{{Note|If you receive the error "Kernel version 2.4.26-ts11 requires old depmod" the modules can still be installed to the board, but "depmod" should be invoked manually after the modules are installed.}}
 
Copy the newmodules directory to a thumb drive or other accessible media (ftp or NFS will work also), then copy newmodules/lib/modules/2.4.26-ts11/* to your board.  See the [[Linux for ARM on TS-72XX User's Guide#eCos.2FRedBoot redboot instructions]] for loading a kernel permanently.

Revision as of 10:02, 3 October 2013

WARNING: BACKUP YOUR DATA FIRST

Prerequisites

RHEL/Fedora/CentOS:

yum install ncurses-devel ncurses
yum groupinstall "Development Tools" "Development Libraries"
Ubuntu/Debian:
apt-get install build-essential libncurses5-dev libncursesw5-dev

For other distributions, please refer to their documentation to find equivalent tools.

Set up the Sources and Toolchain

wget ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7200-linux/cross-toolchains/crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar.bz2

bunzip2 crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar.bz2

tar -xvf crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar

wget ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7200-linux/sources/tskernel-2.4.26-ts11-feb232011.tar.gz

tar -xvzf tskernel-2.4.26-ts11-feb232011.tar.gz

cd linux24

Open the Makefile and edit CROSS_COMPILE to say:

 CROSS_COMPILE = insert/your/directory/structure/here/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-

Next the config file needs to be set up. Run "make menuconfig"

  • Load the TS-7260 config file by typing "L" three times, "ENTER", and specify "arch/arm/def-configs/ts7200". When finished, save and exit back to the menuconfig
  • Exit menuconfig and be sure to say "Yes" to save your changes
Note: Large kernels may not fit on the kernel partition of the SD card. Check the size of the newly created kernel.
make dep
make Image

Optionally you can compile and archive the modules to extract on the flash later:

mkdir newmodules
INSTALL_MOD_PATH=./newmodules make modules_install
tar czvf modules_2.4.26-ts11.tar.gz -C newmodules/
Note: If you receive the error "Kernel version 2.4.26-ts11 requires old depmod" the modules can still be installed to the board, but "depmod" should be invoked manually after the modules are installed.

Copy the newmodules directory to a thumb drive or other accessible media (ftp or NFS will work also), then copy newmodules/lib/modules/2.4.26-ts11/* to your board. See the Linux for ARM on TS-72XX User's Guide#eCos.2FRedBoot redboot instructions for loading a kernel permanently.