Difference between revisions of "Hammer How to build Kernel"

From eLinux.org
Jump to: navigation, search
Line 5: Line 5:
 
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 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.

Revision as of 15:30, 21 January 2008

Here is how to build a custom kernel:

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 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.

Do:

tar xzf linux-2.6.22.tar.gz
gunzip -c Hammer-linux-2.6.22-09122007.diff.gz | patch -p0
cd linux-2.6.22
Edit linux-<version>/arch/arm/mach-s3c2410/mach-tct_hammer.c to change .size if needed.
cp hammer-config .config
make oldconfig
make zImage

The kernel can be found in arch/arm/boot/zImage