Mount options at boot

How does the Turris OS boot works on Omnia? What and where does it provide options for mounting rootfs? I have a 32GB USB stick with btrfs and would like to enable compression, but I don’t know where to set it. It mounts correctly, but with “standard” settings.

I understood something about mounting rootfs on Omnia, but I am still missing a few pieces. In the meantime, booting is done with U-Boot (and so far so good); U-Boot reads a script located in /boot and called boot.scr(ipt), which contains the blessed rootflags and gpio verification for loading the dtb for SFP or Ethernet. At this point with mkimage I recreated the script, after modifying the rootflags I was interested in. But one mystery still remains: if I add relatime among the flags, the kernel does not boot, i.e. rootfs is not mounted. Is the default noatime hardcoded somewhere? Can it be changed?


/dev/sdb1 on / type btrfs (rw,noatime,compress=zstd:3,space_cache=v2,commit=5,subvolid=287,subvol=/@)
devtmpfs on /dev type devtmpfs (rw,relatime,size=1031744k,nr_inodes=188193,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
bpffs on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700)
/dev/mapper/MyVolGroup-srv on /srv type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=320,subvol=/@)
/dev/mapper/MyVolGroup-srv on /srv/docker type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=320,subvol=/@)
/dev/mapper/MyVolGroup-srv on /srv/docker/btrfs type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=320,subvol=/@)
nsfs on /tmp/run/docker/netns/53c9bf9416c0 type nsfs (rw)
nsfs on /tmp/run/docker/netns/6c8aed9f1914 type nsfs (rw)

Really, what I want to achieve now is to set all filesystems to notaime.
Can anyone explain to me those relatime options where they are taken from? I can’t find anything on the net about the mount procedure at Turris OS startup. And I’m talking about system filesystems, not external disk filesystems or the like. For example, where is it decided to mount proc to /proc with noatime and devtmpfs to /dev with relatime?
It would be very fascinating for me to understand that.