2011年5月25日 星期三

Build linux kernel (android-2.6.35)

1) Script used to build android-2.6.35

#!/bin/bash
# build kernel image
mkdir -p ./logs

#"mkimage" is located in your u-boot/tools/ directory.
export PATH=/opt/L27.12.1-P2/u-boot/tools:$PATH

#(required for rebuild only)
make ARCH=arm distclean
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- CFLAGS="-march=armv7-a+sec" panda_defconfig
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage 2>&1 |tee ./logs/kernel_make.out

# build kernel modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules 2>&1 |tee ./logs/kernel_modules.out


2) Error

  CC      security/smc/omap4/scxlnx_device_mshield.o
In file included from security/smc/omap4/scxlnx_util.h:29:0,
                 from security/smc/omap4/scxlnx_device_mshield.c:38:
include/linux/pagemap.h: In function 'fault_in_pages_readable':
include/linux/pagemap.h:415:16: warning: variable 'c' set but not used [-Wunused-but-set-variable]
  AS      security/smc/omap4/bridge_pub2sec.o
security/smc/omap4/bridge_pub2sec.S: Assembler messages:
security/smc/omap4/bridge_pub2sec.S:95: Error: selected processor does not support ARM mode `smc #0'
make[3]: *** [security/smc/omap4/bridge_pub2sec.o] Error 1
make[2]: *** [security/smc/omap4] Error 2
make[1]: *** [security/smc] Error 2
make: *** [security] Error 2
mingfeng@mingfeng-desktop:/opt/L27.12.1-P2/kernel/android-2.6.35$


3) Patch

--- security/smc/omap4/bridge_pub2sec.S.orig    2011-05-25 20:24:21.649675315 +0800
+++ security/smc/omap4/bridge_pub2sec.S 2011-05-25 20:26:39.429877396 +0800
@@ -74,6 +74,7 @@
        b       label_smc

 label_smc:
+       .arch_extension sec
        INVALIDATE_BTB
        dsb
        dmb



4) Audio fixes for kernel
cd ${YOUR_PATH}/L27.12.1-P2/kernel/android-2.6.35
git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/01/13001/2 && git cherry-pick FETCH_HEAD
git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/02/13002/2 && git cherry-pick FETCH_HEAD


5) EHCI fixes for kernel
cd ${YOUR_PATH}/L27.12.1-P2/kernel/android-2.6.35
git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/17/13617/1 && git cherry-pick FETCH_HEAD


6) WLAN patches
Apply the following patches to enable wlan
cd ${YOUR_PATH}/L27.12.1-P2/kernel/android-2.6.35
git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/02/12002/2 && git cherry-pick FETCH_HEAD
git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/03/12003/1 && git cherry-pick FETCH_HEAD



7) patch for panda_defconfig

diff --git a/arch/arm/configs/panda_defconfig b/arch/arm/configs/panda_defconfig
index 2adf851..9d574e1 100644
--- a/arch/arm/configs/panda_defconfig
+++ b/arch/arm/configs/panda_defconfig
@@ -290,7 +290,6 @@ CONFIG_OMAP_DM_TIMER=y
 # CONFIG_OMAP_PM_NONE is not set
 # CONFIG_OMAP_PM_NOOP is not set
 CONFIG_OMAP_PM=y
-CONFIG_OMAP_HDMI_AUDIO_WA=y

 #
 # OMAP Board Type
@@ -808,6 +807,7 @@ CONFIG_KERNEL_DEBUGGER_CORE=y
 # CONFIG_SENSORS_TSL2550 is not set
 # CONFIG_SENSORS_BH1780 is not set
 # CONFIG_SENSORS_AK8975 is not set
+# CONFIG_TWL6040_VIB is not set
 # CONFIG_CDC_TCXO is not set
 # CONFIG_DS1682 is not set
 # CONFIG_TI_DAC7512 is not set
@@ -830,7 +830,7 @@ CONFIG_UID_STAT=y
 #
 # Texas Instruments shared transport line discipline
 #
-CONFIG_TI_ST=m
+CONFIG_TI_ST=y
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set

@@ -888,7 +888,8 @@ CONFIG_KS8851=y
 # CONFIG_USB_KAWETH is not set
 # CONFIG_USB_PEGASUS is not set
 # CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_SMSC95XX=y
 # CONFIG_USB_HSO is not set
 # CONFIG_USB_IPHETH is not set
 # CONFIG_WAN is not set
@@ -1275,7 +1276,7 @@ CONFIG_SSB_POSSIBLE=y
 #
 # CONFIG_SSB is not set
 CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CORE=y
 # CONFIG_MFD_88PM860X is not set
 # CONFIG_MFD_SM501 is not set
 # CONFIG_MFD_ASIC3 is not set
@@ -1291,7 +1292,7 @@ CONFIG_TWL4030_CORE=y
 CONFIG_TWL6030_PWM=y
 CONFIG_TWL6030_POWEROFF=y
 CONFIG_TWL6030_GPADC=y
-# CONFIG_TWL6040_CODEC is not set
+CONFIG_TWL6040_CODEC=y
 # CONFIG_MFD_TMIO is not set
 # CONFIG_MFD_T7L66XB is not set
 # CONFIG_MFD_TC6387XB is not set
@@ -1368,7 +1369,6 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
 CONFIG_VIDEO_IR_I2C=y
 # CONFIG_VIDEO_VIVI is not set
 CONFIG_VIDEO_OMAP2_VOUT=y
-CONFIG_VIDEO_OMAP_GFX=m
 # CONFIG_VIDEO_SAA5246A is not set
 # CONFIG_VIDEO_SAA5249 is not set
 # CONFIG_SOC_CAMERA is not set
@@ -1553,7 +1553,49 @@ CONFIG_LOGO=y
 CONFIG_LOGO_LINUX_MONO=y
 CONFIG_LOGO_LINUX_VGA16=y
 CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_HRTIMER is not set
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_ABE_DSP=y
+CONFIG_SND_OMAP_SOC_MCBSP=y
+CONFIG_SND_OMAP_SOC_MCPDM=y
+CONFIG_SND_OMAP_SOC_ABE=y
+CONFIG_SND_OMAP_SOC_VXREC=y
+CONFIG_SND_OMAP_SOC_OMAP4_PANDA=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TWL6040=y
+# CONFIG_SOUND_PRIME is not set
 CONFIG_HID_SUPPORT=y
 CONFIG_HID=y
 # CONFIG_HIDRAW is not set
@@ -1633,7 +1675,8 @@ CONFIG_USB_OTG=y
 # USB Host Controller Drivers
 #
 # CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_EHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
 # CONFIG_USB_OXU210HP_HCD is not set
 # CONFIG_USB_ISP116X_HCD is not set
 # CONFIG_USB_ISP1760_HCD is not set

沒有留言:

張貼留言