0
hin246ho

Armbian support for BeagleBone Black

Recommended Posts

It would be great if the BeagleBone Black could be supported by armbian with a mainline kernel image.

The recent official images are already based on debian, but the kernel is NOT the mainlined opensource version: https://beagleboard.org/latest-images

 

Thats why it would be great to see armbian supported with mainline image. I prefer the clean mainline kernel armbian images for everything.

I have searched in this forum to make sure that i dont double post about this. There is no thread about armbian support for BeagleBone Black.

The hardware itself can run on fully free software already. The only not supported thing is the GPU for OpenGL-ES acceleration but that is not important and also the usage of it is not that high this days. Video output is already mainlined and working.

 

Great things about the beaglebone black:

Its PCB-design is OpenHardware! So anyone can start building this device: https://github.com/beagleboard/beaglebone-black/tree/master/ALLEGRO

System reference manual: https://github.com/beagleboard/beaglebone-black/wiki/System-Reference-Manual

 

Its supported by mainline kernel: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?h=v4.20-rc3&qt=grep&q=beaglebone+black

 

Also the BeagleBone Black wireless version is supported upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.20-rc3&id=fbb5850bd3c13a7a804c2f47dbd9eeb05e4e4b4a

(but it require closed source wifi blob - personally i am not interested in the wireless version because of that and dont own it because of that reason)

 

The BeagleBone Black is a really stable device:

 

I am willing to test images for the BeagleBone black. Developers can send me images for the BeagleBone black and i would test them and send logfiles. This and the case that everything is already mainlined make it possible to add BeagleBone black to armbian also for people who dont have the hardware at home.

Sadly i am terrible at coding after trying it out many times.

 

BeagleBone Black is avialable to order and would be probably available for much longer time thanks to OpenHardware + OpenSource software supported. I think its worth it to be supported by armbian.

 

Thanks!

Share this post


Link to post
Share on other sites

I'm not going to be the one to say this isn't interesting hardware, I know the beaglboard community is pretty healthy and there are a lot of cool projects in that arena.  I just see the current issues with supporting this without bringing a new dev into the picture:

 

-  New SoC for Armbian requires a lot of work compared to new board on a supported SoC

- "one-off" boards require more love per board because work only benefits a single device (in this case I assume the Black, Black Wireless, Green, and Green Wireless could all share with only device tree differences)

- We don't have the hardware on hand, and not being a company/profit machine we don't just go snag any and every board, so unless boards are provided to us, or we had specific personal interest in it we wouldn't even look at it.

- Most devs aren't going to be interested in a single core Cortex A8 board, it falls outside the use case of the team (I'm an outlier and am working on migrating from microcontrollers to Linux hardware where it makes sense, but things like the ESP32 and Teensy make it a hard decision most of the time)

 

The last bit is that there are a significant amount of userspace libraries that no doubt utilize some tweaks to the environment.  This would be (in my opinion) the hardwest part, because a BeagleBoard image had best support BeagleBoard peripherals, libraries, etc.  If we could get the BeagleBoard fans interested enough in Amrbian to quite frankly do the bulk of the work for themselves on the board support, I do think Armbian would be a good choice.

 

