Move OS to SATA SSD from uSD

Hey!
Have RockPi4B with Sata Hat. Running Armbian(latest) from uSD and have extreme bad performance. And I’m thinking, that reason is uSD (UHS-1). Bonnie++ results:


So I think, I need to change somehow system drive from this uSD from SSD. I’ve had eMMC, but it’s dead now (may be i need to buy new one, but I’m now sure if it’s performance is better than SSD).
Well, my question is - can I leave /boot on the uSD, copy everything from root to SSD and mount it, to use as main system drive?

and you need to tell kernel where new rootfs is …

With official Armbian https://docs.armbian.com/User-Guide_Getting-Started/#how-to-install-to-emmc-nand-sata-usb

eMMC is usually faster than SD card. And more reliable.

So, this is not so stupid as I thought?
Well, as I understand, moving rootfs should be done by myself, or nand-sata-install will do it for me?

If you know what you are doing, you can DIY otherwise use nand-sata-install utility (simple but less flexible).

Ha-ha, I’m sure that I’m NOT fully understand what I want to do, and how this should be done. But I wanna try. Anyway, I’m doing backups and hoping community will help me =)

I think you are using Penta SATA HAT. It’s quite straightforward.

  1. make partitions of your SATA SSD, i assume it’s /dev/sda1

  2. dump the rootfs from uSD card to /dev/sda1

    dd if=/dev/mmcblk0p1 of=/dev/sda1 bs=1M

  3. change your /boot kernel cmdline in uSD card, change root= to root=/dev/sda1

Thank you all!
nand-sata-install really helps, and made almost everything by itself. But there was some drawbacks:

  1. my main btrfs pool, which was mounted via /etc/fstab wasn’t moved (fstab was completely new), so i was need to mount it by myself (not a problem at all)
  2. docker services, which was started by docker-compose become somehow unbinded from compose file (it was named different from default, so i used -f service.yml, may be that’s important). So containers were started after restart, but they wasn’t connected with compose, and I had to delete them (docker rm) and start one more time with compose (also not a problem, but I had to figure out what happened)

As for now - performance is what I expected, at least RockPi can handle one 1080p transcoding stream via Plex, which is fair enough.