diff options
| author | Koen Kooi <koen@dominion.thruhere.net> | 2011-12-11 09:46:28 +0100 |
|---|---|---|
| committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-12-11 09:46:28 +0100 |
| commit | c486dfa4013b37972c1a1e4df8616eb6f49de498 (patch) | |
| tree | 95a0da2fa186e8a006362208cf81139c175a3133 /meta-oe/classes | |
| parent | cf63ba3e4be501caffffb941e2f51e51419b4196 (diff) | |
| download | meta-openembedded-c486dfa4013b37972c1a1e4df8616eb6f49de498.tar.gz | |
kernel bbclass: sync with OE-core
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/classes')
| -rw-r--r-- | meta-oe/classes/kernel.bbclass | 105 |
1 files changed, 61 insertions, 44 deletions
diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass index f19e7440b7..41f9b2dc27 100644 --- a/meta-oe/classes/kernel.bbclass +++ b/meta-oe/classes/kernel.bbclass | |||
| @@ -11,20 +11,20 @@ INITRAMFS_IMAGE ?= "" | |||
| 11 | INITRAMFS_TASK ?= "" | 11 | INITRAMFS_TASK ?= "" |
| 12 | 12 | ||
| 13 | python __anonymous () { | 13 | python __anonymous () { |
| 14 | kerneltype = bb.data.getVar('KERNEL_IMAGETYPE', d, 1) or '' | 14 | kerneltype = d.getVar('KERNEL_IMAGETYPE', 1) or '' |
| 15 | if kerneltype == 'uImage': | 15 | if kerneltype == 'uImage': |
| 16 | depends = bb.data.getVar("DEPENDS", d, 1) | 16 | depends = d.getVar("DEPENDS", 1) |
| 17 | depends = "%s u-boot-mkimage-native" % depends | 17 | depends = "%s u-boot-mkimage-native" % depends |
| 18 | bb.data.setVar("DEPENDS", depends, d) | 18 | d.setVar("DEPENDS", depends) |
| 19 | 19 | ||
| 20 | image = bb.data.getVar('INITRAMFS_IMAGE', d, True) | 20 | image = d.getVar('INITRAMFS_IMAGE', True) |
| 21 | if image: | 21 | if image: |
| 22 | bb.data.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs', d) | 22 | d.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs') |
| 23 | 23 | ||
| 24 | machine_kernel_pr = bb.data.getVar('MACHINE_KERNEL_PR', d, True) | 24 | machine_kernel_pr = d.getVar('MACHINE_KERNEL_PR', True) |
| 25 | 25 | ||
| 26 | if machine_kernel_pr: | 26 | if machine_kernel_pr: |
| 27 | bb.data.setVar('PR', machine_kernel_pr, d) | 27 | d.setVar('PR', machine_kernel_pr) |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | inherit kernel-arch deploy | 30 | inherit kernel-arch deploy |
| @@ -36,7 +36,7 @@ PACKAGES_DYNAMIC += "kernel-firmware-*" | |||
| 36 | export OS = "${TARGET_OS}" | 36 | export OS = "${TARGET_OS}" |
| 37 | export CROSS_COMPILE = "${TARGET_PREFIX}" | 37 | export CROSS_COMPILE = "${TARGET_PREFIX}" |
| 38 | 38 | ||
| 39 | KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}" | 39 | KERNEL_PRIORITY = "${@d.getVar('PV',1).split('-')[0].split('.')[-1]}" |
| 40 | 40 | ||
| 41 | KERNEL_RELEASE ?= "${KERNEL_VERSION}" | 41 | KERNEL_RELEASE ?= "${KERNEL_VERSION}" |
| 42 | 42 | ||
| @@ -61,7 +61,7 @@ KERNEL_IMAGEDEST = "boot" | |||
| 61 | # | 61 | # |
| 62 | # configuration | 62 | # configuration |
| 63 | # | 63 | # |
| 64 | export CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}" | 64 | export CMDLINE_CONSOLE = "console=${@d.getVar("KERNEL_CONSOLE",1) or "ttyS0"}" |
| 65 | 65 | ||
| 66 | KERNEL_VERSION = "${@get_kernelversion('${B}')}" | 66 | KERNEL_VERSION = "${@get_kernelversion('${B}')}" |
| 67 | 67 | ||
| @@ -80,10 +80,15 @@ EXTRA_OEMAKE = "" | |||
| 80 | 80 | ||
| 81 | KERNEL_ALT_IMAGETYPE ??= "" | 81 | KERNEL_ALT_IMAGETYPE ??= "" |
| 82 | 82 | ||
| 83 | KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', 1))}" | ||
| 84 | |||
| 83 | kernel_do_compile() { | 85 | kernel_do_compile() { |
| 84 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE | 86 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE |
| 85 | oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" | 87 | oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" |
| 86 | oe_runmake ${KERNEL_IMAGETYPE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" | 88 | oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" |
| 89 | if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then | ||
| 90 | gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" | ||
| 91 | fi | ||
| 87 | } | 92 | } |
| 88 | 93 | ||
| 89 | do_compile_kernelmodules() { | 94 | do_compile_kernelmodules() { |
| @@ -103,6 +108,8 @@ kernel_do_install() { | |||
| 103 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE | 108 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE |
| 104 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then | 109 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then |
| 105 | oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install | 110 | oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install |
| 111 | rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.order" | ||
| 112 | rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.builtin" | ||
| 106 | else | 113 | else |
| 107 | bbnote "no modules to install" | 114 | bbnote "no modules to install" |
| 108 | fi | 115 | fi |
| @@ -150,7 +157,7 @@ kernel_do_install() { | |||
| 150 | # | 157 | # |
| 151 | cp -fR * $kerneldir | 158 | cp -fR * $kerneldir |
| 152 | cp .config $kerneldir | 159 | cp .config $kerneldir |
| 153 | if [ ! "${S}" == "${B}" ]; then | 160 | if [ "${S}" != "${B}" ]; then |
| 154 | cp -fR ${S}/* $kerneldir | 161 | cp -fR ${S}/* $kerneldir |
| 155 | fi | 162 | fi |
| 156 | install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} | 163 | install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} |
| @@ -170,6 +177,13 @@ kernel_do_install() { | |||
| 170 | find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; | 177 | find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; |
| 171 | find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \; | 178 | find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \; |
| 172 | 179 | ||
| 180 | # As of Linux kernel version 3.0.1, the clean target removes | ||
| 181 | # arch/powerpc/lib/crtsavres.o which is present in | ||
| 182 | # KBUILD_LDFLAGS_MODULE, making it required to build external modules. | ||
| 183 | if [ ${ARCH} = "powerpc" ]; then | ||
| 184 | cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o | ||
| 185 | fi | ||
| 186 | |||
| 173 | # Remove the following binaries which cause strip errors | 187 | # Remove the following binaries which cause strip errors |
| 174 | # during do_package for cross-compiled platforms | 188 | # during do_package for cross-compiled platforms |
| 175 | bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \ | 189 | bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \ |
| @@ -195,7 +209,7 @@ kernel_do_configure() { | |||
| 195 | if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then | 209 | if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then |
| 196 | cp "${WORKDIR}/defconfig" "${B}/.config" | 210 | cp "${WORKDIR}/defconfig" "${B}/.config" |
| 197 | fi | 211 | fi |
| 198 | yes '' | oe_runmake oldconfig | 212 | yes '' | oe_runmake oldconfig |
| 199 | 213 | ||
| 200 | if [ ! -z "${INITRAMFS_IMAGE}" ]; then | 214 | if [ ! -z "${INITRAMFS_IMAGE}" ]; then |
| 201 | for img in cpio.gz cpio.lzo cpio.lzma cpio.xz; do | 215 | for img in cpio.gz cpio.lzo cpio.lzma cpio.xz; do |
| @@ -297,10 +311,10 @@ module_conf_rfcomm = "alias bt-proto-3 rfcomm" | |||
| 297 | python populate_packages_prepend () { | 311 | python populate_packages_prepend () { |
| 298 | def extract_modinfo(file): | 312 | def extract_modinfo(file): |
| 299 | import tempfile, re | 313 | import tempfile, re |
| 300 | tempfile.tempdir = bb.data.getVar("WORKDIR", d, 1) | 314 | tempfile.tempdir = d.getVar("WORKDIR", 1) |
| 301 | tf = tempfile.mkstemp() | 315 | tf = tempfile.mkstemp() |
| 302 | tmpfile = tf[1] | 316 | tmpfile = tf[1] |
| 303 | cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (bb.data.getVar("PATH", d, 1), bb.data.getVar("HOST_PREFIX", d, 1) or "", file, tmpfile) | 317 | cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("PATH", 1), d.getVar("HOST_PREFIX", 1) or "", file, tmpfile) |
| 304 | os.system(cmd) | 318 | os.system(cmd) |
| 305 | f = open(tmpfile) | 319 | f = open(tmpfile) |
| 306 | l = f.read().split("\000") | 320 | l = f.read().split("\000") |
| @@ -319,18 +333,18 @@ python populate_packages_prepend () { | |||
| 319 | def parse_depmod(): | 333 | def parse_depmod(): |
| 320 | import re | 334 | import re |
| 321 | 335 | ||
| 322 | dvar = bb.data.getVar('PKGD', d, 1) | 336 | dvar = d.getVar('PKGD', 1) |
| 323 | if not dvar: | 337 | if not dvar: |
| 324 | bb.error("PKGD not defined") | 338 | bb.error("PKGD not defined") |
| 325 | return | 339 | return |
| 326 | 340 | ||
| 327 | kernelver = bb.data.getVar('KERNEL_VERSION', d, 1) | 341 | kernelver = d.getVar('KERNEL_VERSION', 1) |
| 328 | kernelver_stripped = kernelver | 342 | kernelver_stripped = kernelver |
| 329 | m = re.match('^(.*-hh.*)[\.\+].*$', kernelver) | 343 | m = re.match('^(.*-hh.*)[\.\+].*$', kernelver) |
| 330 | if m: | 344 | if m: |
| 331 | kernelver_stripped = m.group(1) | 345 | kernelver_stripped = m.group(1) |
| 332 | path = bb.data.getVar("PATH", d, 1) | 346 | path = d.getVar("PATH", 1) |
| 333 | host_prefix = bb.data.getVar("HOST_PREFIX", d, 1) or "" | 347 | host_prefix = d.getVar("HOST_PREFIX", 1) or "" |
| 334 | 348 | ||
| 335 | cmd = "PATH=\"%s\" %sdepmod -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, dvar, dvar, kernelver, kernelver_stripped) | 349 | cmd = "PATH=\"%s\" %sdepmod -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, dvar, dvar, kernelver, kernelver_stripped) |
| 336 | f = os.popen(cmd, 'r') | 350 | f = os.popen(cmd, 'r') |
| @@ -368,9 +382,9 @@ python populate_packages_prepend () { | |||
| 368 | 382 | ||
| 369 | def get_dependencies(file, pattern, format): | 383 | def get_dependencies(file, pattern, format): |
| 370 | # file no longer includes PKGD | 384 | # file no longer includes PKGD |
| 371 | file = file.replace(bb.data.getVar('PKGD', d, 1) or '', '', 1) | 385 | file = file.replace(d.getVar('PKGD', 1) or '', '', 1) |
| 372 | # instead is prefixed with /lib/modules/${KERNEL_VERSION} | 386 | # instead is prefixed with /lib/modules/${KERNEL_VERSION} |
| 373 | file = file.replace("/lib/modules/%s/" % bb.data.getVar('KERNEL_VERSION', d, 1) or '', '', 1) | 387 | file = file.replace("/lib/modules/%s/" % d.getVar('KERNEL_VERSION', 1) or '', '', 1) |
| 374 | 388 | ||
| 375 | if module_deps.has_key(file): | 389 | if module_deps.has_key(file): |
| 376 | import re | 390 | import re |
| @@ -389,84 +403,85 @@ python populate_packages_prepend () { | |||
| 389 | import re | 403 | import re |
| 390 | vals = extract_modinfo(file) | 404 | vals = extract_modinfo(file) |
| 391 | 405 | ||
| 392 | dvar = bb.data.getVar('PKGD', d, 1) | 406 | dvar = d.getVar('PKGD', 1) |
| 393 | 407 | ||
| 394 | # If autoloading is requested, output /etc/modutils/<name> and append | 408 | # If autoloading is requested, output /etc/modutils/<name> and append |
| 395 | # appropriate modprobe commands to the postinst | 409 | # appropriate modprobe commands to the postinst |
| 396 | autoload = bb.data.getVar('module_autoload_%s' % basename, d, 1) | 410 | autoload = d.getVar('module_autoload_%s' % basename, 1) |
| 397 | if autoload: | 411 | if autoload: |
| 398 | name = '%s/etc/modutils/%s' % (dvar, basename) | 412 | name = '%s/etc/modutils/%s' % (dvar, basename) |
| 399 | f = open(name, 'w') | 413 | f = open(name, 'w') |
| 400 | for m in autoload.split(): | 414 | for m in autoload.split(): |
| 401 | f.write('%s\n' % m) | 415 | f.write('%s\n' % m) |
| 402 | f.close() | 416 | f.close() |
| 403 | postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) | 417 | postinst = d.getVar('pkg_postinst_%s' % pkg, 1) |
| 404 | if not postinst: | 418 | if not postinst: |
| 405 | bb.fatal("pkg_postinst_%s not defined" % pkg) | 419 | bb.fatal("pkg_postinst_%s not defined" % pkg) |
| 406 | postinst += bb.data.getVar('autoload_postinst_fragment', d, 1) % autoload | 420 | postinst += d.getVar('autoload_postinst_fragment', 1) % autoload |
| 407 | bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d) | 421 | d.setVar('pkg_postinst_%s' % pkg, postinst) |
| 408 | 422 | ||
| 409 | # Write out any modconf fragment | 423 | # Write out any modconf fragment |
| 410 | modconf = bb.data.getVar('module_conf_%s' % basename, d, 1) | 424 | modconf = d.getVar('module_conf_%s' % basename, 1) |
| 411 | if modconf: | 425 | if modconf: |
| 412 | name = '%s/etc/modprobe.d/%s.conf' % (dvar, basename) | 426 | name = '%s/etc/modprobe.d/%s.conf' % (dvar, basename) |
| 413 | f = open(name, 'w') | 427 | f = open(name, 'w') |
| 414 | f.write("%s\n" % modconf) | 428 | f.write("%s\n" % modconf) |
| 415 | f.close() | 429 | f.close() |
| 416 | 430 | ||
| 417 | files = bb.data.getVar('FILES_%s' % pkg, d, 1) | 431 | files = d.getVar('FILES_%s' % pkg, 1) |
| 418 | files = "%s /etc/modutils/%s /etc/modutils/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename, basename) | 432 | files = "%s /etc/modutils/%s /etc/modutils/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename, basename) |
| 419 | bb.data.setVar('FILES_%s' % pkg, files, d) | 433 | d.setVar('FILES_%s' % pkg, files) |
| 420 | 434 | ||
| 421 | if vals.has_key("description"): | 435 | if vals.has_key("description"): |
| 422 | old_desc = bb.data.getVar('DESCRIPTION_' + pkg, d, 1) or "" | 436 | old_desc = d.getVar('DESCRIPTION_' + pkg, 1) or "" |
| 423 | bb.data.setVar('DESCRIPTION_' + pkg, old_desc + "; " + vals["description"], d) | 437 | d.setVar('DESCRIPTION_' + pkg, old_desc + "; " + vals["description"]) |
| 424 | 438 | ||
| 425 | rdepends_str = bb.data.getVar('RDEPENDS_' + pkg, d, 1) | 439 | rdepends_str = d.getVar('RDEPENDS_' + pkg, 1) |
| 426 | if rdepends_str: | 440 | if rdepends_str: |
| 427 | rdepends = rdepends_str.split() | 441 | rdepends = rdepends_str.split() |
| 428 | else: | 442 | else: |
| 429 | rdepends = [] | 443 | rdepends = [] |
| 430 | rdepends.extend(get_dependencies(file, pattern, format)) | 444 | rdepends.extend(get_dependencies(file, pattern, format)) |
| 431 | bb.data.setVar('RDEPENDS_' + pkg, ' '.join(rdepends), d) | 445 | d.setVar('RDEPENDS_' + pkg, ' '.join(rdepends)) |
| 432 | 446 | ||
| 433 | module_deps = parse_depmod() | 447 | module_deps = parse_depmod() |
| 434 | module_regex = '^(.*)\.k?o$' | 448 | module_regex = '^(.*)\.k?o$' |
| 435 | module_pattern = 'kernel-module-%s' | 449 | module_pattern = 'kernel-module-%s' |
| 436 | 450 | ||
| 437 | postinst = bb.data.getVar('pkg_postinst_modules', d, 1) | 451 | postinst = d.getVar('pkg_postinst_modules', 1) |
| 438 | postrm = bb.data.getVar('pkg_postrm_modules', d, 1) | 452 | postrm = d.getVar('pkg_postrm_modules', 1) |
| 439 | do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.bin$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') | 453 | do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.bin$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') |
| 440 | do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.fw$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') | 454 | do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.fw$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') |
| 441 | do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % bb.data.getVar("KERNEL_VERSION", d, 1)) | 455 | do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.cis$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') |
| 456 | do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % d.getVar("KERNEL_VERSION", 1)) | ||
| 442 | 457 | ||
| 443 | import re | 458 | import re |
| 444 | metapkg = "kernel-modules" | 459 | metapkg = "kernel-modules" |
| 445 | bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) | 460 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") |
| 446 | bb.data.setVar('FILES_' + metapkg, "", d) | 461 | d.setVar('FILES_' + metapkg, "") |
| 447 | blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'perf', 'perf-dbg', 'kernel-misc' ] | 462 | blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'perf', 'perf-dbg', 'kernel-misc' ] |
| 448 | for l in module_deps.values(): | 463 | for l in module_deps.values(): |
| 449 | for i in l: | 464 | for i in l: |
| 450 | pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1)) | 465 | pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1)) |
| 451 | blacklist.append(pkg) | 466 | blacklist.append(pkg) |
| 452 | metapkg_rdepends = [] | 467 | metapkg_rdepends = [] |
| 453 | packages = bb.data.getVar('PACKAGES', d, 1).split() | 468 | packages = d.getVar('PACKAGES', 1).split() |
| 454 | for pkg in packages[1:]: | 469 | for pkg in packages[1:]: |
| 455 | if not pkg in blacklist and not pkg in metapkg_rdepends: | 470 | if not pkg in blacklist and not pkg in metapkg_rdepends: |
| 456 | metapkg_rdepends.append(pkg) | 471 | metapkg_rdepends.append(pkg) |
| 457 | bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d) | 472 | d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) |
| 458 | bb.data.setVar('DESCRIPTION_' + metapkg, 'Kernel modules meta package', d) | 473 | d.setVar('DESCRIPTION_' + metapkg, 'Kernel modules meta package') |
| 459 | packages.append(metapkg) | 474 | packages.append(metapkg) |
| 460 | bb.data.setVar('PACKAGES', ' '.join(packages), d) | 475 | d.setVar('PACKAGES', ' '.join(packages)) |
| 461 | } | 476 | } |
| 462 | 477 | ||
| 463 | # Support checking the kernel size since some kernels need to reside in partitions | 478 | # Support checking the kernel size since some kernels need to reside in partitions |
| 464 | # with a fixed length or there is a limit in transferring the kernel to memory | 479 | # with a fixed length or there is a limit in transferring the kernel to memory |
| 465 | do_sizecheck() { | 480 | do_sizecheck() { |
| 466 | if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then | 481 | if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then |
| 467 | size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'` | 482 | size=`ls -l ${KERNEL_OUTPUT} | awk '{ print $5}'` |
| 468 | if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then | 483 | if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then |
| 469 | rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | 484 | rm ${KERNEL_OUTPUT} |
| 470 | die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular." | 485 | die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular." |
| 471 | fi | 486 | fi |
| 472 | fi | 487 | fi |
| @@ -503,7 +518,7 @@ KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" | |||
| 503 | KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" | 518 | KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" |
| 504 | 519 | ||
| 505 | kernel_do_deploy() { | 520 | kernel_do_deploy() { |
| 506 | install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin | 521 | install -m 0644 ${KERNEL_OUTPUT} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin |
| 507 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then | 522 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then |
| 508 | tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib | 523 | tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib |
| 509 | fi | 524 | fi |
| @@ -511,6 +526,8 @@ kernel_do_deploy() { | |||
| 511 | cd ${DEPLOYDIR} | 526 | cd ${DEPLOYDIR} |
| 512 | rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin | 527 | rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin |
| 513 | ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin | 528 | ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin |
| 529 | |||
| 530 | cp ${COREBASE}/meta/files/deploydir_readme.txt ${DEPLOYDIR}/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt | ||
| 514 | } | 531 | } |
| 515 | do_deploy[dirs] = "${DEPLOYDIR} ${B}" | 532 | do_deploy[dirs] = "${DEPLOYDIR} ${B}" |
| 516 | 533 | ||
