Unexpected Reboots on BBB Debian with 3.2 Kernel

Hello all,

Over the last few days I’ve been trying to get the 3.2 Linux Kernel (AM335x-PSP_04.06.00.11) that comes with TI’s 06.00.00.00 SDK to work on the Beagle Bone Black with a Debian root file system. I compiled the kernel from their source code myself along with a few extra modules that I need. The end goal is to port a data logging application to the Beagle Bone Black. The reason to use TI’s kernel is that it is the only kernel that I am aware of that supports power management functionality on the Beagle Bone Black. The reason to use Debian is because the data logging application currently runs on a Debian system; pre-built packages and experience with Debian ought to make the port easier.

I have managed to successfully bolt the 3.2 kernel into a Debian root file system that runs off the emmc. Everything seems to work fine except that the board reboots itself at random intervals (typically at least once every 4 hours). At the time of the reboots I am not running any application and am just letting Linux idle.

The reboots are not accompanied by any suspicious messages in syslog or dmesg (I also have an FTDI cable hooked up to capture messages from the console and still see nothing).

I am powering the board via the barrel connector and have tried multiple power supplies but see no improvement. To further rule out power supply issues, I have also tried the 3.8 kernel with the exact same root file system with the same boot loader and have found that the reboots simply disappear.

At this point I am very stuck and am open to any ideas and will be very thankful for any insights.

I fear that in order to get up and running with a Kernel that supports power management I may have to use TI’s Arago distribution and compile all needed packages from source which, although I’ve never done something like that before, seems like it would take a whole lot of time and effort.

Thanks!

I have had similar experiences to you. I wanted the power management features so went with the 3.2 kernel from Ti. In the end I gave up and switched to a 3.8 kernel and for now will do without PM.

Even the default file image supplied with the SDK would reboot randomly. Nothing in the logs or on the serial console to indicate why.

Initially I thought it was U-Boot and maybe it was setting up the memory timings too aggressively. I noticed the the Ti image gave me a higher BogoMips value than the Angstrom kernel that came pre-installed. Using the U-Boot from the Angstrom image and the kernel from Ti resulted in a lower Bogomips value, so there is certainly something going on there, but the Ti kernel still crashed randomly. My complied 3.8 kernel with the Ti U-Boot or the Angstorm U-Boot is fine though (again lower BogoMips on the Angstrom U-Boot). I also tried several different boards with the same result.

I also can’t get the accelerated graphics to work with my 3.8 kernel, but for now framebuffer support is OK

