Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/scripts/build_kernel_setup.sh

Issue 627003: removes most of the old build tools (Closed)
Patch Set: Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/scripts/build_kernel.sh ('k') | src/scripts/chromiumos-build.cfg » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/bin/sh
2
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 # This script will launch the kernel build script from outside a chroot
8 # environment and copy the kernel package into the chromeos source repository's
9 # src/platform/kernel directory.
10
11 set -e
12
13 SRC_ROOT=${SRC_ROOT:-$(cd "$(dirname $0)/.." ; pwd)}
14 KERNEL_DATA="${SRC_ROOT}/third_party/kernel" # version-controlled kernel stuff
15 BUILD_SCRIPT="build_kernel.sh"
16
17 KCONFIG="$1" # kernel config file
18 PKGREVISION="$2" # version number to stamp on the package
19 ROOTFS="$3" # development environment (fakeroot)
20
21 if [ $# -lt 3 ]
22 then
23 echo "usage: $0 <kernel_config> <package_revision> <rootfs> <patch>"
24 echo "kernel_config: Kernel config from ${KERNEL_DATA}/config/."
25 echo "package_revision: The revision to stamp on the final .deb package."
26 echo "rootfs: Root directory of build environment"
27 echo "remaining arguments are assumed to be kernel patch names"
28 echo -n "Usage example: sh build_kernel.sh config.2.6.30-rc8-chromeos-intel- "
29 echo "menlow 001 ~/src/chromeos/devenv"
30 echo ""
31 exit 1
32 fi
33
34 # Use remaining arguments as patch names.
35 shift; shift; shift
36 PATCHES="$*"
37
38 if [ ! -d "$ROOTFS" ]
39 then
40 echo "$ROOTFS is not a directory"
41 exit 1
42 fi
43
44 # Create a tmpfs to store output from build script which this script can copy
45 # the output from later on. We won't know the actual filename of the output
46 # but since this is a new namespace we're using it should be safe to use a use
47 # a wildcard (e.g. linux-image*.deb) without copying the wrong .debs.
48 OUTPUT_DIR="${ROOTFS}/tmp"
49 sudo mkdir -p "$OUTPUT_DIR"
50 sudo mount -t tmpfs size=32M "${OUTPUT_DIR}"
51 do_cleanup() {
52 sudo umount "${OUTPUT_DIR}"
53 }
54 trap do_cleanup EXIT
55
56 # Copy kernel build helper script to chroot environment
57 sudo cp "${SRC_ROOT}/scripts/${BUILD_SCRIPT}" "${ROOTFS}/tmp/"
58
59 # Run the build script.
60 sudo chroot "$ROOTFS" "/tmp/${BUILD_SCRIPT}" "$KCONFIG" \
61 "$PKGREVISION" "${OUTPUT_DIR#$ROOTFS}/" "$PATCHES"
62
63 # Copy kernel package from the output directory into Chrome OS sources
64 # before the cleanup routine clobbers it.
65 echo "Copying kernel to "$KERNEL_DATA""
66 cp -i "$OUTPUT_DIR"/linux-image*.deb "$KERNEL_DATA"
67
68 set +e
OLDNEW
« no previous file with comments | « src/scripts/build_kernel.sh ('k') | src/scripts/chromiumos-build.cfg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698