diff options
Diffstat (limited to 'openembedded/classes/kernel.bbclass')
-rw-r--r-- | openembedded/classes/kernel.bbclass | 23 |
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 | ||
6 | inherit kernel-arch | 6 | inherit kernel-arch |
7 | 7 | ||
8 | PACKAGES_DYNAMIC += "kernel-module-*" | ||
9 | PACKAGES_DYNAMIC += "kernel-image-*" | ||
10 | |||
8 | export OS = "${TARGET_OS}" | 11 | export OS = "${TARGET_OS}" |
9 | export CROSS_COMPILE = "${TARGET_PREFIX}" | 12 | export CROSS_COMPILE = "${TARGET_PREFIX}" |
10 | KERNEL_IMAGETYPE = "zImage" | 13 | KERNEL_IMAGETYPE = "zImage" |
@@ -21,8 +24,16 @@ KERNEL_RELEASE ?= "${PV}${KERNEL_LOCALVERSION}" | |||
21 | KERNEL_CCSUFFIX ?= "" | 24 | KERNEL_CCSUFFIX ?= "" |
22 | KERNEL_LDSUFFIX ?= "" | 25 | KERNEL_LDSUFFIX ?= "" |
23 | 26 | ||
24 | KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX}" | 27 | # Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture |
25 | KERNEL_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}" | ||
30 | TARGET_CC_KERNEL_ARCH ?= "" | ||
31 | HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}" | ||
32 | TARGET_LD_KERNEL_ARCH ?= "" | ||
33 | HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" | ||
34 | |||
35 | KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}" | ||
36 | KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" | ||
26 | 37 | ||
27 | KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" | 38 | KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" |
28 | KERNEL_IMAGEDEST = "boot" | 39 | KERNEL_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} |