summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2010-05-18 14:46:33 +0100
committerJoshua Lock <josh@linux.intel.com>2010-05-19 12:20:08 +0100
commit5e07bc91281969d54896dd0a13e3d6134e432027 (patch)
tree1ec4ee7f783cf1351bcae5cfb791d92cab4ea363 /meta/classes
parent53d98d76fd05e3f9204f27788eaadf34a7fb1b7f (diff)
downloadpoky-5e07bc91281969d54896dd0a13e3d6134e432027.tar.gz
kernel.bbclass: fix installing of kernels 2.6.34 and above
Changes merged from upstream to cope with changes to directory structures in recent kernels when building for x86 Signed-off-by: Joshua Lock <josh@linux.intel.com>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/kernel.bbclass39
1 files changed, 22 insertions, 17 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 6f8ee31ffc..6963184881 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -107,45 +107,50 @@ kernel_do_install() {
107 fi 107 fi
108 108
109 kerneldir=${D}/kernel/ 109 kerneldir=${D}/kernel/
110 ASMDIR=`readlink include/asm`
111 110
112 mkdir -p $kerneldir/include/$ASMDIR 111 if [ -e include/asm ] ; then
113 cp -fR include/$ASMDIR/* $kerneldir/include/$ASMDIR/ 112 # This link is generated only in kernel before 2.6.33-rc1, don't stage it for newer kernels
113 ASMDIR=`readlink include/asm`
114
115 mkdir -p $kerneldir/include/$ASMDIR
116 cp -fR include/$ASMDIR/* $kerneldir/include/$ASMDIR/
117 fi
118
114 # Kernel 2.6.27 moved headers from includes/asm-${ARCH} to arch/${ARCH}/include/asm 119 # Kernel 2.6.27 moved headers from includes/asm-${ARCH} to arch/${ARCH}/include/asm
115 if [ -e arch/${ARCH}/include/asm/ ] ; then 120 if [ -e arch/${ARCH}/include/asm/ ] ; then
116 cp -fR arch/${ARCH}/include/asm/* $kerneldir/include/$ASMDIR/ 121 if [ -e include/asm ] ; then
122 cp -fR arch/${ARCH}/include/asm/* $kerneldir/include/$ASMDIR/
123 fi
117 install -d $kerneldir/arch/${ARCH}/include 124 install -d $kerneldir/arch/${ARCH}/include
118 cp -fR arch/${ARCH}/* $kerneldir/arch/${ARCH}/ 125 cp -fR arch/${ARCH}/* $kerneldir/arch/${ARCH}/
119 126
120 # Check for arch/x86 on i386 127 # Check for arch/x86 on i386
121 elif [ -d arch/x86/include/asm/ ]; then 128 elif [ -d arch/x86/include/asm/ ]; then
129 mkdir -p $kerneldir/include/asm-x86/
122 cp -fR arch/x86/include/asm/* $kerneldir/include/asm-x86/ 130 cp -fR arch/x86/include/asm/* $kerneldir/include/asm-x86/
123 install -d $kerneldir/arch/x86/include 131 install -d $kerneldir/arch/x86/include
124 cp -fR arch/x86/* $kerneldir/arch/x86/ 132 cp -fR arch/x86/* $kerneldir/arch/x86/
125 fi 133 fi
126 134
127 rm -f $kerneldir/include/asm 135 if [ -e include/asm ] ; then
128 ln -sf $ASMDIR $kerneldir/include/asm 136 rm -f $kerneldir/include/asm
137 ln -sf $ASMDIR $kerneldir/include/asm
138 fi
129 139
130 mkdir -p $kerneldir/include/asm-generic 140 mkdir -p $kerneldir/include/asm-generic
131 cp -fR include/asm-generic/* $kerneldir/include/asm-generic/ 141 cp -fR include/asm-generic/* $kerneldir/include/asm-generic/
132 142
133 mkdir -p $kerneldir/include/linux 143 for entry in drivers/crypto drivers/media include/generated include/linux include/net include/pcmcia include/media include/acpi include/sound include/video include/scsi include/trace include/mtd include/rdma include/drm include/xen; do
134 cp -fR include/linux/* $kerneldir/include/linux/
135
136 mkdir -p $kerneldir/include/net
137 cp -fR include/net/* $kerneldir/include/net/
138
139 mkdir -p $kerneldir/include/pcmcia
140 cp -fR include/pcmcia/* $kerneldir/include/pcmcia/
141
142 for entry in drivers/crypto drivers/media include/media include/acpi include/sound include/video include/scsi include/trace; do
143 if [ -d $entry ]; then 144 if [ -d $entry ]; then
144 mkdir -p $kerneldir/$entry 145 mkdir -p $kerneldir/$entry
145 cp -fR $entry/* $kerneldir/$entry/ 146 cp -fR $entry/* $kerneldir/$entry/
146 fi 147 fi
147 done 148 done
148 149
150 if [ -f include/Kbuild ]; then
151 cp -fR include/Kbuild $kerneldir/include
152 fi
153
149 if [ -d drivers/sound ]; then 154 if [ -d drivers/sound ]; then
150 # 2.4 alsa needs some headers from this directory 155 # 2.4 alsa needs some headers from this directory
151 mkdir -p $kerneldir/include/drivers/sound 156 mkdir -p $kerneldir/include/drivers/sound
@@ -309,7 +314,7 @@ python populate_packages_prepend () {
309 314
310 dvar = bb.data.getVar('PKGD', d, 1) 315 dvar = bb.data.getVar('PKGD', d, 1)
311 if not dvar: 316 if not dvar:
312 bb.error("D not defined") 317 bb.error("PKGD not defined")
313 return 318 return
314 319
315 kernelver = bb.data.getVar('KERNEL_VERSION', d, 1) 320 kernelver = bb.data.getVar('KERNEL_VERSION', d, 1)