1 1
David Pottage

RockPro64 - Boot fails if fstab has volumes on PCIe SSD

Recommended Posts

(edited)

Hello,

I have a RockPro64 running Armbian buster version 20.02.1 (Linux kernel 5.4.26-rockchip64)

I have connected an M.2 SSD via an adapter in the PCIe slot, and have setup an LVM PV on it, with a number logical ext4 and btrfs volumes on it.

All this worked fine when I set it up, but when I went to reboot the system, it never came back. On the serial console, I got a series of message from the firmware and U-Boot, then "Starting kernel ..." and nothing. (I waited about half an hour)

 

I have increased the boot verbosity, by increasing the value in /boot/armbianEnv.txt from 1 to 7. If the boot is successful, I see lots of output after a delay of about a minute, but if it gets stuck, I see no output at all. I have also tried enabling earlyprintk using the guide at kernel.org, and as before I saw no output unless the boot was successful. (That guide says that you can only use /dev/ttyS0 or 1 by name, and for any other serial port I would need to find the hardware address by looking in /proc/tty/driver/serial. On the RockPro64, the default serial port is /dev/ttyS2, so I tried both that anyway, and also "0xFF1A0000" from /proc/tty/driver/serial and neither worked.)

 

Suspecting the SSD, I powered off, disconnected it, and rebooted. After a delay of about 2 minutes I got "Give root password, or Ctrl-D to continue" (Not sure of the exact wording), so Iogged in, and edited /etc/fstab to comment out or add "noauto" to the lines for all file systems on the SSD. I was then able to reboot successfully.

Those volumes on the SSD will mount fine from the command line after boot, but it looks like they don't mount successfully during boot, and are preventing boot.

I suspect that there is some sort of issue with dependencies in systemd. Perhaps the PCI bus or the LVM2 mapper is not ready when the kernel attempts to mount the filesystems, but why would that block the boot, rather than just adding a delay?

 

On one occasion, I attempted to boot with just a swap volume on the SSD name in /etc/fstab, and I saw this in syslog:

 

Mar 21 19:52:57 jupiter systemd[1]: dev-jupiter\x2dvg1-swap.device: Job dev-jupiter\x2dvg1-swap.device/start timed out.
Mar 21 19:52:57 jupiter systemd[1]: Timed out waiting for device /dev/jupiter-vg1/swap.
Mar 21 19:52:57 jupiter systemd[1]: Dependency failed for /dev/jupiter-vg1/swap.
Mar 21 19:52:57 jupiter systemd[1]: dev-jupiter\x2dvg1-swap.swap: Job dev-jupiter\x2dvg1-swap.swap/start failed with result 'dependency'.
Mar 21 19:52:57 jupiter systemd[1]: dev-jupiter\x2dvg1-swap.device: Job dev-jupiter\x2dvg1-swap.device/start failed with result 'timeout'.


Does anyone have an idea how I can fix this, or how to investigate further, given that I don't see any output on the serial console or the HDMI monitor when the boot fails?

Thanks, David

 

Edited by David Pottage
Put log lines into a code block.

Share this post


Link to post
Share on other sites

Hi, I am trying to investigate a booting issue with PCIe disk mounts, and it is difficult because I am not seeing any error messages during boot.

 

I have already increased the boot verbosity, by increasing the value in /boot/armbianEnv.txt from 1 to 7, but that is not helping much. I looks like the issue happens much earlier in the boot process. When I described my problem on the debian-arm mailing list, one reply suggested that I enable earlyprintk, and gave me a link to the Linux kernel command line docs.

 

I tried following those instructions, but I can't get any more output during boot on the RockPro64 serial port /dev/ttyS2. How do I get that working?

 

Thanks, David.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1