EBC Exercise 22 Recovering

From eLinux.org
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


What do you do if you've been working on the kernel or u-boot and now your BeagleBone Black won't boot? Here's what works if you've saved the .orig files as suggested. If you didn't save the files, goto EBC_Exercise_03_Installing_a_Beagle_OS and reflash the whole thing, see you in 45 minutes.

If you did make backups, follow along, this is much faster.

Getting the SD card image

The first step is to set up an SD that you can boot off. Before, you created an SD card that would copy an image to the on board eMMC. This is different, now you will be booting off the SD card. No need for the 45 minute wait.

Go to the latest images and download the first link (Angstrom Distribution (BeagleBone, BeagleBone Black - 4GB SD) 2013-06-20). Copy it to your SD card like you did for the eMMC image.

Boot off the SD card

Once your SD card is ready,

  1. power off the Bone
  2. put SD card in the reader on the Bone
  3. hold down the S2 button. It's the one near pin 45 of P8
  4. power up the bone, while still holding S2
  5. wait for all the LEDs to light and the release S2.

You are now booting off the SD card. Once booted, login and mount the eMMC partition.

Mounting the FAT partition

If you are recovering from changing u-boot you need to mount the first (FAT) partition.

beagle$ mkdir /media/BONE
beagle$ mount /dev/mmcblk1p1 /media/BONE/
beagle$ cd /media/BONE/
beagle$ ls
App   Drivers  LICENSE.txt  README.md  autorun.inf  u-boot.img.new   uEnv.txt
Docs  ID.txt   MLO          START.htm  u-boot.img   u-boot.img.orig

You can now move the original u-boot image back

beagle$ rm u-boot.img
beagle$ cp u-boot.img.orig u-boot.img
beagle$ cd ..
beagle$ umount BONE

Mounting the ext4 partition

If it's the kernel you need to recover, you need to mount the second (ext4) partition. It's like before, but you change one digit.

beagle$ mkdir /media/BONE
beagle$ mount /dev/mmcblk1p2 /media/BONE/
beagle$ cd /media/BONE/
beagle$ ls
bin   dev  home  lost+found  mnt   run   sys  usr
boot  etc  lib   media       proc  sbin  tmp  var
beagle$ cd boot
beagle$ ls
am335x-bone.dtb       omap3-evm.dtb       uEnv.txt
am335x-boneblack.dtb  omap3-tobi.dtb      uImage
am335x-evm.dtb        omap4-panda-a4.dtb  uImage-3.8.13
am335x-evmsk.dtb      omap4-panda-es.dtb  uImage-3.8.13-bone26.1
am335x-tester.dtb     omap4-panda.dtb     uImage-3.8.13-bone27
omap2420-h4.dtb       omap4-sdp.dtb       uImage_bak
omap3-beagle-xm.dtb   omap4-var-som.dtb
omap3-beagle.dtb      omap5-evm.dtb
beagle$ rm uImage
beagle$ ln -s uImage-3.8.13 uImage

And then clean up

beagle$ cd ../..
beagle$ umount BONE

Rebooting

You can't just run the reboot command at this point. You need to power off the Bone, remove the SD card and then reboot.

beagle$ halt

One the lights are off, eject the SD card and power up. You should be recovered.




thumb‎ Embedded Linux Class by Mark A. Yoder