element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
BeagleBoard
  • Products
  • Dev Tools
  • Single-Board Computers
  • BeagleBoard
  • More
  • Cancel
BeagleBoard
Blog BeagleBone patchset for mainline Linux kernel
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join BeagleBoard to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: fustini
  • Date Created: 5 Dec 2015 12:40 AM Date Created
  • Views 1376 views
  • Likes 0 likes
  • Comments 0 comments
  • fbtft
  • beaglebone_black
  • open_source
  • oshw
  • bbb
  • BeagleBone
  • open_hardware
Related
Recommended

BeagleBone patchset for mainline Linux kernel

fustini
fustini
5 Dec 2015

image

After my last post Build fbtft drivers for Linux 4.4 on BeagleBone Black, I was curious what patches are needed to run mainline Linux kernel on BeagleBoard.  Here's what I've found so far:

 

Mainline Linux kernel

  • "Mainline" refers to Linus Torvald's linux.git repo hosted on kernel.org:
  • Kernel version currently in development is Linux 4.4
  • Linux 4.4 is now in the release candidate phase
  • Most recent release candidate is: Linux 4.4-rc3

 

Robert C. Nelson's bb-kernel repo

  • bb-kernel repo is maintained by the most excellent Robert C. Nelson:

"This git repo contains just scripts/patches to build a specific kernel for some ARM devices. The kernel source will be downloaded when you run any of the build scripts"

  • Most recent branch is: am33x-v4.4
  • Most recent tag: 4.4-rc3-bone0
  • build_kernel.sh will clone Linus Torvald's linux.git repo into ignore/linux-src dir
  • The repo in ignore/linux-src will then be cloned into KERNEL dir
  • BeagleBone patchset will then be applied to that KERNEL repo

 

Patchset for BeagleBone:

  • Robert maintains a BeagleBone patchset for the mainline Linux kernel
  • 102 patches applied when I run the build script
  • patch.sh script calls:
    • reverts () function to apply 1 patch
    • ti () function to apply 24 patches for cpu_freq and 3 patches for iodelay
    • pru ()function to apply 2 patches
    • bbb_overlays () function to apply 44 patches
    • beaglebone () function to apply 31 patches
    • quieter () function to apply 1 patch

     

    BeagleBone Cape Manager (bone_capemgr):

    • [PATCH 1/5] misc: Beaglebone capemanager by Pantelis Antoniou
    • Recent Google+ discussion about mainline and the current bone_capemgr patchset
    • eLinux wiki: capemgr
      • in-kernel mechanism for dynamically loading Device Tree fragments from userspace.
      • completely implemented in the kernel with no userspace component
      • implementation is currently located in the BeagleBone kernel patch set at Linux 3.8 and Linux 4.1.
    • Device Tree Overlays from bb.org-overlays repo
    • slots: /sys/devices/platform/bone_capemgr/slots
    • enable/disable cmdline:
      • bone_capemgr.enable_partno=
      • bone_capemgr.disable_partno=


    Workaround: Disable DMA for SPI driver:

    • bbb: add spi pio mode
      • https://github.com/RobertCNelson/bb-kernel/commit/cef1661f6d27847b7a1f37ab6db2aec397e6388c
    • config: CONFIG_SPI_DEBUG is actually useful
      • https://github.com/RobertCNelson/bb-kernel/commit/3596145f3ee2b0ddc7e1832257b1deea4db7afa2
    • config: spidev to module
      • https://github.com/RobertCNelson/bb-kernel/commit/37a51d3db7c9ee4a500493ba9a189685dfcfaf7e

     

    Related GitHub Gists:

    • bb-kernel am33x-v4.4: patches just bbb_overlays & beaglebone
      • https://gist.github.com/pdp7/f314ba20db5eb2e91d65
    • BeagleBone Black am33x-v4.4 with fbtft drivers
      • https://gist.github.com/pdp7/37b3c355ea18e13cfc79
    • Sign in to reply
    element14 Community

    element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

    • Members
    • Learn
    • Technologies
    • Challenges & Projects
    • Products
    • Store
    • About Us
    • Feedback & Support
    • FAQs
    • Terms of Use
    • Privacy Policy
    • Legal and Copyright Notices
    • Sitemap
    • Cookies

    An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

    Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

    ICP 备案号 10220084.

    Follow element14

    • X
    • Facebook
    • linkedin
    • YouTube