TS-72XX 2.4 Kernel Compile Guide: Difference between revisions
From embeddedTS Manuals
No edit summary |
(Updates to clean up and make sane) |
||
Line 35: | Line 35: | ||
Next the config file needs to be set up. Run "make menuconfig" | Next the config file needs to be set up. Run "make menuconfig" | ||
*Load the TS- | *Load the TS-7200 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 | *Exit menuconfig and be sure to say "Yes" to save any changes | ||
<source lang=bash> | <source lang=bash> | ||
Line 48: | Line 46: | ||
The kernel will be present at "arch/arm/boot/Image" or "arch/arm/boot/zImage" for the compressed version. | The kernel will be present at "arch/arm/boot/Image" or "arch/arm/boot/zImage" for the compressed version. | ||
{{Note|Large kernels may not fit in the kernel partition of the boot device. Check the size of the newly created kernel and ensure it will fit before writing to disk.}} | |||
The modules can then be installed to a local directory and packed in to an archive to unpack on the SBC: | |||
<source lang=bash> | <source lang=bash> | ||
make modules | make modules | ||
INSTALL_MOD_PATH="`pwd`/newmodules" make modules_install | |||
INSTALL_MOD_PATH= | tar czvf modules_2.4.26-ts11.tar.gz -C newmodules/ . | ||
tar czvf modules_2.4.26-ts11.tar.gz -C newmodules/ | |||
</source> | </source> | ||
Copy the modules tarball archive to a USB drive or other accessible media (FTP, NFS, etc.), then unpack the archive to the root folder of the device. See the [[Linux for ARM on TS-72XX User's Guide#eCos.2FRedBoot|redboot instructions]] for loading a kernel permanently on devices that use RedBoot. | |||
{{Note|Once installed to the target filesystem, "depmod" should be invoked manually to update the module loading and dependency list.}} |
Revision as of 14:44, 14 October 2020
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-7200 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 any changes
make dep
make Image
make zImage
The kernel will be present at "arch/arm/boot/Image" or "arch/arm/boot/zImage" for the compressed version.
Note: | Large kernels may not fit in the kernel partition of the boot device. Check the size of the newly created kernel and ensure it will fit before writing to disk. |
The modules can then be installed to a local directory and packed in to an archive to unpack on the SBC:
make modules
INSTALL_MOD_PATH="`pwd`/newmodules" make modules_install
tar czvf modules_2.4.26-ts11.tar.gz -C newmodules/ .
Copy the modules tarball archive to a USB drive or other accessible media (FTP, NFS, etc.), then unpack the archive to the root folder of the device. See the redboot instructions for loading a kernel permanently on devices that use RedBoot.
Note: | Once installed to the target filesystem, "depmod" should be invoked manually to update the module loading and dependency list. |