HQP NAA - BeagleBone Black

Facing the reality that my Raspberry Pi will always inject some soft intermittent clicking with 128DSD as a result of it’s USB implementation I cast around for an alternative.

There is, of course, the CuBox-i. It seems like a great piece of equipment, well suited to being a trouble free NAA. But where’s the fun in that ? It’s also about twice as expensive as a BeagleBone Black. So, I ordered the BBB …

I’ll be using Jussi’s NAA 3.11 BBB image, minimal and trouble free on the Raspberry Pi.

First thing to notice is that the BBB has onboard flashable memory in an eMMC and usually boots from that. We want to boot the 3.11 NAA image which we will write onto a micro SD card.

Jussi said in this CA thread:

On BeagleBone it is likely necessary to destroy contents of the internal eMMC to get it automatically boot to the microSD. Can be done with normal Debian SD by dd’ing for example 4 MB of zeros to beginning of the eMMC block device. Or alternatively dumping the provided NAA image to the eMMC (not tested).

So when I get the BBB first thing will be to overwrite the eMMC to get it to boot from the microSD card. Once we have that working I will check out whether I can flash the 3.11 NAA image to the eMMC.

Earlier in the above CA thread there was the following further information:

Does anyone know how to force a BBB to recognize the microSD as boot startup WITHOUT pressing the boot button on the board? One of the two boards I bought, does not boot from the microSD card as per the instructions on the official webpage.

With the images from above link, I believe it should automatically boot to the microSD. But one way to force boot to microSD is to destroy boot section from the eMMC using “dd if=/dev/zero of=/dev/mmcblk0 ■■=4M count=1” (check that the output device is correct and doesn’t accidentally go to the microSD instead, eMMC may also show up as /dev/mmcblk1).

I did something similar, based on one of the elinux BBB pages: Beagleboard:Updating The Software - eLinux.org

I deleted the MLO file from the FAT partition of the eMMC. All this did was brick my BBB.

That’s why it is better to get the entire partition table removed, so that the initial boot ROM doesn’t think there’s anything useful on the eMMC… So I’ve just dd’ed zeros to the beginning of eMMC.

What fun ! More to follow when the hardware arrives.

4 posts were split to a new topic: NAA USB to UTP; Linn DS?

One way is to create Debian Stretch microSD and copy also the NAA image there. Then that image can be used to boot up and dump the NAA image to the internal eMMC. So it serve as sort of dual-purpose installer/eMMC wipe microSD.

1 Like

Thanks Jussi,
That sounds like a simple solution. I will read up on writing images in Linux and check again with you after hardware has arrived and before flashing anything !

Hi @jussi_laako,

BeagleBone Black (Rev C) has arrived and I have powered it up and connected it to my PC. I can access it as a storage device. Windows has assigned it drive E:

The first thing I wanted to check was whether I could simply burn your BBB image to drive E: using Win32DiskImager from my Windows desktop ?

If so, that might save a bit of messing about with SD cards. Could that be expected to result in your image booting from the eMMC ?

I think I’ve found an answer. It is possible to flash the eMMC over USB, but the steps required are more complex than using the SD Card flasher.

Also the E: drive accessible through USB to the BBB is approximately 80Mb in size. It’s clearly not the whole 4Gb eMMC.

Well… Didn’t you want something a bit sportier? :wink:

Good luck, sir! I’ll be watching this space…

1 Like

I’ve downloaded Jussi’s BBB NAA 3.11 image and written it to a micro-SD. But I can’t get the BBB to boot from it. There is a Boot button that is supposed to enable booting from the SD when pressed and power is applied. That isn’t happening on my board, similar to the user in the CA thread above.

Using the 5v power adaptor I can’t boot either the SD or the eMMC. The power light goes on briefly and then goes out. It may be my power adaptor, but I thought it was good for 2.1 amps. I’ll try another adaptor and report back.

With a powered USB connection I can boot to the eMMC fine. When I try to boot the NAA image from the SD using the Boot button I get a constant power light, but none of the other LEDs light up.

I will try writing a Debian image to another SD (can’t find a Stretch image, latest is a Jessie 8.3), booting with that and then flashing the NAA image to the eMMC. I don’t have much confidence in that working however, as I expect to find the same problem booting Debian from an SD card as with the NAA image. I will try it and report back.

In the meantime, I have picked up a Cubox-i2eX for $79 AUD second hand on eBay.

Looks like this round belongs to you @RBM ! shakes fist impotently

Edit: Found what looks like the same issue and a fix.

Is it possible @jussi_laako that a similar dtbs directory is needed in the NAA image for it to boot ?

I wrote the Debian Jessie 8.3 image from BeagleBoard.org to an SD and was able to boot from it holding down the Boot button and using USB power.

I plugged in an Ethernet cable to the router and with puTTY was able to open an SSH terminal.
User: Debian
Password: temppwd (remember linux won’t show any keystrokes as you enter a password)

Now to see if I can copy the NAA image on to this bootable SD and write it to the eMMC.

Nope. I can’t open the bootable Debian SD in Windows. It tells me to format drive H: first.

So I downloaded Paragon ExtFS for Windows. No luck. When set to automount it sees a small Linux partition I had on a hard drive, but can’t see the SD on drive H:

Anyone care to suggest anything ?

CuBox-i is looking pretty good at this stage.

I’ve had issues with a B’black not being able to run / boot from a 2.1 Amp PSU. I ended up buying an external PSU and all was well from then.


1 Like

Same experience here - I think I ended up with a 2.5 Amp PSU and that worked fine for a BBB + HiFace USB to SPIDIF

1 Like

No winners or losers here, @andybob – a Cubox is always fun to have. In fact, your post prompted me to further inspect mine, only to find out I was sent an i2eX as well – even though it was advertised as a plain Jane i2.

As for the BeagleBone: since you’ve got a booting card, why don’t you just ‘wget https://www.signalyst.eu/bins/naa/v3/images/naa-311-beaglebone.zip’, unzip and write to the eMMC directly from Debian?

1 Like

Thanks Rene,

That’s the suggestion that I was looking for. I’ll try it tonight.

Godspeed! :slight_smile:

This looks like a PSU issue… There is initial current peak when the board is powered up and if the over current protection in the PSU is over-sensitive it may cut out the power at that point.

I solved the eMMC vs microSD boot by using the default image on eMMC to self-destruct, using the command stated in the quote of the first message in this thread (dd’in four megabytes of zeros to the eMMC). Note that if something doesn’t go as planned it may brick your device at least to some extent. Once the internal ROM considers eMMC empty it attempts to boot from microSD. From that point on it is simple as swapping the microSD whenever you want to change what you’d like to boot. I also did that because my BBB is in a metal case and I’d need to open it up to be able to press the button…

1 Like

Ok. I have the BBB booting from the NAA image microSD and am listening to it as I type. It went pretty much as described by Jussi (thanks !). I’ll set it out in detail for everyone.

I used a new 5V Power Supply for the BBB throughout. All worked fine.

I also left the BBB connected by Ethernet to my router at all times.

I booted from the Debian microSD image as described above, using the Boot button to do so.

I logged into the BBB using PuTTY. In order to run the linux command below I had to login as Root (no password) rather than as Debian/temppwd.

Now came the linux command to write 0’s to the eMMC and destroy the existing file system and boot sector on it. This will then result in the BBB booting from the NAA SD card (downloaded and written as above).

I should note that destroying the eMMC file system and boot sector will wipe the existing OS and info stored on the eMMC. You might want to copy the BBB manual and any other data you may have stored in the USB eMMC “thumb drive” space (see above).

Now a stupider person than you dear reader, would probably not carefully read the whole relevant instruction by Jussi, which goes like this:

But one way to force boot to microSD is to destroy boot section from the eMMC using “dd if=/dev/zero of=/dev/mmcblk0 ■■=4M count=1” (check that the output device is correct and doesn’t accidentally go to the microSD instead, eMMC may also show up as /dev/mmcblk1).

In order to accurately simulate such a stupid person I conducted a short experiment under controlled conditions to test whether the bracketed advice (check the output device) was more of a guideline than a rule. It’s a rule. I do these things so you guys don’t have to.

After rewriting the now empty microSD card (or full of 0’s anyway) with the Debian image I booted back into it, logged in and gave the command df to see what filesystems might be about. And yes, the eMMC was appearing as /dev/mmcblk1. After editing the command accordingly I used:

