Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tinkerboard S eMMC enumeration causes dropping to shell during startup

Featured Replies

Hi all,

 

I am using Armbian Bionic on ASUS Tinkerboard S board(s) in an application where the power may fail at any point.

 

I have now, for the second time, seen a running OS starting to fail with the error.

ALERT!  /dev/mmcblk0p1 does not exists. Dropping to a shell!

I have restarted the board several times, but the error continues.

 

If I do a:

(initramfs) blkid
/dev/mmcblk2p1: UUID=....
/dev/mmcblk2: PTUUID=..

 

It seems that the OS tries to boot from the wrong device.

 

If I then, booting from another OS using SD card, change the /boot/boot.cmd rootdev:

setenv rootdev "/dev/mmcblk2p1"

And rerun the mkimage

sudo ../usr/bin/mkimage -C none -A arm -T script -d boot.cmd boot.scr

This fixes the problem..

 

Did anybody else experience this? I have seen it on two distinct boards so far.  I can provide Armbian versions if needed.

How does this device enumeration work, and why does it suddenly change? Could this be due to power failure during boot?

I've been investigating a few devices (Rock64, Armbian 19.11.3 "stable") where the first bytes of /boot/armbianEnv.txt gets overwritten with the contents of /etc/logrotate.d/alternatives.  The first time, I concluded it was power-loss-related filesystem corruption.  But, then the exact same thing happened again; the same data overwrites the same place in the same file.  That's when it became a concern.

 

When deployed, these devices will have power protection (UPS, and power loss notification), but during development many have simply lost power.

 

Should I continue to investigate, or should I assume that power protection will solve it?

 

  • Author

I agree that filesystems should be mounted read only, but my analysis was that the device enumeration somehow got messed up. I now see that this is wrong. Should I change the topic to avoid further confusion?

 

I can confirm that it in both cases was the armbianEnv.txt that got corrupted. This perfectly explains the issue and why it works updating the boot.cmd.

I can further confirm that I also got data from the logrotate / alternative configuration in my armbianEnv.txt

 

Thanks to all of you for your feedback :)

 

  • Author

My second board that failed had commit=10 in fstab. As far as I know the default is something like 5.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.