Merge "Add instructions for fastboot on pandaboard"
diff --git a/src/source/building-kernels.md b/src/source/building-kernels.md
new file mode 100644
index 0000000..8eb9639
--- /dev/null
+++ b/src/source/building-kernels.md
@@ -0,0 +1,80 @@
+<!--
+ Copyright 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+# Building Kernels #
+
+If you are only interested in the kernel, you may use this guide
+to download and build the appropriate kernel.
+
+The following instructions assume that you have not downloaded all
+of AOSP. If you have downloaded all of AOSP, you may skip the git
+clone steps other than the step to download the actual kernel sources.
+
+We will use the Pandaboard kernel in all the following examples.
+
+
+## Figuring out which kernel to build ##
+
+You will want to look at the git log for the kernel in the device project that
+you are interested in.
+Device projects are of the form device/<vendor>/<name>.
+
+ $ git clone https://android.googlesource.com/device/ti/panda
+ $ cd panda
+ $ git log kernel
+
+The log should contain notes of the commit SHA1 for the appropriate
+kernel project. Keep this value at hand so that you can use it in
+a later step.
+
+## Downloading sources ##
+
+Depending on which kernel you want,
+
+ $ git clone https://android.googlesource.com/kernel/common.git
+ $ git clone https://android.googlesource.com/kernel/goldfish.git
+ $ git clone https://android.googlesource.com/kernel/msm.git
+ $ git clone https://android.googlesource.com/kernel/omap.git
+ $ git clone https://android.googlesource.com/kernel/samsung.git
+ $ git clone https://android.googlesource.com/kernel/tegra.git
+
+
+## Downloading a prebuilt gcc ##
+
+Ensure that the prebuilt toolchain is in your path.
+
+ $ git clone https://android.googlesource.com/platform/prebuilt
+ $ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
+
+
+## Building ##
+
+As an example, we would build the panda kernel using the following commands:
+
+ $ export ARCH=arm
+ $ export SUBARCH=arm
+ $ export CROSS_COMPILE=arm-eabi-
+ $ cd omap
+ $ git checkout <commit_from_first_step>
+ $ make panda_defconfig
+ $ make
+
+To build the tuna kernel, you may run the previous commands replacing all
+instances of "panda" with "tuna".
+
+The image is output as arch/arm/boot/zImage. You may copy it as
+device/<vendor>/<name>/kernel or device/ti/panda/kernel in the case of this
+example.
diff --git a/src/source/downloading.md b/src/source/downloading.md
index 81f1ba9..9f81cae 100644
--- a/src/source/downloading.md
+++ b/src/source/downloading.md
@@ -199,19 +199,6 @@
If you haven't [set up ccache](initializing.html#ccache) yet,
now would be a good time to do it.
-## Downloading kernels ##
-
-If you are only interested in kernel sources,
-you can get the kernel you are interested in through one of the following
-commands:
-
- $ git clone https://android.googlesource.com/kernel/common.git
- $ git clone https://android.googlesource.com/kernel/goldfish.git
- $ git clone https://android.googlesource.com/kernel/msm.git
- $ git clone https://android.googlesource.com/kernel/omap.git
- $ git clone https://android.googlesource.com/kernel/samsung.git
- $ git clone https://android.googlesource.com/kernel/tegra.git
-
# Next: Build the code #
You now have a complete local copy of the Android codebase. Continue on to [building](building.html)....
diff --git a/src/source/initializing.md b/src/source/initializing.md
index e2d8a3d..53f3d54 100644
--- a/src/source/initializing.md
+++ b/src/source/initializing.md
@@ -124,6 +124,8 @@
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
+ # usbboot protocol on panda (PandaBoard)
+ SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
Those new rules take effect the next time a device is plugged in.
It might therefore be necessary to unplug the device and plug it
diff --git a/src/source/sidebar.md b/src/source/sidebar.md
index 362eb04..45189a2 100644
--- a/src/source/sidebar.md
+++ b/src/source/sidebar.md
@@ -4,6 +4,7 @@
- [Downloading the Source](downloading.html)
- [Building and Running](building.html)
- [Building for Devices](building-devices.html)
+- [Building Kernels](building-kernels.html)
- [Known Issues](known-issues.html)
# Navigating the Source #