NOTE: If you are installing a custom rootfs, you may have to increase the size of the space in flash to hold the new rootfs image. You do this by editing the '''linux-<version>/arch/arm/mach-s3c2410/mach-tct_hammer.c''' file. Find the '''.size''' string and change the value to be a little larger than your rootfs image is. The image size is in hex, so you will have to do a conversion to get the right value.

NOTE: If you are installing a custom rootfs, you may have to increase the size of the space in flash to hold the new rootfs image. You do this by editing the '''linux-<version>/arch/arm/mach-s3c2410/mach-tct_hammer.c''' file. Find the '''.size''' string and change the value to be a little larger than your rootfs image is. The image size is in hex, so you will have to do a conversion to get the right value.

Some common values for '''.size''' are:

Some common values for '''.size''' are:

−

2 MB = 0x1F4000

+

2 MB = 0x340000

−

3 MB = 0x5DC000

+

3 MB =

−

4 MB = 0x3E8000

+

4 MB =

−

5 MB = 0x9C4000

+

5 MB =

−

6 MB = 0x5DC000

+

6 MB =

−

8 MB = 0x7D0000

+

8 MB =

−

You may have to increase the size of your '''initramfs/initrd''' to accomodate your ramdisk image if the '''uncompressed''' size is larger than about 12 MB. There will be both compressed and uncompressed rootfs images in the buildroot/binaries/<project> directory. To do this, you have to set the size of the '''initramfs/initrd''' in the kernel. Find Block Devices in the kernel configuration and set the size to be just a little larger than your '''uncompressed''' initramfs/initrd. Only add a multiple of 1024 bytes.

+

You may have to increase the size of your '''initramfs/initrd''' to accommodate your ramdisk image if the '''uncompressed''' size is larger than about 12 MB. There will be both compressed and uncompressed rootfs images in the buildroot/binaries/<project> directory. To do this, you have to set the size of the '''initramfs/initrd''' in the kernel. Find Block Devices in the kernel configuration and set the size to be just a little larger than your '''uncompressed''' initramfs/initrd. Only add a multiple of 1024 bytes.

If you don't want to type export ARCH=arm and CROSS_COMPILE=arm-linux-uclibc- every time you make a fresh zImage you could edit the kernel top-level Makefile. Goto ../../buildroot/build_arm/linux-2.6.29.x/Makefile, somewhere on line 193 and 194 you will see:

+

ARCH ?= $(SUBARCH)

+

CROSS_COMPILE ?= arm-linux-

+

Change it to:

+

ARCH := arm

+

CROSS_COMPILE := arm-linux-uclibc-

+

[[Category:TCT-Hammer]]

+

[[Category:TinCanTools]]

+

+

== Next step ==

+

+

http://elinux.org/Hammer_How_to_Reflash_Apex_and_kernel

Latest revision as of 13:32, 11 April 2011

Here is how to build a custom kernel:
NOTE: Kernel 2.6.29 seemed a little easier to build then 2.6.22 did, Check towards bottom for instructions.
NOTE: If you are installing a custom rootfs, you may have to increase the size of the space in flash to hold the new rootfs image. You do this by editing the linux-<version>/arch/arm/mach-s3c2410/mach-tct_hammer.c file. Find the .size string and change the value to be a little larger than your rootfs image is. The image size is in hex, so you will have to do a conversion to get the right value.

Some common values for .size are:

2 MB = 0x340000
3 MB =
4 MB =
5 MB =
6 MB =
8 MB =

You may have to increase the size of your initramfs/initrd to accommodate your ramdisk image if the uncompressed size is larger than about 12 MB. There will be both compressed and uncompressed rootfs images in the buildroot/binaries/<project> directory. To do this, you have to set the size of the initramfs/initrd in the kernel. Find Block Devices in the kernel configuration and set the size to be just a little larger than your uncompressed initramfs/initrd. Only add a multiple of 1024 bytes.

If you don't want to type export ARCH=arm and CROSS_COMPILE=arm-linux-uclibc- every time you make a fresh zImage you could edit the kernel top-level Makefile. Goto ../../buildroot/build_arm/linux-2.6.29.x/Makefile, somewhere on line 193 and 194 you will see: