This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Migrating from BeagleBone to BeagleBone Black

Hi all,

I recently purchased a BeagleBone Black (BBB) and have already been an owner of the old BeagleBone for some time. The first thing I did when receiving the BBB was to try and run the Linux kernel and filesystem I used on my old BeagleBone on BBB. I just inserted the SD card from my BeagleBone into BBB and booted. All went well until receiving the following error:

[    0.935272] SKU: ������
[    0.937866] The error message above indicates that there is an issue with
[    0.937866] the EEPROM or the EEPROM contents.  After verifying the EEPROM
[    0.937866] contents, if any, refer to the am335x_evm_setup function in the
[    0.937866] arch/arm/mach-omap2/board-am335xevm.c file to modify the board
[    0.937896] initialization code to match the hardware configuration

The problem seems to be a consequence of my old kernel (based on ti-sdk-am335x-evm-05.06.00.00) not recognizing the BBB. I got around this by modifying the board-am335xevm.c file and enabled a call to  setup_beaglebone(); also when the board name is A335BNLT. Here is what I added to the am335x_evm_setup(struct memory_accessor *mem_acc, void *context) function:

...

else if (!strncmp("A335BNLT", config.name, 8)) {            //"NU" - Added and 'else if' for BBB
        daughter_brd_detected = false;
        setup_beaglebone();
        pr_info("This board is in fact BeagleBone Black.");

...

My question is, how wrong was what I did? BBB is after all a new board, with different hardware. I imagine much things must be changed to migrate a core form the old BeagleBone to BBB. Am I correct?

I am already downloading the latest SDK (60.00.00.00) so that I will use the latest uBoot and Linux kernel on BBB. But I am curious just how wrong my "workaround" is and what could go wrong. I would like to get a feeling for how much work was invested and what was done when adding support for BBB.

Thank you.

  • Hi Casper,

    The BB and BBBlack use different power rails, so you definitely don't want to force it to be OK with the different EEPROM until you modify the u-boot I2C calls into the PMIC. There's also different SDRAM (DDR2 vs. DDR3) and other peripheral support - all of which needs to be modified in u-boot/the kernel.

    SDK 6.0 already supports BBBlack, and I strongly recommend sticking with that version instead. If you need to use 5.6 for compatibility reasons you can use the code in 6.0 as a template, but you will need to back-port everything into the older u-boot and kernel source.

  • Hi Tim,

    I figgured it won't be as easy as what I did. Thanks for clearng that up.

    I already downloaded SDK 6.0, compiled uBoot and Linux successfully and booted it up via tftp and nfs, also successfully. Will proceed with this, as per your suggestion.

    Thanks again.