I did find a git repository based on a 3.11 kernel ( git://github.com/dgerlach/linux-pm.git ) , with power management, but I could not get that to boot, it would just hang after U-Boot decompressed the kernel and given my schedule I was running out of time to try and figure out what I had done wrong. Given time I will go back to it and maybe see if I can get it working.

Hello,

I am trying to go through the same process and bolt the 3.2 kernel into a Debian or Ubuntu root file system.

I got some problems so far regarding the partition type.
Can you please show me the steps you used to get this work?

Thanks in advance :slight_smile:

Hi,

You may want to have a read here RoberCNelson , also here linux-dev for a git repository covering many kernel branches (probably mentioned in the first link)
I am not sure if you can just take a Debian root files system and replace the Kernel with the 3.2 one and any modules you have compiled. Most of the Debian images are build for the 3.8 kernel or later it seems.

I am actually using a BuildRoot based environment, as I only needed a very basic environment, in which to run my code (Qt using frame buffer).

benedict, just don’t confuse people! I work with 3.2 kernel from RCN and the Debian rootfs from him either. Everything works out of the box.

I didn’t say it wouldn’t work. I expect most of the user land stuff to be fine. I did try to get a later version of udev working on the 3.2 kernel image supplied from TI with not much luck, but that is another problem. The biggest problem I have though, with the 3.2 kernel, is that the TI version supplied with their SDK does not seem to run for more than a couple of days without rebooting.

How are you finding the 3.2 kernel from RCN ? Although I am guessing it is going to be based on the TI 3.2 kernel.

As my name keeps popping up, I need to state... I never added BBB
support to my 3.2 based kernel, I consider 3.2 long dead.

Regards,

Did you try the patch in this message?
https://groups.google.com/d/msg/beagleboard/xPxzYyNsA78/XeyX43MODkUJ

Both kernels from TI and RCN lead to reboots at BBB. It was very well discussed here and there are a number of solution that you can use to avoid reboots:

  1. use 3.x kernel (usb otg is not supported)
  2. ground USB vbus line
  3. connect vbat, bat_sense and bat_ts together and leave floating

Dear Maxim,

I have a Debain rootfs from RCN.
However, while trying to build the 3.2 kernel from RCN databse, it gaves lot of merge conflicts for the patches.

Can you provide me with access to the patched 3.2 kernel for the BBB?

Thanks in advance!

Dear Maxim,

I have a Debain rootfs from RCN.
However, while trying to build the 3.2 kernel from RCN databse, it gaves lot
of merge conflicts for the patches.

Really? What did you change?

It builds cleanly as setup in git:
http://rcn-ee.homeip.net:8080/job/github_linux-dev/565/consoleText

Can you provide me with access to the patched 3.2 kernel for the BBB?

Regards,

To confirm what Robert says:

git clone git://[github.com/RobertCNelson/linux-dev.git](http://github.com/RobertCNelson/linux-dev.git)
cd linux-dev/
git checkout origin/am33x-v3.2 -b tmp
./build_kernel.sh

Thanks Robert and Maxim.
I started again with a fresh git clone and was able to compile a new 3.2 kernel.

When I tried booting the compiled kernel on a BBB, it hits the following error related to EEProm Configuration Option variable:

No daughter card found
[ 1.103912] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.119110] Board config.name: A335BNLT0A5C3513BBBK0428��������������������������������
[ 1.127502] Board name: A335BNLT
[ 1.130889] Board version: 0A5C
[ 1.134155] SKU: ������
[ 1.136718] The error message above indicates that there is an issue with
[ 1.136718] the EEPROM or the EEPROM contents. After verifying the EEPROM
[ 1.136718] contents, if any, refer to the am335x_evm_setup function in the
[ 1.136718] arch/arm/mach-omap2/board-am335xevm.c file to modify the board
[ 1.136749] initialization code to match the hardware configuration

Laughs, no it's working perfectly, !

As previous stated, " I never added BBB support to my 3.2 based
kernel, I consider 3.2 long dead."

AKA: DO NOT USE my 3.2 branch on the BBB, use 3.8...

Regards,

I have noticed that your are not supporting 3.2 kernel.
But Maxim mentioned that he was able to run your 3.2 kernel on the BBB.
That’s why I was asking Maxim to provide me with the patched 3.2 kernel that he was able to run on the BBB.

Hi There…

Did anyone succeed running 3.2 from the eMMC on BBB?

I managed to run ubuntu with 3.2 on BBB but from sdcard only… it can’t see the eMMC… not even as a storage. ‘lsblk’ only shows the sdcard. Any idea how to support the eMMC under kernel 3.2? I feel it could be a backport effort to the eMMC driver… any help will be appreciated.

Best Regards

Mahammad

Hi Mahammad,

Which 3.2 kernel you are using? And what version of Ubuntu?

Hi Ali…

I was using ubuntu 12.10: ubuntu-12.10-console-armhf-2013-04-26

Kernel is 3.2.0 that comes with chipsee capacitive 7"lcd. It is based on the TI sdk with a few changes to support the LCD on BBB.

Best Regards

Mahammad

Hi Mahammad,

If you try “ls -lt /dev/”, can you find mmcblk1?

Hi Ali…

No, none of the kernel 3.2.0 based images will be able to see the eMMC. But, lateron I was able to support it with that old kernel by a patch I found online was originally made for Android JB. Supporting the eMMC is easy; not more than 10 lines. You can even extract it from new versions of board-am33x file.

With that update yes, I can see two mmc blocks under the /dev/… one for the eMMC and the other for the SDCard… Now I have the beaglebone black booting up from the eMMC without any sdcards with the capacitive 7’ LCD fully functional on ubuntu 12.10+LXDE, and can access the sdcard as an external storage. Beaglebone is fun, please enjoy it.

Best regards

Mahammad