OLD | NEW |
1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
2 # Distributed under the terms of the GNU General Public License v2 | 2 # Distributed under the terms of the GNU General Public License v2 |
3 | 3 |
4 EAPI=2 | 4 EAPI=2 |
5 | 5 |
6 inherit toolchain-funcs | 6 inherit toolchain-funcs |
7 | 7 |
8 DESCRIPTION="Chrome OS Kernel" | 8 DESCRIPTION="Chrome OS Kernel" |
9 HOMEPAGE="http://src.chromium.org" | 9 HOMEPAGE="http://src.chromium.org" |
10 LICENSE="GPL-2" | 10 LICENSE="GPL-2" |
11 SLOT="0" | 11 SLOT="0" |
12 KEYWORDS="x86 arm" | 12 KEYWORDS="x86 arm" |
13 IUSE="" | 13 IUSE="" |
14 | 14 |
15 DEPEND="sys-apps/debianutils" | 15 DEPEND="sys-apps/debianutils" |
16 RDEPEND="" | 16 RDEPEND="" |
17 | 17 |
18 kernel=${CHROMEOS_KERNEL:-"kernel/files"} | 18 kernel=${CHROMEOS_KERNEL:-"kernel/files"} |
19 files="${CHROMEOS_ROOT}/src/third_party/${kernel}" | 19 files="${CHROMEOS_ROOT}/src/third_party/${kernel}" |
20 | 20 |
21 if [ "${ARCH}" = "x86" ]; then | 21 # Use a single or split kernel config as specified in the board or variant |
22 config=${CHROMEOS_KERNEL_SPLITCONFIG:-"chromeos-intel-menlow"} | 22 # make.conf overlay. Default to the arch specific split config if an |
23 elif [ "${ARCH}" = "arm" ]; then | 23 # overlay or variant does not set either CHROMEOS_KERNEL_CONFIG or |
24 config=${CHROMEOS_KERNEL_SPLITCONFIG:-"qsd8650-st1"} | 24 # CHROMEOS_KERNEL_SPLITCONFIG. CHROMEOS_KERNEL_CONFIG is set relative |
| 25 # to the root of the kernel source tree. |
| 26 |
| 27 if [ -n "${CHROMEOS_KERNEL_CONFIG}" ]; then |
| 28 » config="${files}/${CHROMEOS_KERNEL_CONFIG}" |
| 29 else |
| 30 » if [ "${ARCH}" = "x86" ]; then |
| 31 » » config=${CHROMEOS_KERNEL_SPLITCONFIG:-"chromeos-intel-menlow"} |
| 32 » elif [ "${ARCH}" = "arm" ]; then |
| 33 » » config=${CHROMEOS_KERNEL_SPLITCONFIG:-"qsd8650-st1"} |
| 34 » fi |
25 fi | 35 fi |
26 | 36 |
27 src_unpack() { | 37 src_unpack() { |
28 elog "Using kernel files: ${files}" | 38 elog "Using kernel files: ${files}" |
29 | 39 |
30 mkdir -p "${S}" | 40 mkdir -p "${S}" |
31 cp -ar "${files}"/* "${S}" || die | 41 cp -ar "${files}"/* "${S}" || die |
32 } | 42 } |
33 | 43 |
34 src_configure() { | 44 src_configure() { |
35 elog "Using kernel config: ${config}" | 45 elog "Using kernel config: ${config}" |
36 » chromeos/scripts/prepareconfig ${config} || die | 46 |
| 47 » if [ -n "${CHROMEOS_KERNEL_CONFIG}" ]; then |
| 48 » » cp -f "${config}" "${S}"/.config || die |
| 49 » else |
| 50 » » chromeos/scripts/prepareconfig ${config} || die |
| 51 » fi |
37 emake ARCH=$(tc-arch-kernel) oldconfig || die | 52 emake ARCH=$(tc-arch-kernel) oldconfig || die |
38 } | 53 } |
39 | 54 |
40 src_compile() { | 55 src_compile() { |
41 emake \ | 56 emake \ |
42 ARCH=$(tc-arch-kernel) \ | 57 ARCH=$(tc-arch-kernel) \ |
43 CROSS_COMPILE="${CHOST}-" || die | 58 CROSS_COMPILE="${CHOST}-" || die |
44 } | 59 } |
45 | 60 |
46 src_install() { | 61 src_install() { |
(...skipping 30 matching lines...) Expand all Loading... |
77 | 92 |
78 cp -a \ | 93 cp -a \ |
79 "${S}"/.config \ | 94 "${S}"/.config \ |
80 "${D}/boot/config-${version}" || die | 95 "${D}/boot/config-${version}" || die |
81 | 96 |
82 ln -sf "vmlinuz-${version}" "${D}"/boot/vmlinuz || die | 97 ln -sf "vmlinuz-${version}" "${D}"/boot/vmlinuz || die |
83 ln -sf "System.map-${version}" "${D}"/boot/System.map || die | 98 ln -sf "System.map-${version}" "${D}"/boot/System.map || die |
84 ln -sf "config-${version}" "${D}"/boot/config || die | 99 ln -sf "config-${version}" "${D}"/boot/config || die |
85 fi | 100 fi |
86 } | 101 } |
OLD | NEW |