Difference between revisions of "BeagleBoneSoftware"

From eLinux.org
Jump to: navigation, search
m (Getting Started)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
[[Category:Development Boards]]
 
[[Category:Development Boards]]
 
[[Category: BeagleBoard]]
 
[[Category: BeagleBoard]]
[[Category: BeagleBone]]
+
 
 +
''This page needs lots of help''
  
 
[[File:BeagleBone_256x249.jpg|320px|thumb|right|BeagleBone]]
 
[[File:BeagleBone_256x249.jpg|320px|thumb|right|BeagleBone]]
Line 10: Line 11:
 
This page documents installation, use, maintenance, and software development using Linux on a [[BeagleBone]].
 
This page documents installation, use, maintenance, and software development using Linux on a [[BeagleBone]].
  
<br>
+
The [http://beagleboard.org BeagleBoard.org] site has a great [http://beagleboard.org/Getting%20Started getting started guide] which covers the [[BeagleBone]] and [[BeagleBone Black]]. This guide covers steps from unboxing all the way though installing an image on the SD card (for BeagleBone), or installing a flasher image and flashing the eMMC (for BeagleBone Black).
  
== Getting Started ==
+
== Angstrom ==
  
The [http://beagleboard.org BeagleBoard.org] site has a great [http://beagleboard.org/Getting%20Started|getting started guide] which covers the [[BeagleBone]] and [[BeagleBone Black]]. This guide covers steps from unboxing all the way though installing an image on the SD card (for BeagleBone), or installing a flasher image and flashing the eMMC (for BeagleBone Black).
+
The official distribution shipped with the BeagleBone is [http://www.angstrom-distribution.org/|Angstrom]. Angstrom is built upon [http://www.openembedded.org/|OpenEmbedded], and has targets for many popular embedded Linux boards.
  
== Making an Angstrom SD card the hard way ==
+
== Angstrom images ==
 
[http://downloads.angstrom-distribution.org/demo/beagleboard/|The Angstrom BeagleBoard page] contains prebuilt kernels, bootloaders, filesystems, and whole-disk images for the official Angstrom releases, as well as instructions for installation.
 
[http://downloads.angstrom-distribution.org/demo/beagleboard/|The Angstrom BeagleBoard page] contains prebuilt kernels, bootloaders, filesystems, and whole-disk images for the official Angstrom releases, as well as instructions for installation.
  
= The Angstrom Distribution =
+
== Angstrom from source ==
The official distribution shipped with the BeagleBone is [http://www.angstrom-distribution.org/|Angstrom]. Angstrom is built upon [http://www.openembedded.org/|OpenEmbedded], and has targets for many popular embedded Linux boards.
 
  
== Building Angstrom from source ==
 
 
Documentation regarding building Angstrom from source can be found on the [http://www.angstrom-distribution.org/building-angstrom|Building Angstrom page] at the Angstrom website. For BeagleBone, use '''MACHINE=beaglebone'''
 
Documentation regarding building Angstrom from source can be found on the [http://www.angstrom-distribution.org/building-angstrom|Building Angstrom page] at the Angstrom website. For BeagleBone, use '''MACHINE=beaglebone'''
  
Line 39: Line 38:
 
Prebuilt toolchains can be downloaded from the [http://www.angstrom-distribution.org/toolchains/|Angstrom Toolchains page]. For BeagleBone, The armv7a-vfp-neon toolchains will work for the BeagleBone.
 
Prebuilt toolchains can be downloaded from the [http://www.angstrom-distribution.org/toolchains/|Angstrom Toolchains page]. For BeagleBone, The armv7a-vfp-neon toolchains will work for the BeagleBone.
  
= The Linux Kernel =
+
== The Linux Kernel ==
 
The modern Linux kernels (version 3.8) for the BeagleBone Black (and also the modern kernel on the BeagleBone), is implemented and maintained as a set of patches ahead of the mainline kernel, along with a script to download a mainline kernel and patch it accordingly. This is the same kernel (mainline and patches) which is in the Angstrom build.
 
The modern Linux kernels (version 3.8) for the BeagleBone Black (and also the modern kernel on the BeagleBone), is implemented and maintained as a set of patches ahead of the mainline kernel, along with a script to download a mainline kernel and patch it accordingly. This is the same kernel (mainline and patches) which is in the Angstrom build.
  
 
To Build a kernel, check out the [https://github.com/beagleboard/kernel/tree/3.8| beagleboard/kernel Github project], making sure to use branch 3.8. The README.md contains exact steps for building the kernel and copying it to your BeagleBone.
 
To Build a kernel, check out the [https://github.com/beagleboard/kernel/tree/3.8| beagleboard/kernel Github project], making sure to use branch 3.8. The README.md contains exact steps for building the kernel and copying it to your BeagleBone.
  
= The U-Boot Bootloader =
+
== The U-Boot Bootloader ==
 
The BeagleBone uses the [http://www.denx.de/wiki/U-Boot|U-Boot] bootloader.
 
The BeagleBone uses the [http://www.denx.de/wiki/U-Boot|U-Boot] bootloader.
 
TODO: What's the official u-boot to use, and how to build it?
 
TODO: What's the official u-boot to use, and how to build it?
Line 51: Line 50:
 
TODO: How to set the HDMI resolution?
 
TODO: How to set the HDMI resolution?
  
= The Angstrom Linux Distribution =
+
== Software Development ==
TODO install packages
 
TODO upgrade distro
 
TODO configure networking
 
TODO links to some basic Unix/Linux resources
 
TODO (plenty of other stuff could go here)
 
  
= Software Development =
+
=== Build software with native toolchian ===
== Build software with native toolchian ==
+
=== Build software with a cross toolchain ===
== Build software with a cross toolchain ==
+
=== Talking to hardware ===
== Talking to hardware ==
 
 
         * DeviceTree and Capemgr
 
         * DeviceTree and Capemgr
 
             * Example for each bus
 
             * Example for each bus

Latest revision as of 19:38, 18 May 2015


This page needs lots of help

BeagleBone
BeagleBone Black

This page documents installation, use, maintenance, and software development using Linux on a BeagleBone.

The BeagleBoard.org site has a great getting started guide which covers the BeagleBone and BeagleBone Black. This guide covers steps from unboxing all the way though installing an image on the SD card (for BeagleBone), or installing a flasher image and flashing the eMMC (for BeagleBone Black).

Angstrom

The official distribution shipped with the BeagleBone is [1]. Angstrom is built upon [2], and has targets for many popular embedded Linux boards.

Angstrom images

Angstrom BeagleBoard page contains prebuilt kernels, bootloaders, filesystems, and whole-disk images for the official Angstrom releases, as well as instructions for installation.

Angstrom from source

Documentation regarding building Angstrom from source can be found on the Angstrom page at the Angstrom website. For BeagleBone, use MACHINE=beaglebone

TODO: Also tell how to get from a built angstrom distro to something installed on the SD card.

Building just the kernel

To build just the kernel, run the following:

  MACHINE=beaglebone ./oebb.sh bitbake virtual/kernel

TODO: tell where this kernel shows up and what to do with it (copy to SD card).

Build just the toolchain

TODO: Figure out how to actually do this (nobody seemed to know when I asked last time).

Downloading a prebuilt toolchain

Prebuilt toolchains can be downloaded from the Toolchains page. For BeagleBone, The armv7a-vfp-neon toolchains will work for the BeagleBone.

The Linux Kernel

The modern Linux kernels (version 3.8) for the BeagleBone Black (and also the modern kernel on the BeagleBone), is implemented and maintained as a set of patches ahead of the mainline kernel, along with a script to download a mainline kernel and patch it accordingly. This is the same kernel (mainline and patches) which is in the Angstrom build.

To Build a kernel, check out the beagleboard/kernel Github project, making sure to use branch 3.8. The README.md contains exact steps for building the kernel and copying it to your BeagleBone.

The U-Boot Bootloader

The BeagleBone uses the [3] bootloader. TODO: What's the official u-boot to use, and how to build it? TODO: Where is the official uEnv.txt? TODO: Is there a list of uEnv.txt variables which work with the installed bootloader? TODO: How to set the HDMI resolution?

Software Development

Build software with native toolchian

Build software with a cross toolchain

Talking to hardware

       * DeviceTree and Capemgr
           * Example for each bus
               * Serial port
               * SPI
               * I2C
               * etc
   * PRU (optional?)