diff options
Diffstat (limited to 'recipes-kernel/linux')
-rw-r--r-- | recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch | 39 | ||||
-rw-r--r-- | recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch | 24 | ||||
-rwxr-xr-x | recipes-kernel/linux/files/merge_config.sh | 142 | ||||
-rw-r--r-- | recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch | 19 | ||||
-rw-r--r-- | recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz | bin | 0 -> 72817 bytes | |||
-rw-r--r-- | recipes-kernel/linux/kernel-configure.inc | 49 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-qoriq-common.inc | 38 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-qoriq_3.12.bbappend | 1 | ||||
-rw-r--r-- | recipes-kernel/linux/pramfs-3.12.inc | 21 | ||||
-rw-r--r-- | recipes-kernel/linux/staging-kernel.inc | 133 |
10 files changed, 466 insertions, 0 deletions
diff --git a/recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch b/recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch new file mode 100644 index 0000000..9e42dbd --- /dev/null +++ b/recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 34a06b51a1928ed1692da4fce9f2203dfd306648 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Maxin B. John" <maxin.john@enea.com> | ||
3 | Date: Tue, 22 Apr 2014 07:26:59 +0200 | ||
4 | Subject: [PATCH] sdhci: fix Timeout error messages | ||
5 | |||
6 | If the driver doesn't implement proper card detection, | ||
7 | we shouldn't flood the console with Timeout error messages | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | Signed-off-by: Maxin B. John <maxin.john@enea.com> | ||
12 | --- | ||
13 | drivers/mmc/host/sdhci.c | 9 ++++++--- | ||
14 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
15 | |||
16 | diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c | ||
17 | index 79db375..c77117c 100644 | ||
18 | --- a/drivers/mmc/host/sdhci.c | ||
19 | +++ b/drivers/mmc/host/sdhci.c | ||
20 | @@ -2149,10 +2149,13 @@ static void sdhci_timeout_timer(unsigned long data) | ||
21 | spin_lock_irqsave(&host->lock, flags); | ||
22 | |||
23 | if (host->mrq) { | ||
24 | - pr_err("%s: Timeout waiting for hardware " | ||
25 | + /* If the driver doesn't implement proper card detection, | ||
26 | + we shouldn't flood the console with Timeout error messages */ | ||
27 | + if (!(host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION)) { | ||
28 | + pr_err("%s: Timeout waiting for hardware " | ||
29 | "interrupt.\n", mmc_hostname(host->mmc)); | ||
30 | - sdhci_dumpregs(host); | ||
31 | - | ||
32 | + sdhci_dumpregs(host); | ||
33 | + } | ||
34 | if (host->data) { | ||
35 | host->data->error = -ETIMEDOUT; | ||
36 | sdhci_finish_data(host); | ||
37 | -- | ||
38 | 1.7.10.4 | ||
39 | |||
diff --git a/recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch b/recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch new file mode 100644 index 0000000..b8ef705 --- /dev/null +++ b/recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | linux-qoriq-sdk: Repair a kernel compile issue due to a sintax error. | ||
2 | |||
3 | The define __hard_irq_disable() was done using ";" character | ||
4 | into the comment so the if structure did not recognized the | ||
5 | "else" branch. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Alexandru Vaduva <alexandru.vaduva@enea.com> | ||
10 | |||
11 | diff -ruN a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c | ||
12 | --- a/arch/powerpc/kernel/irq.c 2014-01-30 12:56:20.470918180 +0100 | ||
13 | +++ b/arch/powerpc/kernel/irq.c 2014-01-30 12:57:25.228109187 +0100 | ||
14 | @@ -227,8 +227,9 @@ | ||
15 | * common cases that we'll ignore for now), so we skip the | ||
16 | * (expensive) mtmsrd. | ||
17 | */ | ||
18 | - if (unlikely(irq_happened != PACA_IRQ_HARD_DIS)) | ||
19 | + if (unlikely(irq_happened != PACA_IRQ_HARD_DIS)) { | ||
20 | __hard_irq_disable(); | ||
21 | + } | ||
22 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
23 | else { | ||
24 | /* | ||
diff --git a/recipes-kernel/linux/files/merge_config.sh b/recipes-kernel/linux/files/merge_config.sh new file mode 100755 index 0000000..33f18d4 --- /dev/null +++ b/recipes-kernel/linux/files/merge_config.sh | |||
@@ -0,0 +1,142 @@ | |||
1 | #!/bin/sh | ||
2 | # merge_config.sh - Takes a list of config fragment values, and merges | ||
3 | # them one by one. Provides warnings on overridden values, and specified | ||
4 | # values that did not make it to the resulting .config file (due to missed | ||
5 | # dependencies or config symbol removal). | ||
6 | # | ||
7 | # Portions reused from kconf_check and generate_cfg: | ||
8 | # http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/kconf_check | ||
9 | # http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/generate_cfg | ||
10 | # | ||
11 | # Copyright (c) 2009-2010 Wind River Systems, Inc. | ||
12 | # Copyright 2011 Linaro | ||
13 | # | ||
14 | # This program is free software; you can redistribute it and/or modify | ||
15 | # it under the terms of the GNU General Public License version 2 as | ||
16 | # published by the Free Software Foundation. | ||
17 | # | ||
18 | # This program is distributed in the hope that it will be useful, | ||
19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
21 | # See the GNU General Public License for more details. | ||
22 | |||
23 | |||
24 | usage() { | ||
25 | echo "Usage: $0 [OPTIONS] [CONFIG [...]]" | ||
26 | echo " -h display this help text" | ||
27 | echo " -m only merge the fragments, do not execute the make command" | ||
28 | echo " -n use allnoconfig instead of alldefconfig" | ||
29 | echo " -x use allmodconfig instead of alldefconfig" | ||
30 | echo " -d debug. Don't cleanup temporary files" | ||
31 | } | ||
32 | |||
33 | MAKE_FLAG=true | ||
34 | ALLTARGET=alldefconfig | ||
35 | |||
36 | # There are two variables that impact where the .config will be dropped, | ||
37 | # O= and KBUILD_OUTPUT=. So we'll respect those variables and use them as | ||
38 | # an output directory as well. These two variables are not propagating | ||
39 | # automatically to the kernel build, so always explicitly setting O= | ||
40 | # and passing it to the kernel build ensures that it is respected. | ||
41 | if [ -n "$KBUILD_OUTPUT" ]; then | ||
42 | O=$KBUILD_OUTPUT | ||
43 | fi | ||
44 | if [ -z "$O" ]; then | ||
45 | O=. | ||
46 | fi | ||
47 | |||
48 | while true; do | ||
49 | case $1 in | ||
50 | "-n") | ||
51 | ALLTARGET=allnoconfig | ||
52 | shift | ||
53 | continue | ||
54 | ;; | ||
55 | "-m") | ||
56 | MAKE_FLAG=false | ||
57 | shift | ||
58 | continue | ||
59 | ;; | ||
60 | "-d") | ||
61 | DEBUG=true | ||
62 | shift | ||
63 | continue | ||
64 | ;; | ||
65 | "-h") | ||
66 | usage | ||
67 | exit | ||
68 | ;; | ||
69 | *) | ||
70 | break | ||
71 | ;; | ||
72 | esac | ||
73 | done | ||
74 | |||
75 | clean_up() { | ||
76 | rm -f $TMP_FILE | ||
77 | exit | ||
78 | } | ||
79 | if [ -z "$DEBUG" ]; then | ||
80 | trap clean_up SIGHUP SIGINT SIGTERM | ||
81 | fi | ||
82 | |||
83 | |||
84 | MERGE_LIST=$* | ||
85 | SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" | ||
86 | TMP_FILE=$(mktemp $O/.tmp.config.XXXXXXXXXX) | ||
87 | |||
88 | # Merge files, printing warnings on overrided values | ||
89 | for MERGE_FILE in $MERGE_LIST ; do | ||
90 | echo "Merging $MERGE_FILE" | ||
91 | CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE) | ||
92 | |||
93 | for CFG in $CFG_LIST ; do | ||
94 | grep -q -w $CFG $TMP_FILE | ||
95 | if [ $? -eq 0 ] ; then | ||
96 | PREV_VAL=$(grep -w $CFG $TMP_FILE) | ||
97 | NEW_VAL=$(grep -w $CFG $MERGE_FILE) | ||
98 | if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then | ||
99 | echo Value of $CFG is redefined by fragment $MERGE_FILE: | ||
100 | echo Previous value: $PREV_VAL | ||
101 | echo New value: $NEW_VAL | ||
102 | echo | ||
103 | fi | ||
104 | sed -i "/$CFG[ =]/d" $TMP_FILE | ||
105 | fi | ||
106 | done | ||
107 | cat $MERGE_FILE >> $TMP_FILE | ||
108 | done | ||
109 | |||
110 | if [ "$MAKE_FLAG" = "false" ]; then | ||
111 | cp $TMP_FILE $O/.config | ||
112 | echo "#" | ||
113 | echo "# merged configuration written to $O/.config (needs make)" | ||
114 | echo "#" | ||
115 | if [ -z "$DEBUG" ]; then | ||
116 | clean_up | ||
117 | fi | ||
118 | exit | ||
119 | fi | ||
120 | |||
121 | # Use the merged file as the starting point for: | ||
122 | # alldefconfig: Fills in any missing symbols with Kconfig default | ||
123 | # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set | ||
124 | make KCONFIG_ALLCONFIG=$TMP_FILE O=$O $ALLTARGET | ||
125 | |||
126 | |||
127 | # Check all specified config values took (might have missed-dependency issues) | ||
128 | for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do | ||
129 | |||
130 | REQUESTED_VAL=$(sed -n "$SED_CONFIG_EXP" $TMP_FILE | grep -w -e "$CFG") | ||
131 | ACTUAL_VAL=$(sed -n "$SED_CONFIG_EXP" $O/.config | grep -w -e "$CFG") | ||
132 | if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then | ||
133 | echo "Value requested for $CFG not in final .config" | ||
134 | echo "Requested value: $REQUESTED_VAL" | ||
135 | echo "Actual value: $ACTUAL_VAL" | ||
136 | echo "" | ||
137 | fi | ||
138 | done | ||
139 | |||
140 | if [ -z "$DEBUG" ]; then | ||
141 | clean_up | ||
142 | fi | ||
diff --git a/recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch b/recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch new file mode 100644 index 0000000..5acf97a --- /dev/null +++ b/recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c | ||
2 | index ae3d5b7..92cb18d 100644 | ||
3 | --- a/arch/powerpc/mm/tlb_nohash.c | ||
4 | +++ b/arch/powerpc/mm/tlb_nohash.c | ||
5 | @@ -596,8 +596,13 @@ static void __early_init_mmu(int boot_cpu) | ||
6 | /* XXX This should be decided at runtime based on supported | ||
7 | * page sizes in the TLB, but for now let's assume 16M is | ||
8 | * always there and a good fit (which it probably is) | ||
9 | + * | ||
10 | + * Freescale booke only supports 4K pages in TLB0, so use that. | ||
11 | */ | ||
12 | - mmu_vmemmap_psize = MMU_PAGE_16M; | ||
13 | + if (mmu_has_feature(MMU_FTR_TYPE_FSL_E)) | ||
14 | + mmu_vmemmap_psize = MMU_PAGE_4K; | ||
15 | + else | ||
16 | + mmu_vmemmap_psize = MMU_PAGE_16M; | ||
17 | |||
18 | /* XXX This code only checks for TLB 0 capabilities and doesn't | ||
19 | * check what page size combos are supported by the HW. It | ||
diff --git a/recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz b/recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz new file mode 100644 index 0000000..2d1a065 --- /dev/null +++ b/recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz | |||
Binary files differ | |||
diff --git a/recipes-kernel/linux/kernel-configure.inc b/recipes-kernel/linux/kernel-configure.inc new file mode 100644 index 0000000..f3d0abe --- /dev/null +++ b/recipes-kernel/linux/kernel-configure.inc | |||
@@ -0,0 +1,49 @@ | |||
1 | SRC_URI += " file://merge_config.sh " | ||
2 | |||
3 | configure_kernel() { | ||
4 | # Add debug flavour config elements from fragments | ||
5 | # Listed in increasing priority order if conflicts are detected. | ||
6 | # | ||
7 | |||
8 | # | ||
9 | #combine features cfgs with defconfig | ||
10 | # | ||
11 | addon_features="" | ||
12 | if [ -n "${2}" ]; then | ||
13 | for feature in ${2}; do | ||
14 | addon_features="${addon_features} ${WORKDIR}/${feature}" | ||
15 | done | ||
16 | fi | ||
17 | |||
18 | # Some meta layers like meta-ti use defconfig file to point to a real | ||
19 | # default config file (use-kernel-config=config_filename) which is found | ||
20 | # under kernel path (${S}/arch/${archname}/configs/). | ||
21 | config=`cat ${1} | grep use-kernel-config | cut -d= -f2` | ||
22 | if [ "x${config}" != "x" ] | ||
23 | then | ||
24 | configfilepath=`find ${S}/arch/ -name ${config} -print | head -n 1` | ||
25 | if [ -f ${configfilepath} ] | ||
26 | then | ||
27 | cp ${configfilepath} ${1} | ||
28 | else | ||
29 | bbfatal "Specified config file:${config} was not found!" | ||
30 | fi | ||
31 | fi | ||
32 | |||
33 | if [ -e "${S}/scripts/kconfig/merge_config.sh" ]; then | ||
34 | O=${B} ${S}/scripts/kconfig/merge_config.sh -m ${1} ${addon_features} | ||
35 | else | ||
36 | O=${B} ${WORKDIR}/merge_config.sh -m ${1} ${addon_features} | ||
37 | fi | ||
38 | |||
39 | mv -f ${B}/.config ${B}/.mconfig | ||
40 | |||
41 | # | ||
42 | #in linux kernel 2.6.33, kconfig does not support alldefconfig yet. | ||
43 | # | ||
44 | if [ "x${PV}" = "x2.6.33" ]; then | ||
45 | oe_runmake KCONFIG_ALLCONFIG=${B}/.mconfig O=${B} allnoconfig | ||
46 | else | ||
47 | oe_runmake KCONFIG_ALLCONFIG=${B}/.mconfig O=${B} alldefconfig | ||
48 | fi | ||
49 | } | ||
diff --git a/recipes-kernel/linux/linux-qoriq-common.inc b/recipes-kernel/linux/linux-qoriq-common.inc new file mode 100644 index 0000000..4f22f8a --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-common.inc | |||
@@ -0,0 +1,38 @@ | |||
1 | require recipes-kernel/linux/enea-common.inc | ||
2 | |||
3 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
4 | |||
5 | SRC_URI += "file://b4860-hard_irq_disable-bug.patch \ | ||
6 | file://0001-sdhci-fix-Timeout-error-messages.patch \ | ||
7 | file://powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch \ | ||
8 | " | ||
9 | |||
10 | STAGING_KERNEL_FEATURES += "\ | ||
11 | cfg/00013-localversion.cfg \ | ||
12 | cfg/00006-with_modules.cfg \ | ||
13 | cfg/00001-embedded.cfg \ | ||
14 | cfg/00012-preempt.cfg \ | ||
15 | cfg/00002-root_nfs.cfg \ | ||
16 | cfg/00029-devtmpfs.cfg \ | ||
17 | cfg/00021-bootlogd.cfg \ | ||
18 | cfg/00022-mtd_tests.cfg \ | ||
19 | cfg/00030-latencytop.cfg \ | ||
20 | cfg/00026-ltp.cfg \ | ||
21 | cfg/00003-fuse.cfg \ | ||
22 | cfg/00032-dpa.cfg \ | ||
23 | cfg/00033-kprobes.cfg \ | ||
24 | cfg/00019-i2c.cfg \ | ||
25 | cfg/00027-lttng.cfg \ | ||
26 | cfg/00025-powertop.cfg \ | ||
27 | cfg/00004-systemtap.cfg \ | ||
28 | cfg/00014-kgdb.cfg \ | ||
29 | cfg/00049-gpio.cfg \ | ||
30 | cfg/00034-cpusets.cfg \ | ||
31 | " | ||
32 | |||
33 | STAGING_KERNEL_FEATURES_append_p2020rdb="cfg/00015-uio.cfg" | ||
34 | |||
35 | DELTA_KERNEL_DEFCONFIG += " ${STAGING_KERNEL_FEATURES} \ | ||
36 | " | ||
37 | |||
38 | require recipes-kernel/linux/pramfs-3.12.inc | ||
diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bbappend b/recipes-kernel/linux/linux-qoriq_3.12.bbappend new file mode 100644 index 0000000..f9311e9 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq_3.12.bbappend | |||
@@ -0,0 +1 @@ | |||
require recipes-kernel/linux/linux-qoriq-common.inc | |||
diff --git a/recipes-kernel/linux/pramfs-3.12.inc b/recipes-kernel/linux/pramfs-3.12.inc new file mode 100644 index 0000000..ec5775d --- /dev/null +++ b/recipes-kernel/linux/pramfs-3.12.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | RRECOMMENDS_${PN} += "pramfs-init" | ||
2 | |||
3 | PRAMFS_VERSION = '1.5.1-3.12' | ||
4 | |||
5 | SRC_URI += "file://pramfs-${PRAMFS_VERSION}.tar.gz \ | ||
6 | file://cfg/00005-pramfs.cfg" | ||
7 | |||
8 | STAGING_KERNEL_FEATURES_append = " cfg/00005-pramfs.cfg" | ||
9 | |||
10 | do_apply_pramfs() { | ||
11 | # Apply PRAMFS patch | ||
12 | |||
13 | # Already done by bitbake -> | ||
14 | # tar xvf ${WORKDIR}/pramfs-${PRAMFS_VERSION}.tar.gz -C ${WORKDIR} | ||
15 | cd ${WORKDIR}/pramfs-${PRAMFS_VERSION}/ | ||
16 | ./patch-ker.sh ${S} | ||
17 | cd - | ||
18 | } | ||
19 | |||
20 | do_apply_pramfs[deptask] = "do_unpack" | ||
21 | addtask apply_pramfs after do_unpack before do_patch | ||
diff --git a/recipes-kernel/linux/staging-kernel.inc b/recipes-kernel/linux/staging-kernel.inc new file mode 100644 index 0000000..3ef802d --- /dev/null +++ b/recipes-kernel/linux/staging-kernel.inc | |||
@@ -0,0 +1,133 @@ | |||
1 | # This .inc file allows building and deploying staging kernel + modules | ||
2 | # with defconfig + fragment cfgs | ||
3 | |||
4 | require kernel-configure.inc | ||
5 | |||
6 | STAGING_NAME ?= "RELEASE" | ||
7 | STAGING_KERNEL_FEATURES ?= "" | ||
8 | KERNEL_FEATURES ?= "" | ||
9 | MODULES_IMAGE_BASE_NAME = "modules-${PV}-${PR}-${MACHINE}" | ||
10 | EXTRA_OEMAKE_prepend_task-stagingkernel = "${PARALLEL_MAKE} " | ||
11 | |||
12 | do_stagingkernel () { | ||
13 | stagingkernel "${STAGING_KERNEL_FEATURES}" ${STAGING_NAME} | ||
14 | } | ||
15 | |||
16 | stagingkernel () { | ||
17 | |||
18 | configure_kernel "${KERNEL_DEFCONFIG}" "${1}" | ||
19 | |||
20 | # Copy defconfig to .config if .config does not exist. This allows | ||
21 | # recipes to manage the .config themselves in do_configure_prepend(). | ||
22 | if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then | ||
23 | cp "${WORKDIR}/defconfig" "${B}/.config" | ||
24 | fi | ||
25 | yes '' | oe_runmake oldconfig | ||
26 | |||
27 | if [ ! -z "${INITRAMFS_IMAGE}" ]; then | ||
28 | for img in cpio.gz cpio.lzo cpio.lzma cpio.xz; do | ||
29 | if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" ]; then | ||
30 | cp "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" initramfs.$img | ||
31 | fi | ||
32 | done | ||
33 | fi | ||
34 | |||
35 | # | ||
36 | # Build this alternative kernel | ||
37 | # | ||
38 | |||
39 | kernel_do_compile | ||
40 | do_compile_kernelmodules | ||
41 | |||
42 | # | ||
43 | # First install the modules to deploy dir | ||
44 | # | ||
45 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE | ||
46 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then | ||
47 | oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install | ||
48 | else | ||
49 | bbnote "no modules to install" | ||
50 | fi | ||
51 | if [ -d "${D}/lib" ]; then | ||
52 | tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}-${2}.tgz -C ${D} lib | ||
53 | fi | ||
54 | rm -fr ${D}/lib | ||
55 | |||
56 | # | ||
57 | # Dont build any dtb:s for the staging kernel | ||
58 | # | ||
59 | |||
60 | # | ||
61 | # Drop the resulting images in the deploy dir | ||
62 | # | ||
63 | cd ${S} | ||
64 | install -d ${DEPLOY_DIR_IMAGE} | ||
65 | install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}-${2}.bin | ||
66 | mv ${KERNEL_OUTPUT} ${KERNEL_OUTPUT}-${2} | ||
67 | |||
68 | # | ||
69 | # Install the final config alongside the images | ||
70 | # | ||
71 | cd ${S} | ||
72 | cp .config ${DEPLOY_DIR_IMAGE}/config-${PV}-${PR}-${MACHINE}-${2}.config | ||
73 | rm -f .config | ||
74 | |||
75 | # | ||
76 | # Create symlinks | ||
77 | # | ||
78 | cd ${DEPLOY_DIR_IMAGE} | ||
79 | rm -f ${KERNEL_IMAGE_SYMLINK_NAME}-${2}.bin | ||
80 | ln -sf ${KERNEL_IMAGE_BASE_NAME}-${2}.bin ${KERNEL_IMAGE_SYMLINK_NAME}-${2}.bin | ||
81 | |||
82 | rm -f config-${MACHINE}-${2}.config | ||
83 | ln -sf config-${PV}-${PR}-${MACHINE}-${2}.config config-${MACHINE}-${2}.config | ||
84 | |||
85 | } | ||
86 | |||
87 | do_stagingkernel[dirs] = "${DEPLOY_DIR_IMAGE} ${B}" | ||
88 | |||
89 | do_stagingkernel[depends] += "u-boot-mkimage-native:do_populate_sysroot virtual/${TARGET_PREFIX}gcc:do_populate_sysroot virtual/${TARGET_PREFIX}gcc:do_populate_sysroot libgcc:do_populate_sysroot" | ||
90 | |||
91 | addtask stagingkernel after do_patch before do_configure | ||
92 | |||
93 | # | ||
94 | # For reference, copy .config to deploy image | ||
95 | # | ||
96 | do_deploy_append () { | ||
97 | |||
98 | install -d ${DEPLOY_DIR_IMAGE} | ||
99 | |||
100 | # | ||
101 | # Drop the regular defconfig along side the others for consistency | ||
102 | # | ||
103 | cd ${S} | ||
104 | cp .config ${DEPLOY_DIR_IMAGE}/config-${PV}-${PR}-${MACHINE}.config | ||
105 | |||
106 | # | ||
107 | # add symlink | ||
108 | # | ||
109 | cd ${DEPLOY_DIR_IMAGE} | ||
110 | rm -f config-${MACHINE}.config | ||
111 | ln -s config-${PV}-${PR}-${MACHINE}.config config-${MACHINE}.config | ||
112 | |||
113 | } | ||
114 | |||
115 | # | ||
116 | # Clean staging kernel related files in deploy dir | ||
117 | # | ||
118 | do_cleanstagingkernel () { | ||
119 | |||
120 | cd ${DEPLOY_DIR_IMAGE} | ||
121 | rm -f *-${STAGING_NAME}.* | ||
122 | |||
123 | rm -f config-${PV}-${PR}-${MACHINE}.config | ||
124 | rm -f config-${MACHINE}.config | ||
125 | |||
126 | } | ||
127 | |||
128 | LDFLAGS="" | ||
129 | |||
130 | do_cleanstagingkernel[nostamp] = "1" | ||
131 | |||
132 | addtask cleanstagingkernel after do_cleansstate | ||
133 | |||