Root FS on usb3 drive
#1
I have set up extlinux.conf (on sd card) such that it will obtain the root filesystem from my USB drive. Everything works OK when I connect the drive to USB 2 port (I get the message during the boot that the drive is spinning up, the kernel waits for that and then the boot proceeds normally). This is a USB 3 drive and, of course, it would be better to connect it to the USB 3 port in rock64. When I do this, the system starts booting but then gets stuck before it says anything about waiting for the drive to spin up. I was randomly playing with the cables back and forth and somehow I managed to get it to boot once from USB 3 but I am not sure what I did exactly.

Has anyone gotten rootfs on USB 3 drive to work correctly when loading the kernel from sdcard? I know that the drive works on USB 3 port (PC) and it has its own power supply, so there should not be any power issues.
  Reply
#2
If I boot the system without the usb3 drive connected (boot code & kernel on sd), it will proceed and eventually wait for rootfs. If I plugin the usb3 drive at this point, it will usually proceed booting from it (but it seems to depend on timing somewhat). While this is better than not being able to have rootfs on usb3 at all, it can cause issues if one needs to reboot the system remotely (no access to usb cables). This is with the 5.10 (stretch) image based kernel (4.4..something). The newer ones don't boot on my system (0.6.x) and, by the way, the mainline kernel does not boot either (but that could be something else). The rootfs itself is fedora 27.
  Reply
#3
(12-16-2017, 09:53 AM)eloranta Wrote: I have set up extlinux.conf (on sd card) such that it will obtain the root filesystem from my USB drive. Everything works OK when I connect the drive to USB 2 port (I get the message during the boot that the drive is spinning up, the kernel waits for that and then the boot proceeds normally). This is a USB 3 drive and, of course, it would be better to connect it to the USB 3 port in rock64. When I do this, the system starts booting but then gets stuck before it says anything about waiting for the drive to spin up. I was randomly playing with the cables back and forth and somehow I managed to get it to boot once from USB 3 but I am not sure what I did exactly.

Has anyone gotten rootfs on USB 3 drive to work correctly when loading the kernel from sdcard? I know that the drive works on USB 3 port (PC) and it has its own power supply, so there should not be any power issues.

Yes, it works fine. I am using Ayufan's Artful minimal (Linux rock64 4.4.77-rockchip-ayufan-141) and have tested with his several other variants. 

https://forum.pine64.org/showthread.php?tid=4971
  Reply
#4
Interesting... Mine will work if I plug it in after the kernel has booted some way. If it is connected when the system is powered up, it will not work. So, this probably applies to drives that require the spin up wait.
  Reply
#5
(12-18-2017, 02:20 PM)eloranta Wrote: Interesting... Mine will work if I plug it in after the kernel has booted some way. If it is connected when the system is powered up, it will not work. So, this probably applies to drives that require the spin up wait.

I have tried SSD and conventional mechanical drives and both work. I am currently using an old Seagate mechanical drive.  Make sure your HDD enclosure or the USB3 hub are self powered.
  Reply
#6
yes, you need to be sure to use a powered usb3 hub. it would help if you powered up the drive prior to booting sequence.
i am using this build
http://files.pine64.org/os/ROCK64/androi...mmc.img.xz
the developer of this build did a good job with the root on this build.
  Reply
#7
I have two mechanical drives connected to a powered USB3 hub. Both their power supply units are plugged to a power strip with a master switch. Each morning I just switch on the master switch and the Rock64 boots up reliably without any problem. There hasn't been any need to power up the drive first.
  Reply
#8
The drive is self-powered (Seagate), so it should not put load on the bus. I cannot power up the drive manually prior to boot, I guess it has to sense the host in the usb3 bus before it does so by itself. So, all this is automatic and can't be avoided.

This is with kernel: 4.4.77-rockchip-ayufan-118. The weird thing is that this boots ok if connected to a usb2 port and usb3 when plugged in about half-way of the boot I(just before it looks for root fs). I don't have any SSDs to test with (or other drives that would have power on already initially). What kernel version does the above mentioned image have?
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  USB3.0 Issues at DietPi(Armbian) #22.02.1 t4_4t 3 2,205 08-15-2022, 06:58 PM
Last Post: TRS-80
  External hard drive problem k8Va 17 21,927 03-09-2021, 02:31 PM
Last Post: calinb
Sad Rock64 crash randomly during usb 3 copy with RAID1 drive phalae 24 34,122 09-14-2020, 10:48 AM
Last Post: BrownLuther007
  USB 3.0 hard drive write speed increase tip on Ubuntu 18.04 Wizardknight 3 6,691 05-26-2019, 10:28 PM
Last Post: Wizardknight
  Forcing u-boot to detect USB3 storage jandastroy 8 10,949 04-02-2019, 10:06 PM
Last Post: t4_4t
  Repair corrupt root filesystem on emmc David82 1 3,667 01-31-2019, 01:11 PM
Last Post: Tozzi
Rainbow USB3 Detection Issues When Booting Without USB Device Attached Dargmuesli 0 1,919 01-14-2019, 11:26 AM
Last Post: Dargmuesli
  USB drive powered off after reboot huberttrz 1 2,960 12-20-2018, 05:39 PM
Last Post: huberttrz
  USB3 problems scalextrix 2 3,932 09-08-2018, 01:15 AM
Last Post: scalextrix
  Rock64 USB3 bugs NitroDeath 4 7,727 09-02-2018, 03:00 AM
Last Post: NitroDeath

Forum Jump:


Users browsing this thread: 1 Guest(s)