My potato boots fine the first time after flashing the sdcard. However, after doing an initial upgrade, the root file system fails to mount and drops to initramfs. The cause appears to be that it takes over 100s for the sdcard to be detected. By this time the local-premount scripts have already run and failed.
- Not sure what’s causing the delay after the upgrade
- How can I get it to wait longer for the sdcard to be detected before it fails?
Need the exact messages. Probably a bad MicroSD card corrupting data.
Ok, 3rd brand new SD card: (different symptoms)
Used Win32 Disk Imager 1.0 (balena also works)
Image used: https://distro.libre.computer/ci/ubuntu/22.10/ubuntu-22.10-preinstalled-server-arm64%2Baml-s905x-cc.img.xz
In every case, i was unable to reboot. Whenever you see a sequence like:
I had to manually power cycle.
I restarted twice, then did the upgrade, then rebooted twice more. This time it didn’t fail to boot after the update, but i was never able to reboot safely.
I recognize that sequence from other boards when not even a bootloader is found.
log to large to post here. see gist
I get the same results with 22.04.1
Can you break it down step by step. It may make sense from the perspective you describe. However, from someone who doesn’t know your setup, I cannot discern the exact issue you are having.
If the board no longer boots at all after an update (no video), it is usually due to bad MicroSD card. The sectors holding the bootloader is usually never touched by deb package updates.
I don’t have a display hooked up, I’m just using the serial console.
- I write and verify the sd card
- I modify user-data and network-config as appropriate for my network
- I boot up the unit with the sd card installed, it boots successfully
- I issue a reboot command
- The system appears to shutdown but never restarts. I only have an infine loop of the sequence of messages in the form of
- If I manually remove power and then plug it back in, it successfully starts.
Previously, (which may be causing confusion) it would successfully reboot on command but only until I installed the software updates which includes firmware and kernel from the default repositories. At which point, the sd card would be delayed to be detected, causing rootfs to not be mounted.
I am on my third new sd card with the same exact images. The gist I linked above contains 4 cycles, separated by the sequence of messages i listed.
It is possibly because of SD UHS mode. Le Potato V1 has no way to turn off VCC (power) on the MicroSD card but does have a way to switch the IO voltage from 3.3V to 1.8V needed for UHS. When Linux boots, it switches the MicroSD card to UHS mode. The problem is that the SD spec requires VCC (power) to be turned off to go back to non-UHS mode (3.3V IO) which occurs when you reboot. Some MicroSD card will work fine but others will present problems since the state of the state machine is not in a spec compliant state.
There are two potential fixes for this:
- Disable MicroSD card UHS mode and stay on 3.3V. This will decrease performance. This can be done via an DT overlay with the delete-property flag to remove UHS support.
- Switch to a MicroSD card that supports non-poweroff return to non-UHS mode.
- Improved handling through our boot and Linux stack to improve compatibility. We will actively investigate this.
Ok after more purchases and trial and error, I found one card that works.
Ref the following:
First, I wasn’t interested in any A1 cards. The one pictured was one that I already had available, though, it is
one of only two that worked but with an undesired write speed.
The first card I purchased (SanDisk Extreme) for this project was the one from the list linked in the recommended post. This card happens to be from Malaysia. (Sold by and Shipped by Amazon).
Next, I purchased several more from other listings. I ended up with some made in China and some made in Malaysia. None of The SanDisk Extreme A2’s worked.
I also got a SanDisk Extreme Pro A2, this one also did not work.
My old SanDisk Plus A1 does work.
And finally, my new Samsung Evo Select A2 (Amazon brand) does work.
Next here are the benchmarks I got (Though I think my usb reader maxes at 95MB/s)
Sam Evo select R:95 / W:65
SD Ultra plus A1 R:95 / W:46
SD Extreme Pro R:95 / W:85
SD(M) Extreme R:95 / W:80
SD(C) Extreme R:95 / W:85
So I think I’m just going to stop here for now. My samsung isn’t getting the write speed that i’m familiar with but it’s still faster than my spare card. For the record, all of my other IoT projects are using the SD Extreme A2’s but this is the only device that gives me this trouble.
Which device are you testing against? There’s currently some issue with ROC-RK3328-CC that we are resolving.
I have the ROC-RK3328-CC (renegade) as well and it’s doing fine
ubuntu@roc-rk3328-cc:~$ dmesg | grep ultra
[ 2.459940] mmc1: new ultra high speed SDR104 SDXC card at address aaaa
reboot sequence works flawless, and using the same image as the one i was trying to put on the potato
“same image as the one i was trying to put on the potato”
The bootloaders are different between the boards. You can use the same image without using libretech-flash-tool to replace the bootloader first.
Let me clarify my previous statement. I visited your dist-server and used the board-specific image of ubuntu-22.10 available for each. Index of /ci/ubuntu/22.10/
We purchased a SanDisk Extreme card just like the one in the pictures on your left. Flashed 22.10 server. Booted the system and logged in. Issued the reboot command and the system rebooted. Logged in again and issued the reboot command. It rebooted just fine.
How are you powering the board?