2 * Product Release Status
5 - The Linux Kernel BSP contains the upstream version 3.15-rc8 of the
6 Linux kernel modified to support the Juno development board.
7 * Functionality included
8 - Linux kernel configures the Juno Compute System and a limited set
9 of peripherals on the Juno development board.
11 - full native resolution on HDMI connectors.
12 - USB 1.1 and USB 2.0 devices fully working
13 - Initial support for HMP patchset for AArch64. Please note that the patch has not been fine-tuned for Juno yet.
14 - Initial support for DVFS
15 - Unified defconfig for both standard Linux filesystem and Android
16 - Double buffering support when paired with Mali DDK code.
18 - No cpuidle support at the moment. Code is present but performance has not been tuned.
19 * Issues resolved since last release
20 - USB keyboard issues fixed
21 - Drivers for DVFS and cpufreq
22 - SCPI clock framework updated to follow the new MHU driver that uses the mailbox mechanisms
23 * Test cases and results
24 - This release does not contain any test cases or example code other
25 than those already present in the upstream version of the kernel.
27 - Please refer to the supplied documentation.
31 This is only a short summary of the steps required in order to build
32 the Linux kernel and the Juno device tree bindings binaries. It
33 assumes that the GNU C cross-compiler used is already set
34 in the _$PATH_ environment variable and that the name prefix for the
35 toolchain executables is 'aarch64-linux-gnu-'. If this is different
36 in your setup, please adjust the command lines accordingly.
38 * Ensure clean state of the source code deliverable
41 $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- mrproper
44 * Initial configuration of the kernel source code
47 $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
50 * Please note that if you plan to use the kernel with an Android software stack, the provided defconfig enables all the features needed for it.
52 * Kernel compilation. This step needs to be repeated after changes in the kernel source code.
55 $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8
58 * Device Tree compilation. This step needs to be repeated after changes in the arch/arm64/boot/dts/juno.dts file.
61 $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs
64 * Deployment. The kernel binary will be stored in _arch/arm64/boot/Image_ and
65 the compiled device tree bindings in _arch/arm64/boot/dts/juno.dtb_. Copy
66 these two files to the SOFTWARE directory on the mounted Juno board storage.
68 ###3. Deploying a root filesystem
70 * This BSP code has been tested with **_minimal_** version of the AArch64 OpenEmbedded
71 filesystem from Linaro.
72 * Download the filesystem from here: [14.02 minimal release](http://releases.linaro.org/14.02/openembedded/aarch64/linaro-image-minimal-genericarmv8-20140223-649.rootfs.tar.gz)
73 * Format a partition on the USB mass storage as ext4 filesystem. If another
74 filesystem is preferred then support needs to be enabled in the kernel.
75 * Mount the USB mass storage on the computer and extract the rootfs as root
76 onto the formatted partition (replace */media/usb_storage* with the correct
77 path to the mounted directory)
80 $ sudo tar zxf linaro-image-minimal-genericarmv8-20140223-649.rootfs.tar.gz -C /media/usb_storage/
82 * Return to the directory where you have compiled the kernel and install the built modules onto the USB mass storage partition:
85 $ sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/media/usb_storage modules_install
87 * Unmount the USB mass storage and place it onto the Juno board in one of the
88 USB ports next to the HDMI connectors.
92 The Linux kernel BSP depends on the availability of a GNU C cross-compiler
93 that supports ARM's v8 architecture.
97 Any feedback is to be routed through [support@arm.com](mailto:support@arm.com).