Board Support Package for Beagle Bone Black

Hi I am new to beaglebone black.

  1. I want to know the basic features of board Support Packages
  2. what are the files and paths are used for writing BSP for BBB
  3. What are the basic steps are required to write the BSP for BBB
  4. what are the files involved in writing the BSP for BBB.
  5. can someone please explain in details about BSP for BBB.
  6. if Any books are there can someone please share the link so that i can read and will try to understand the BSP for BBB.

Please help me out of this problem.