Can't find connected SATA Drive in Torizon's initramfs

Hello,

I am able to poke around in the TorizonCore’s initramfs by using tdxargs=rdinit=/bin/sh but once I’ve reached the initramfs shell, I am unable to see a connected EXT4 SATA SSD to then switch_root to. I tried

cat /proc/partitions; blkid; parted -l; dmesg | grep sata; dmesg | grep ahci; df; modprobe ahci; fdisk -l

and every other command I could think of. I am building Torizon in Yocto.

Greetings @jonk4m,

There’s a couple of factors here. First of all when you first get into the initramfs shell nothing is setup and /dev is probably not populated with any devices. If you look at the script /init it should look something like this: https://git.yoctoproject.org/poky/plain/meta/recipes-core/initrdscripts/initramfs-framework/init

Normally this script is ran automatically but since you interrupted the process to get into the shell it never ran, therefore nothing is setup. You can look through the script to see how it sets up the initramfs environment for booting. One of the things this script does is populate /dev based off devtmpfs. I did a quick test and after I manually performed this I was able to see the mmc devices and my attached USB device in /dev.

Now what I’m unsure of is whether this is all that is needed for your SATA SSD. Your device may need an additional driver for it to be instantiated. I don’t have a SATA SSD lying around to test only some SD cards and USBs. These were properly instantiated in the initramfs environment without having to do anything special. If a driver is needed you may need to customize the default initramfs to include the required driver as a kernel-module.

Best Regards,
Jeremias

Running the init script allowed me to view connected devices with /dev populated like you said. I was able to see a USB drive and SD, but not the SATA drive. If you could point me in the direction of the required kernel-module to include, that’d be a big help, thanks!

I was able to see a USB drive and SD, but not the SATA drive.

Hmm that’s what I feared. Well the kernel driver/module you need would be the same as in Linux. I believe that’s the “ahci-imx” driver. There should be a way in Yocto to select and build kernel modules into the initramfs. Though mind you I’m making a bit of an educated guess here rather than reciting something I’ve done myself.

Once initramfs has the kernel module that gives it the capability to mount and use SATA drives I would hope then that this would be enough for your device to be seen in initramfs.

Best Regards,
Jeremias

I still have not managed to see the SATA device from the initramfs. I tried adding:

KERNEL_MODULE_AUTOLOAD += " ahci-imx"

PACKAGE_INSTALL_append = " \
        kernel-modules \
        ahci_platform \
        nano \
        parted \
        i2c-tools \
        dosfstools \
        e2fsprogs-mke2fs \
        parted \
        udisks2 \
        run-postinsts \
"

to my local.conf, with the same disappointing results. How exactly would I add SATA support to the Torizon initramfs, whether bundled or not?

@jeremias.tx I was able to see the SSD via changing the kernel configuration as described here, on page 79.

However, I get the follow when I try to switch_root to the Torizon rootfs on the SSD:

