summaryrefslogtreecommitdiff
path: root/HACKING
blob: aa003ebf3ddbc016d74e77b98fac2ee387c3c66b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
h1. Building Ubuntu Kernel from Source

When working with Ubuntu, the simplest approach is to use create a disk image by following the instructions on the binary tab, then to build your own kernel and install it to the card.

h2. Kernel Source

h3. Get the source
First you need to get the kernel source code 

?? what is the official path for the source code ??


h3. Create a config

Do not use the defconfig for Versatile Express, instead, build a config from the config fragments that Linaro provides:

bc. 
    ARCH=arm scripts/kconfig/merge_config.sh  \
    linaro/configs/linaro-base.conf \
    linaro/configs/ubuntu.conf \
    linaro/configs/vexpress.conf

h3. Build the kernel

To build the kernel uImage, use the following command:

bc. 
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage




h1. Installing your kernel

This section is common for both Android and Ubuntu

* Create the Device Tree blob if you don’t have one in your Linaro image (note, the A9 Core Tile boots using an ATAGS kernel):

bc. 
    scripts/dtc/dtc -I dts -O dtb -S 8192 arch/arm/boot/dts/vexpress-v2p-ca5s.dts -o v2p-ca5s.dtb
    scripts/dtc/dtc -I dts -O dtb -S 8192 arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts -o v2p-ca15-tc1.dtb
      

* Insert the SD card containing the Linaro disk image
* Copy the kernel onto the memory card
@cp arch/arm/boot/uImage /media/boot/@
* Copy the device tree blob
** For **A9** CoreTile:  no device tree blob is needed
** For **A5** CoreTile:  @cp v2p-ca5s.dtb /media/boot/@
** For **A15-TC1** CoreTile:  @cp v2p-ca15-tc1.dtb /media/boot/@
** For **A15-TC2** CoreTile:  @cp v2p-ca15-tc2.dtb /media/boot/@
 
* Eject the memory card  @eject /media/boot@
      
* Insert the memory card into the Versatile Express board and power it on