System can not boot due to missing initrd.img file

Flashing a new Debian image to the Beaglebone Black, it crashed due to a power outage.
After the incident, the Beaglebone does not boot (at boot time, the four LEDs stay lit), nor can be flashed.

Connecting to serial port, I can watch the boot logs and enter to U-Boot terminal.

The boot logs are:

U-Boot SPL 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)

reading args

spl_load_image_fat_os: error reading image args, err - -1

reading u-boot.img

reading u-boot.img

U-Boot 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)

I2C: ready

DRAM: 512 MiB



*** Warning - readenv() failed, using default environment

Net: not set. Validating first E-fuse MAC

cpsw, usb_ether

Hit any key to stop autoboot: 0

gpio: pin 53 (gpio 53) value is 1

Card did not respond to voltage select!

mmc0(part 0) is current device

Card did not respond to voltage select!

gpio: pin 56 (gpio 56) value is 0

gpio: pin 55 (gpio 55) value is 0

gpio: pin 54 (gpio 54) value is 0

mmc1(part 0) is current device

gpio: pin 54 (gpio 54) value is 1

SD/MMC found on device 1

reading uEnv.txt

1590 bytes read in 6 ms (258.8 KiB/s)

gpio: pin 55 (gpio 55) value is 1

Loaded environment from uEnv.txt

Importing environment from mmc …

Checking if uenvcmd is set …

gpio: pin 56 (gpio 56) value is 1

Running uenvcmd …

reading zImage

7307264 bytes read in 453 ms (15.4 MiB/s)

reading initrd.img

** Unable to read file initrd.img **

reading /dtbs/am335x-boneblack.dtb

62752 bytes read in 15 ms (4 MiB/s)

Kernel image @ 0x82000000 [ 0x000000 - 0x758d58 ]

## Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000

Using Device Tree in place at 88000000, end 8801251f

Starting kernel …

And here we have the four user LEDs lit.

The main issue seems to be the lack of the initrd.img file. Although, some other kernel files could be missed too.

Avoiding the option of having a hardware issue, I need to restore the kernel or a whole Linux image.

  • Can it be done through serial port (as a kernel update)?
  • Which is the best way to restore the Beaglebone?


Best way is debatable. But the most common way would be via sdcard. Via Serial port . . . ? Yeah I’m sure it’s not impossible, I’m just not sure it would be practical.

I would probably start by re-imaging the sdcard you used to flash with. As it is also possible during the power outage that it somehow got corrupted.