sh-5.0# exec switch_root -c /dev/console /rootfs /sbin/init 
[  238.467932] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[  238.490228] systemd[1]: No virtualization found in DMI
[  238.495437] systemd[1]: No virtualization found in CPUID
[  238.501021] systemd[1]: Virtualization XEN not found, /proc/xen does not exist
[  238.508407] systemd[1]: No virtualization found in /proc/device-tree/*
[  238.515111] systemd[1]: UML virtualization not found in /proc/cpuinfo.
[  238.521656] systemd[1]: This platform does not support /proc/sysinfo
[  238.528035] systemd[1]: Found VM virtualization none
[  238.533007] systemd[1]: Detected architecture arm64.
[  238.538740] systemd[1]: Mounting cgroup to /sys/fs/cgroup/hugetlb of type cgroup with options hugetlb.
[  238.548389] systemd[1]: Mounting cgroup to /sys/fs/cgroup/devices of type cgroup with options devices.
[  238.557856] systemd[1]: Mounting cgroup to /sys/fs/cgroup/net_cls,net_prio of type cgroup with options net_cls,net_prio.
[  238.568926] systemd[1]: Mounting cgroup to /sys/fs/cgroup/blkio of type cgroup with options blkio.
[  238.578086] systemd[1]: Mounting cgroup to /sys/fs/cgroup/freezer of type cgroup with options freezer.
[  238.587549] systemd[1]: Mounting cgroup to /sys/fs/cgroup/cpu,cpuacct of type cgroup with options cpu,cpuacct.
[  238.597763] systemd[1]: Mounting cgroup to /sys/fs/cgroup/pids of type cgroup with options pids.
[  238.606708] systemd[1]: Mounting cgroup to /sys/fs/cgroup/perf_event of type cgroup with options perf_event.
[  238.616704] systemd[1]: Mounting cgroup to /sys/fs/cgroup/cpuset of type cgroup with options cpuset.
[  238.705024] systemd[1]: Mounting cgroup to /sys/fs/cgroup/memory of type cgroup with options memory.
[  238.715027] systemd[1]: No hostname configured.
[  238.719588] systemd[1]: Set hostname to <localhost>.
[  238.725987] systemd[1]: Initializing machine ID from random generator.
[  238.741788] systemd[1]: Successfully added address 127.0.0.1 to loopback interface
[  238.749727] systemd[1]: Successfully added address ::1 to loopback interface
[  238.756816] systemd[1]: Successfully brought loopback interface up
[  238.763181] systemd[1]: Setting 'fs/file-max' to '9223372036854775807'.
[  238.770134] systemd[1]: Setting 'fs/nr_open' to '2147483640'.
[  238.775913] systemd[1]: Couldn't write fs.nr_open as 2147483640, halving it.
[  238.782987] systemd[1]: Setting 'fs/nr_open' to '1073741816'.
[  238.788771] systemd[1]: Successfully bumped fs.nr_open to 1073741816
[  238.795263] systemd[1]: Hardware watchdog 'i.MX SC watchdog timer', version 0
[  238.802430] systemd[1]: Set hardware watchdog to 30s.
[  238.807970] systemd[1]: Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
[  238.817709] systemd[1]: Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
[  238.827297] systemd[1]: Unified cgroup hierarchy is located at /sys/fs/cgroup/unified. Controllers are on legacy hierarchies.
[  238.846588] systemd[1]: Got EBADF when using BPF_F_ALLOW_MULTI, which indicates it is supported. Yay!
[  238.855920] systemd[1]: Controller 'cpu' supported: yes
[  238.861153] systemd[1]: Controller 'cpuacct' supported: yes
[  238.866773] systemd[1]: Controller 'cpuset' supported: no
[  238.872180] systemd[1]: Controller 'io' supported: no
[  238.877247] systemd[1]: Controller 'blkio' supported: yes
[  238.882645] systemd[1]: Controller 'memory' supported: yes
[  238.888160] systemd[1]: Controller 'devices' supported: yes
[  238.893739] systemd[1]: Controller 'pids' supported: yes
[  238.899068] systemd[1]: Controller 'bpf-firewall' supported: yes
[  238.905187] systemd[1]: Controller 'bpf-devices' supported: yes
[  238.911138] systemd[1]: Set up TFD_TIMER_CANCEL_ON_SET timerfd.
[  238.917515] systemd[1]: Enabling showing of status.
[  238.922864] systemd[1]: Successfully forked off '(sd-executor)' as PID 679.
[  238.925983] systemd[679]: Successfully forked off '(direxec)' as PID 680.
[  238.937476] systemd[679]: Successfully forked off '(direxec)' as PID 681.
[  238.944930] systemd[679]: Successfully forked off '(direxec)' as PID 682.
[  238.952506] systemd[679]: Successfully forked off '(direxec)' as PID 683.
[  238.956196] systemd-fstab-generator[682]: Parsing /etc/fstab...
[  238.960323] systemd[679]: Successfully forked off '(direxec)' as PID 684.
[  238.965840] systemd-fstab-generator[682]: Found entry what=/dev/root where=/ type=auto makefs=no growfs=no noauto=no nofail=no
[  238.968355] systemd-gpt-auto-generator[684]: Failed to chase block device '/', ignoring: No such file or directory
[  238.969780] systemd-gpt-auto-generator[684]: sda1: Root device /dev/sda.
[  238.972737] systemd[679]: Successfully forked off '(direxec)' as PID 685.
[  238.981803] systemd-gpt-auto-generator[684]: No suitable partition table found, ignoring.
[  238.982072] systemd-hibernate-resume-generator[685]: Not running in an initrd, quitting.
[  238.983961] systemd-fstab-generator[682]: Found entry what=proc where=/proc type=proc makefs=no growfs=no noauto=no nofail=no
[  238.994564] systemd[679]: Successfully forked off '(direxec)' as PID 686.
[  239.000800] systemd-fstab-generator[682]: Found entry what=devpts where=/dev/pts type=devpts makefs=no growfs=no noauto=no nofail=no
[  239.001154] systemd-rc-local-generator[686]: /etc/rc.local does not exist, skipping.
[  239.008017] systemd[679]: Successfully forked off '(direxec)' as PID 687.
[  239.015893] systemd-fstab-generator[682]: Found entry what=tmpfs where=/run type=tmpfs makefs=no growfs=no noauto=no nofail=no
[  239.024557] systemd[679]: Successfully forked off '(direxec)' as PID 688.
[  239.035389] systemd-fstab-generator[682]: Found entry what=tmpfs where=/var/volatile type=tmpfs makefs=no growfs=no noauto=no nofail=no
[  239.042381] systemd[679]: Successfully forked off '(direxec)' as PID 689.
[  239.052926] systemd-sysv-generator[689]: Cannot find unit fuse3.service.
[  239.053071] systemd-sysv-generator[689]: Loading SysV script /etc/init.d/fuse3
[  239.053289] systemd-sysv-generator[689]: Adding Provides: alias 'fuse.service' for 'fuse3.service'
[  239.128726] systemd[679]: /usr/lib/systemd/system-generators/systemd-run-generator succeeded.
[  239.137307] systemd[679]: /usr/lib/systemd/system-generators/ostree-system-generator succeeded.
[  239.146038] systemd[679]: /usr/lib/systemd/system-generators/systemd-system-update-generator succeeded.
[  239.155462] systemd[679]: /usr/lib/systemd/system-generators/systemd-sysv-generator succeeded.
[  239.174888] systemd-getty-generator[683]: Automatically adding serial getty for /dev/ttyLP1.
[  239.185109] systemd[679]: /usr/lib/systemd/system-generators/systemd-getty-generator succeeded.
[  239.193849] systemd[679]: /usr/lib/systemd/system-generators/systemd-fstab-generator succeeded.
[  239.202881] systemd[679]: /usr/lib/systemd/system-generators/systemd-rc-local-generator succeeded.
[  239.211889] systemd[679]: /usr/lib/systemd/system-generators/systemd-hibernate-resume-generator succeeded.
[  239.221588] systemd[679]: /usr/lib/systemd/system-generators/systemd-gpt-auto-generator succeeded.
[  239.230844] systemd[679]: /usr/lib/systemd/system-generators/systemd-debug-generator succeeded.
[  239.239978] systemd[1]: (sd-executor) succeeded.
[  239.244673] systemd[1]: Looking for unit files in (higher priority first):
[  239.251589] systemd[1]: 	/etc/systemd/system.control
[  239.256859] systemd[1]: 	/run/systemd/system.control
[  239.261833] systemd[1]: 	/run/systemd/transient
[  239.266380] systemd[1]: 	/run/systemd/generator.early
[  239.271439] systemd[1]: 	/etc/systemd/system
[  239.275718] systemd[1]: 	/etc/systemd/system.attached
[  239.280774] systemd[1]: 	/run/systemd/system
[  239.285057] systemd[1]: 	/run/systemd/system.attached
[  239.290114] systemd[1]: 	/run/systemd/generator
[  239.294648] systemd[1]: 	/usr/local/lib/systemd/system
[  239.299802] systemd[1]: 	/usr/lib/systemd/system
[  239.304422] systemd[1]: 	/run/systemd/generator.late
[  239.325382] systemd[1]: unit_file_build_name_map: linked unit file: /etc/systemd/system/ctrl-alt-del.target → /dev/null
[  239.336672] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.network1.service → systemd-networkd.service
[  239.349772] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.Avahi.service → avahi-daemon.service
[  239.362268] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.resolve1.service → systemd-resolved.service
[  239.375220] systemd[1]: unit_file_build_name_map: linked unit file: /etc/systemd/system/systemd-networkd-wait-online.service → /dev/null
[  239.387790] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service → NetworkManager-dispatcher.service
[  239.401972] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service → ModemManager.service
[  239.415047] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.timesync1.service → systemd-timesyncd.service
[  239.428185] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.bluez.service → bluetooth.service
[  239.439247] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/aktualizr.service → aktualizr-torizon.service
[  239.450555] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/default.target → multi-user.target
[  239.460962] systemd[1]: unit_file_build_name_map: normal unit file: /run/systemd/generator/var-volatile.mount
[  239.470902] systemd[1]: unit_file_build_name_map: normal unit file: /run/systemd/generator/var.mount
[  239.480066] systemd[1]: unit_file_build_name_map: normal unit file: /run/systemd/generator/-.mount
[  239.489285] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-udevd-kernel.socket
[  239.500097] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/greenboot.target
[  239.509957] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ppp@.service
[  239.519461] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/nss-user-lookup.target
[  239.529836] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/getty.target
[  239.539351] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/plymouth-switch-root.service
[  239.550250] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-quotacheck.service
[  239.560977] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/fstrim.service
[  239.570732] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/dbus-org.freedesktop.timedate1.service → systemd-timedated.service
[  239.584166] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sockets.target
[  239.593840] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/dbus.socket
[  239.603276] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-fs.target
[  239.613137] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-hybrid-sleep.service
[  239.624033] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/lvm2-monitor.service
[  239.634271] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/bluetooth.target
[  239.644125] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-halt.service
[  239.654335] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-ask-password-wall.service
[  239.665661] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/network.target
[  239.675332] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/smartcard.target
[  239.685177] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-switch-root.target
[  239.695814] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-tmpfiles-setup.service
[  239.706893] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/greenboot-task-runner.service
[  239.717879] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-rfkill.socket
[  239.728170] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ostree-finalize-staged.path
[  239.738981] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/system-update-cleanup.service
[  239.749958] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sleep.target
[  239.759470] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/dm-event.socket
[  239.769233] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-modules-load.service
[  239.780132] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/exit.target
[  239.789547] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-random-seed.service
[  239.800356] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-cleanup.service
[  239.810728] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/network-online.target
[  239.821023] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/system-update.target
[  239.831214] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-vconsole-setup.service
[  239.842290] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/docker-integrity-checker.service
[  239.853547] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-switch-root.service
[  239.864355] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/runlevel0.target → poweroff.target
[  239.874991] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/greenboot-healthcheck.service
[  239.885983] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/kmod-static-nodes.service
[  239.896618] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/hostapd.service
[  239.906394] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-resolved.service
[  239.916940] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-volatile-root.service
[  239.928008] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/dbus-org.freedesktop.hostname1.service → systemd-hostnamed.service
[  239.941422] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/suspend.target
[  239.951108] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/avahi-daemon.service
[  239.961306] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/dev-zram0.swap
[  239.970988] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-kexec.service
[  239.981288] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-network-generator.service
[  239.992618] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/docker-watchdog.service
[  240.003092] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/plymouth-quit-wait.service
[  240.013807] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/local-fs-pre.target
[  240.023934] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ostree-remount.service
[  240.034304] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ostree-prepare-root.service
[  240.045121] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/plymouth-start.service
[  240.055497] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-parse-etc.service
[  240.066047] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-time-wait-sync.service
[  240.077116] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/dev-mqueue.mount
[  240.085058] switch cluster 0 cpu-freq governor to schedutil
[  240.087042] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/kexec.target
[  240.102049] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-update-done.service
[  240.112856] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-journal-flush.service
[  240.123836] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/time-sync.target
[  240.133687] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-ask-password-console.path
[  240.145018] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-tmpfiles-clean.timer
[  240.155918] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/multi-user.target
[  240.165863] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-fsck-root.service
[  240.175105] switch cluster 1 cpu-freq governor to schedutil
[  240.176509] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ModemManager.service
[  240.192447] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/auto-provisioning.service
[  240.203208] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/rescue.service
[  240.212919] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-update-utmp-runlevel.service
[  240.224529] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-rfkill.service
[  240.234925] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-timesyncd-update.service
[  240.246187] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/rc-local.service
[  240.256053] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-exit.service
[  240.266268] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-udevd-control.socket
[  240.277184] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/docker-compose.service
[  240.287570] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-udevadm-cleanup-db.service
[  240.298915] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/NetworkManager-dispatcher.service
[  240.310272] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/quotaon.service
[  240.320062] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/docker.socket
[  240.329669] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-suspend-then-hibernate.service
[  240.341649] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/dbus-org.freedesktop.login1.service → systemd-logind.service
[  240.354578] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/user@.service
[  240.364185] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-ask-password-console.service
[  240.375905] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-udev-settle.service
[  240.386847] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/runlevel1.target → rescue.target
[  240.397363] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/polkit.service
[  240.407077] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/fluent-bit.service
[  240.417193] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd-root-device.target
[  240.427853] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/plymouth-halt.service
[  240.438166] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-journald.service
[  240.448731] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sshd.socket
[  240.458167] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sys-kernel-config.mount
[  240.468641] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/aktualizr-torizon.service
[  240.479312] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-poweroff.service
[  240.489879] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/console-getty.service
[  240.500180] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/lvm2-pvscan@.service
[  240.510394] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-journald-dev-log.socket
[  240.521654] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/runlevel2.target → multi-user.target
[  240.532492] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-networkd.socket
[  240.542970] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/system-update-pre.target
[  240.553532] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sshdgenkeys.service
[  240.563655] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/poweroff.target
[  240.573433] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ip6tables.service
[  240.583383] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/initrd.target
[  240.592988] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/iptables.service
[  240.602860] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-ask-password-plymouth.service
[  240.614637] systemd[1]: unit_file_build_name_map: alias: /usr/lib/systemd/system/runlevel4.target → multi-user.target
[  240.625469] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/avahi-daemon.socket
[  240.635609] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sys-kernel-debug.mount
[  240.646005] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/fstrim.timer
[  240.655526] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/dbus.service
[  240.665047] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/redboot-auto-reboot.service
[  240.675867] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/halt.target
[  240.685300] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-remount-fs.service
[  240.696042] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/tmp.mount
[  240.705296] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-hibernate-resume@.service
[  240.716641] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/sshd@.service
[  240.726243] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/systemd-hwdb-update.service
[  240.737075] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/set-hostname.service
[  240.747299] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/user.slice
[  240.756648] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/ndctl-monitor.service
[  240.766948] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/container-getty@.service
[  240.777507] systemd[1]: unit_file_build_name_map: normal unit file: /usr/lib/systemd/system/plymouth-read-write.service
[  241.275084] galcore: loading out-of-tree module taints kernel.
[  241.280396] EXT4-fs (sda1): re-mounted. Opts: (null)
[  241.293645] Galcore version 6.4.3.p1.305572
[  241.451660] [drm] Initialized vivante 1.0.0 20170808 for 80000000.imx8_gpu1_ss on minor 0
[  241.483951] openvswitch: Open vSwitch switching datapath
[  241.938668] systemd-journald[701]: Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
[  241.952442] systemd-journald[701]: Journal effective settings seal=no compress=yes compress_threshold_bytes=512B
[  241.962975] systemd-journald[701]: Fixed min_use=16.0M max_use=16.0M max_size=2.0M min_size=512.0K keep_free=92.7M n_max_files=100
[  241.977845] systemd-journald[701]: Reserving 3640 entries in hash table.
[  241.984917] systemd-journald[701]: Vacuuming...
[  241.989602] systemd-journald[701]: Vacuuming done, freed 0B of archived journals from /run/log/journal/4a4e5effc09f496183c0556146aecd0a.
[  242.002558] systemd-journald[701]: Flushing /dev/kmsg...
[  242.118064] systemd-journald[701]: systemd-journald running as pid 701
[  242.124342] [VPU Encoder] enable mu�CPU:   NXP i.MX8QM RevB A53 at 1200 MHz

DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
begins rebooting.....................

Do you have any idea what issue this might indicate?

After having your SSD be seen in /dev, did you call switch_root immediatel right after?

Initramfs after calling the init script calls several other scripts located in /init.d/* that do further things to prepare the system for booting to Linux proper. The scripts are pre-pended by numbers indicating what order the are executed in. If you didn’t execute these scripts or their equivalent steps the system might be left in a state where it’s not ready to boot yet.

I’d suggest studying these scripts to see how your SATA based boot flow fits in to them. Probably only the rootfs script needs to be looked at, but make sure to check the other just in case.

Best Regards,
Jeremias