If you've wandered around the forums a bit you'll see we've been actively sorting and ending support for anything "exotic" (MiQi) or EOL'd by the manufacturer (Random Allwinner boards with "quirks".  The only boards escaping that are ones with active software support upstream (Amlogic S905 is, as far as I know, a dead processor, but is almost perfectly software compatible with the S905X and in the same family as the new S805X, and is still getting a lot of upstream support, so we continue to support Odroid C2 and NanoPi K2, as it's barely any more work than supporting the Le Potato alone).

 

The BeagleBoard Black is nice and has a community, if we could get that community to come here and help out, I think it would be a good addition, I do like the truly open-source hardware design and the existing user base.  I just know none of us have the time and resources to add it ourselves.

 

Now, as a last note, I got into this because I wanted support for a board (Tinker Board), and this was a good way to get into Linux building for embedded targets, there's a ton to learn here.  I went form that board to bringing up "Le Potato" and the NanoPi K2.  If I were you I'd fork the build system, do some reading, and give it a try

Share this post


Link to post
Share on other sites
8 hours ago, hin246ho said:

Sadly i am terrible at coding after trying it out many times.

A heretic would say you don't need coding at all to bring up a new board... :lol:

 

Indeed, hardware wise beagles have some nice features. Possible one of the few boards where I would assume without checking that they might be 'industrial grade'.. Support wise beagles have the potential to be a nightmare.. :P:ph34r: As far as I know, a lot of the hardware related stuff happens in userspace (e.g. accessing the PRUs?). So there would be some digging around to get this stuff properly packed to the images.

 

I've a beaglebone 'original' (the white one, and a beagle board) but never thought seriously about supporting them by Armbian (mostly cause they collect dust since years - my interests shifted more into software than hardware since then) and my time is very limited at the moment (only a few hours at weekends for serious digging around SBCs). So the board bring up part would be 'your part'. I (we) might give you some hints here and there but I don't see that any developer has enough time to do the first steps. I recently did it for the MT7623 and BananaPi R2 board (e.g. new SoC combined with new Board) and if you're patient enough you can do it as well. :) When you start you think you'll never get things working but over time you'll understand how 'the buildscript works' (not that I understand every part of it but it gets more and more.. :P).

https://github.com/armbian/build/pull/1151/commits might be a 'good starter' to see how a new SoC enters Armbian (in the beginnings I tried to have meaningful commit messages - the last ones are a bit lazy - shame on me... :ph34r:).

 

At least your board is well documented so this should be straightforward... You need u-boot, with a u-boot config, a kernel a kernel defconfig, time and you need to be patient enough to keep going in case you fail (and you will fail 'a few times' until it works)... Testing is a nice offer, but no dev ever here will bring up a new SoC which he doesn't has at hand.. I probably built more than 50 images for the R2 until it booted without major issues (okay.. that was my first board with a new SoC and building was sometimes 'cheaper' than think seriously if this can work.. :ph34r::lol:).

As @TonyMac32 pointed out, we're more in a resize and drop support for various boards/kernels phase of the project so new boards will only show up if new devs step up. Beagles are interesting cause they cover a new area for SBCs (e.g. real time applications etc.) but the current devs may not be as interested in this particular use-case (doesn't mean that this couldn't be part of Armbian in the future - but devs with an interest in this field and willingness to bring stuff up and running must join the project to let this happen).

Share this post


Link to post
Share on other sites

Beaglebone Black (et al) are already in pretty good hands, as beagleboard.org (seems like a project of Texas Instruments employees) does well supporting their own stuff.  If you want up-to-the-minute modern kernels, best by far is Robert C Nelson's work: https://www.digikey.com/eewiki/display/linuxonarm/BeagleBone .  (I support a commercial project with a Beaglebone Black inside, and I'm very pleased with the resources available.)

 

Share this post


Link to post
Share on other sites

Just as a PoC, I've burned a recent Armbian OPiPC image on a SDCard, then mounted it, copy the /boot folder from an recent BeagleBoneBlack image on top of existing /boot folder, along with /lib/modules/4.14.79 and kernel from a BeagleBone build I've done using the https://github.com/beagleboard/linux branch. I've copied U-boot sectors from BBB image into by SDCard. I've also remove the /boot/boot.scr from original Armbian since it has precedence over BeagleBone /boot/uEnv.txt. 

I've then inserted in my old BBB, booted it ! It worked !!! :rolleyes:

The only thing that didn't work as is, is the USB WiFi that I'm using : with old way /etc/network/interface, it didn't connect to my AP by itself, I had to use "wpa_supplicant" ...
I'm now having an BeagleBian Stretch ... :lol:

 

EDIT : I've then use "nand-sata-install", which worked luckily since this old BBB first version has only 2GB eMMC ... But it seems that u-boot is bad, I had to restore the U-boot sectors again, but that didn't work ... I will dig the issue, maybe u-boot geometry doesn't start at byte 8192 ...

 

EDIT2:  I've finally got the eMMC working after I've discovered that even eMMC is only enabled using an overlay named /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo, so I added in my experimental image.

Share this post


Link to post
Share on other sites

This is great!!! Thanks for confirming that armbian would probably be really easy portable to the beaglebone black.

martinayotte, you have a 2GB EMMC version of it. I have a 4GB EMMC version of it.

 

Now all the relevant differences are covered up for the beaglebone black. I am still willing to test out images as good as i can to help adding up support for the beaglebone black to armbian. It does not seem a full support of the board is now that far away.

Share this post


Link to post
Share on other sites
46 minutes ago, hin246ho said:

you have a 2GB EMMC version of it

Yes, mine is pretty old one ...

 

46 minutes ago, hin246ho said:

It does not seem a full support of the board is now that far away.

We are still far away, simply because my trials were done manually and using u-boot binary from BB images, not building it as Armbian build would do ...

But, in the mean time, you can create your own images using the same steps I used ...

Share this post


Link to post
Share on other sites

If anyone is serious about spending real development time working on Armbian board-bringup for the BBB 4GB eMMC, I'll send you one. It's really the least I could do since my time is often saturated. I built a power/communication controller using an industrial-grade BBB (the power distribution board was written in KiCad!! but unfortunately not open-source...) and it's been orbiting the Earth fully-functional for about a year now, so I can attest that BBBs are still relevant and can be more useful than the occasional maker light show.

Share this post


Link to post
Share on other sites

Haven't heard of that project, but it sounds interesting! Forgot to mention that my team's overall project in a 3x1 cubesat form factor. I told Jason Kridner about it at the Embedded Linux Conference in Portland last year because I thought it was the first successful BBB space deployment, but hadn't heard anything publicly. Credit where it's due, I commend those guys on a robust system. I don't think I ever had any trouble with its reliability.

Share this post


Link to post
Share on other sites

I think official support for the BBB is still unlikely. I think the basics for letting it boot with 'Armbian' (e.g. adding the new boardfamily, and some random linux config for it and the boardconfig file) could be done within a weekend. But improve it over time.. test and fix stuff, search for patches which aren't mainlined but do help a lot integrate (test again) and maintain them is the hard work which takes a lot of time.

8 hours ago, JCS said:

Haven't heard of that project, but it sounds interesting!

 

If people are interested in bringing up the beagle bone on armbian I (we) can for sure give you some guidance how things work here.. e.g. go through those threads may help:

 

and after deep sea for sure it would be fun to see Armbian in space as well (we then would need a new extreme where our images on *random SBC* do serious work :ph34r: - someone plans to fly to mars? :lol:).. IMO supporting a board only for one project may be not worth for Armbian as project - but helping such a project to get Armbian flying on their board might be.

 

19 hours ago, JCS said:

I can attest that BBBs are still relevant and can be more useful than the occasional maker light show.

I would agree that the beagles might be relevant when it comes to 'serious projects' where failure of random hardware components have a big impact. Still believe that TI understands the difference between a industrial grade component and an industrial grade SBC. In terms of long time availability I would assume that beagles are also better than most boards (you can still buy the beagleboard xM - I think mine is now something like 10 years old..).

Share this post


Link to post
Share on other sites
18 minutes ago, chwe said:

Armbian in space


:D 

 

20 minutes ago, chwe said:

would need a new extreme where our images on *random SBC* do serious work


I still haven't push repository updates :ph34r: Today's upgrade from stable to beta should tell if something is breaking. Then ... for real.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
0