Linux Kernel tree for porting to mailine and basic support.

Hi,

What is the Linux kernel tree which is used to provide mainline support for the beaglebone black? I would like to contribute towards mainlining and I would like to know which is the tree for which the beaglebone black development happens.

I am assuming the tree is https://github.com/beagleboard/linux. Please correct me if I am wrong.

Thanks in advance,
Gautam.

Hi,

I think https://github.com/beagleboard/linux would be the best reference tree.

Which subsystem are you going to mainline?

Regards,
Dimitar

Robert Nelson’s Supercon workshop material is useful if you want to learn about the the repositories used for the bootloader and kernel that ships on the official Debian images:

https://github.com/RobertCNelson/Supercon-2017-PocketBeagle?files=1

If you are curious about the patches applied on top of mainline, then check out this directory from Robert’s ti-linux-kernel-dev repo:

https://github.com/RobertCNelson/ti-linux-kernel-dev/tree/ti-linux-4.14.y/patches

One out of tree driver that would great to mainline is the pinmux helper which is critical to how our config-pin utility works:

https://github.com/RobertCNelson/ti-linux-kernel-dev/blob/ti-linux-4.14.y/patches/drivers/ti/gpio/0001-BeagleBone-pinmux-helper.patch

Any video of that workshop ? All I saw from hackaday was Sammy Kamkar etc, regurgitated video . . .

They only had camera's on the inside, we were outside in the tent.
Most of it was just me running around troubleshooting while everyone
worked their way thru the presentation..

Regards,

The notes on GitHub say to only use VM VirtualBox 5.1.x and to not use 5.2.x.

Is that because 5.2 was too new and unstable at the time? Or is there a fundamental issue with VM Virtualbox 5.2?

— Graham

Those notes are just for windows users. At the time of the lab,
5.2."0" had major issues.. At the time 5.1.30 just worked...

Linux users can just git clone and move thru the lecture..

Regards,

Hi Dimitar,

I have not decided on anything to mainline as of now as I am new to BBB. So the first step is to build the kernel from the right tree (which itself is confusing) and see where I can improve. At least try to solve simple problems and then move on to harder stuff. I will also start documenting stuff as I go along.

Working on the i.mx6 and i.mx7 I find the approach of NXP better where I can just “git pull” from the NXP source tree and build the kernel rather than apply a set of patches using a script. Submissions of patches would be to the i.mx maintainers which would be eventually mainlined.

Thanks,
Gautam.

Hi Dimitar,

I have not decided on anything to mainline as of now as I am new to BBB. So
the first step is to build the kernel from the right tree (which itself is
confusing) and see where I can improve. At least try to solve simple
problems and then move on to harder stuff. I will also start documenting
stuff as I go along.

Working on the i.mx6 and i.mx7 I find the approach of NXP better where I can
just "git pull" from the NXP source tree and build the kernel rather than
apply a set of patches using a script. Submissions of patches would be to
the i.mx maintainers which would be eventually mainlined.

We "are not" TI...

TI does the same thing, you can go grab their tree here:

or:

or:

and they push things mainline..

We just use it as a base for BeagleBoard.org and then include things
that have been rejected multple times on mainline, but our users use.

Regards,

Hi Robert,

I had build the https://github.com/beagleboard/linux before using arm-none-eabi-gcc before successfully. After the move to Artful in Ubuntu and using the arm-none-eabi-gcc Version 5.4.1 the compiler crashes while compiling the source. It does not crash when I build Torvalds mainline. I am not sure what the problem is here.

I am aware that you use the arm-linux-gnueabihf-gcc. Does building using arm-none-eabi-gcc cause any problems?

Thanks,
Gautam.

Hi Robert,

I had build the GitHub - beagleboard/linux: The official Read Only BeagleBoard and BeagleBone kernel repository https://git.beagleboard.org/beagleboard/linux before using
arm-none-eabi-gcc before successfully. After the move to Artful in Ubuntu
and using the arm-none-eabi-gcc Version 5.4.1 the compiler crashes while
compiling the source. It does not crash when I build Torvalds mainline. I am
not sure what the problem is here.

I am aware that you use the arm-linux-gnueabihf-gcc. Does building using
arm-none-eabi-gcc cause any problems?

it builds fine natively with ubuntu artful:

http://gfnd.rcn-ee.org:81//farm/deb/COMPLETE-4.9.65-ti-r80-artful-armhf.txt

Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
7.2.0-8ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr
--with-gcc-major-version-only --program-suffix=-7
--program-prefix=arm-linux-gnueabihf- --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --libdir=/usr/lib
--enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-libitm --disable-libquadmath --enable-plugin
--enable-default-pie --with-system-zlib --with-target-system-zlib
--enable-objc-gc=auto --enable-multiarch --enable-multilib
--disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16
--with-float=hard --with-mode=thumb --disable-werror --enable-multilib
--enable-checking=release --build=arm-linux-gnueabihf
--host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 7.2.0 (Ubuntu/Linaro 7.2.0-8ubuntu3)

Regards,

Robert,

For the arm-eabi- I get the following error:
https://pastebin.com/iVmG18Xk

​For the Artful arm-none-eabi- I get the same above error​ with the compiler segfaulting.
I have filed a compiler bug here:
https://bugs.launchpad.net/ubuntu/+source/gcc-arm-none-eabi/+bug/1734420

Please see the apport attachment for the trace of compiler crash.

​The git tree is: https://github.com/beagleboard/linux

​Thanks,
Gautam.​

Hi Drew,

I finished the build of the both the trees mentioned above and have documented it in my blog with the problems with different tool chains. Now that I have a working setup let me see the patches and also the pinmux patches. Should I use the same thread to discuss about this or create a new topic to discuss this? I would definitely need some help understanding things till I am used to it. I will be documenting things in my blog as I go along.

Thanks,
Gautam.

Hi, sorry, I overlooked this email until now. Please start a new
thread if you're still having issues.

Thanks,
Drew