dd if=/dev/zero of=/dev/mmcblk1 ■■=4M count=1

A report confirming the write came up and I shutdown the BBB with

shutdown -P now

and closed PuTTY.

Now I put the NAA BBB image micro SD in the BBB (I downloaded and wrote it as described in a post above) plugged in the USB connection to my DAC and and powered the BBB up again. No need to use the Boot button, it booted straight from the microSD.

Booting from the NAA image didn’t activate any of the usual BBB LED boot lights. They all remained dark. What did happen, however, was that the Ethernet lights lit up showing an active connection and the IP address for the BBB became active in HQP Network Naming Tool. I named it BeagleBone Black and it was there as a selectable device in Settings. It still knew that it was connected to the Vega as well, even though there is an Uptone Regen in the path.

I selected it and hit play, Nothing happened. I restarted the Roon Remote and did it again. This time we got sound.

I’m listening to the BBB now. No pops using DSD128 which is nice. Can’t otherwise tell much difference from the Raspberry Pi.

Next instalment we shall try to get the NAA image and write it to the eMMC so we can leave the microSD card out of it.

1 Like

I believe the boot device will always appear as mmcblk0… Since I may have booted from the default internal eMMC media and used it to self-destruct, it was mmcblk0 for me…

1 Like

In the great spirit of fixing something that is not broken, this is how I burned Jussi’s NAA BBB image onto the eMMC so that it could boot from it and we could ignore my growing collection of micro-SD cards.

Leave the BBB connected to the Ethernet, but disconnect it from your DAC.

First step is to boot the BBB off the Debian micro-SD I created in a post above. Now that I have burned 0s into the eMMC I can do that without holding down the Boot button. If you haven’t done that, then you will need to hold down the Boot button as power is applied in order to boot from the micro-SD.

PuTTY in and login as Root (I haven’t given Roon a password yet, I know this will make any Linux folks out there grimace).

Next we need to update the Debian system. The command to do that is:

sudo apt-get update

This will cause the Debian system to update itself and result in a fair bit of package download and reporting to the screen

Now we want to install the utility unzip, so we can unzip the file we will be downloading:

sudo apt-get install unzip

Again a bit of reporting as the appropriate package is installed.

Then we want to get the NAA BBB image zipfile from Jussi’s site (thanks @RBM):

wget https://www.signalyst.eu/bins/naa/v3/images/naa-311-beaglebone.zip

After the zipfile has been downloaded we unzip it with our newly installed unzip command:

unzip naa-311-beaglebone.zip

This will inflate the file we want: naa-311-beaglebone.img

Lastly we write that file to the eMMC (adapting the dd command we used above):

dd if=naa-311-beaglebone.img of=/dev/mmcblk1

It will take about a minute to write the image to the eMMC. It is important not to power off the BBB while it is writing to the eMMC.

After you get a report that 134 MB have been copied then shutdown the BBB:

shutdown -P now

Close PuTTY, eject the Debian micro-SD, connect it by USB to your DAC and reboot the BBB.

It won’t show any boot lights but the Ethernet lights should come on indicating a signal is being received and you should also see it’s IP address come up in the Network Naming tool in HQP. Once renamed it will be available under that name to select as an output device in HQP settings.

Listening at the moment and enjoying it greatly. Can’t tell any real SQ change, but it boots fast and doesn’t have the artifacts of the Pi. I’m going to go out on a limb and say that a BBB booting Jussi’s NAA image is about as inexpensive and minimal as a computer connected to your DAC is likely to get. Powering it from a LiPo battery will keep it noise free also. It’s a pretty good solution and within anyone’s reach, with a small amount of Linux fun thrown in.

One final point, I’d recommend powering down the BBB by holding down the Power button on the board. I have a case that lets me press it through a cutout. That will minimise the risk of corrupting the eMMC which would require us to rewrite the image.

Thanks to @jussi_laako, @RBM, @Rik and @IanM for your help and suggestions. We got there in the end !

All is well that ends well, I guess. Thank you for sharing this exhilarating story – it reads like an adventure out of the books of my childhood…

Still, I think I’ll stick to my Cuboxes… :wink: