It is actually a boot failure. Normally the kernel reads some config from the initrd (the bootloader loads initrd and passes it to the kernel - thanks dan) and then does a bunch of setup stuff, and then it mounts the actual root filesystem, and then switches to using that. In this case, the root filesystem has failed to mount.
Hardware failure is most likely the cause, but misconfiguration can also make this happen. Probably hardware though.
If its misconfiguration, an admin can reattempt to mount the root drive on /new_root, and then ctrl-d to get the init system to try again
ELI5: couldnt open C:/ drive
Edit: clarified what loads the initrd - as per dans comment.
Switching to Linux and actually being able to see real time logs made me actually curious how it works, so that’s one gear out of the machine demistified
It’s been my experience that SD cards are almost always what causes a failure on a SBC. Given the cost of the screens, i’d probably choose something that could boot off nvme storage. Or at least tape a new, configured SD card to the case of the SBC for when this inevitably happens.
They probably expect the signage to change a lot and don’t want a hardware failure when they do it too much, or didn’t use an external drive in this case and the SD card failed because they wrote to it too much (which would happen eventually anyway).
So the weird block character in the “see… for details” line is replacing “nitrd-switch-roo” just to shorten the line? That’s what I was trying to figure out.
Can a linux/systemd nerd explain what the error is? I know it’s a shutdown sequence, but I’m curious on the fault
It is actually a boot failure. Normally the kernel reads some config from the initrd (the bootloader loads initrd and passes it to the kernel - thanks dan) and then does a bunch of setup stuff, and then it mounts the actual root filesystem, and then switches to using that. In this case, the root filesystem has failed to mount.
Hardware failure is most likely the cause, but misconfiguration can also make this happen. Probably hardware though.
If its misconfiguration, an admin can reattempt to mount the root drive on /new_root, and then ctrl-d to get the init system to try again
ELI5: couldnt open C:/ drive
Edit: clarified what loads the initrd - as per dans comment.
The bootloader (GRUB) loads the initrd, not the kernel. The kernel accesses stuff from the initrd, but it’s already loaded by that point.
You are correct. Ill add an edit. Thanks!
Thanks for that!
Switching to Linux and actually being able to see real time logs made me actually curious how it works, so that’s one gear out of the machine demistified
These kinds of public errors are almost always a hard drive failure.
Using an actual hard drive for an embedded system like this would be a failure in and of itself.
Unless it literally has to store several hours’ worth of HD video content, no reason the entire system couldn’t fit on an SD card.
It’s been my experience that SD cards are almost always what causes a failure on a SBC. Given the cost of the screens, i’d probably choose something that could boot off nvme storage. Or at least tape a new, configured SD card to the case of the SBC for when this inevitably happens.
An SD card is MUCH less reliable than a good hdd unless it’s read only.
They probably expect the signage to change a lot and don’t want a hardware failure when they do it too much, or didn’t use an external drive in this case and the SD card failed because they wrote to it too much (which would happen eventually anyway).
Even better: Three SD cards with a ZFS mirror and failure notifications
Bah humbug, just hook it up to the cloud, WCGW?
You don’t need an internet connection for failure notifications
Systemd has a feature to shorten lines too long for the display, which is a pretty stupid idea, as you can see here.
The service failing here would be initrd-switch-root.service.
So the weird block character in the “see… for details” line is replacing “nitrd-switch-roo” just to shorten the line? That’s what I was trying to figure out.
Yeah, that’d be the Unicode ellipsis character (…) rendered on a system without a Unicode font on the terminal.