summaryrefslogtreecommitdiffstats
path: root/openembedded/classes/kernel.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'openembedded/classes/kernel.bbclass')
-rw-r--r--openembedded/classes/kernel.bbclass23
1 files changed, 20 insertions, 3 deletions
diff --git a/openembedded/classes/kernel.bbclass b/openembedded/classes/kernel.bbclass
index 8416b8acb3..bbe047a2f1 100644
--- a/openembedded/classes/kernel.bbclass
+++ b/openembedded/classes/kernel.bbclass
@@ -5,6 +5,9 @@ DEPENDS += "virtual/${TARGET_PREFIX}depmod-${@get_kernelmajorversion('${PV}')} v
5 5
6inherit kernel-arch 6inherit kernel-arch
7 7
8PACKAGES_DYNAMIC += "kernel-module-*"
9PACKAGES_DYNAMIC += "kernel-image-*"
10
8export OS = "${TARGET_OS}" 11export OS = "${TARGET_OS}"
9export CROSS_COMPILE = "${TARGET_PREFIX}" 12export CROSS_COMPILE = "${TARGET_PREFIX}"
10KERNEL_IMAGETYPE = "zImage" 13KERNEL_IMAGETYPE = "zImage"
@@ -21,8 +24,16 @@ KERNEL_RELEASE ?= "${PV}${KERNEL_LOCALVERSION}"
21KERNEL_CCSUFFIX ?= "" 24KERNEL_CCSUFFIX ?= ""
22KERNEL_LDSUFFIX ?= "" 25KERNEL_LDSUFFIX ?= ""
23 26
24KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX}" 27# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
25KERNEL_LD = "${LD}${KERNEL_LDSUFFIX}" 28# specific options necessary for building the kernel and modules.
29#FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= "${TARGET_CC_ARCH}"
30TARGET_CC_KERNEL_ARCH ?= ""
31HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
32TARGET_LD_KERNEL_ARCH ?= ""
33HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
34
35KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
36KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
26 37
27KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" 38KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
28KERNEL_IMAGEDEST = "boot" 39KERNEL_IMAGEDEST = "boot"
@@ -83,6 +94,7 @@ kernel_do_stage() {
83 94
84 mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR 95 mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR
85 cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/ 96 cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
97 rm -f $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
86 ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm 98 ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
87 99
88 mkdir -p ${STAGING_KERNEL_DIR}/include/asm-generic 100 mkdir -p ${STAGING_KERNEL_DIR}/include/asm-generic
@@ -97,6 +109,11 @@ kernel_do_stage() {
97 mkdir -p ${STAGING_KERNEL_DIR}/include/pcmcia 109 mkdir -p ${STAGING_KERNEL_DIR}/include/pcmcia
98 cp -fR include/pcmcia/* ${STAGING_KERNEL_DIR}/include/pcmcia/ 110 cp -fR include/pcmcia/* ${STAGING_KERNEL_DIR}/include/pcmcia/
99 111
112 if [ -d include/sound ]; then
113 mkdir -p ${STAGING_KERNEL_DIR}/include/sound
114 cp -fR include/sound/* ${STAGING_KERNEL_DIR}/include/sound/
115 fi
116
100 if [ -d drivers/sound ]; then 117 if [ -d drivers/sound ]; then
101 # 2.4 alsa needs some headers from this directory 118 # 2.4 alsa needs some headers from this directory
102 mkdir -p ${STAGING_KERNEL_DIR}/include/drivers/sound 119 mkdir -p ${STAGING_KERNEL_DIR}/include/drivers/sound
@@ -133,7 +150,7 @@ kernel_do_install() {
133 else 150 else
134 oenote "no modules to install" 151 oenote "no modules to install"
135 fi 152 fi
136 153
137 install -d ${D}/${KERNEL_IMAGEDEST} 154 install -d ${D}/${KERNEL_IMAGEDEST}
138 install -d ${D}/boot 155 install -d ${D}/boot
139 install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} 156 install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE}