[T-Mobile Samsung Galaxy S 4] AlaskaLinuxUser:
I really like your questions, keeps me sharp! You can always ask them here, but just so you know for your personal reference, this link you can use to check any kernel option with the search bar at the top:

http://cateee.net/lkddb/web-lkddb/F2FS_CHECK_FS.html

Which says:

So, to improve performance, I leave it off. From my limited understanding, it is a tool that constantly checks the f2fs filesystem to make sure it is properly reading/writing. (If anybody out there has more info, please share!)

Most ROMS go through a lot of setup on the first run. For example, optimizing apps, setting up users, setting some file/user permissions, and the like. It may be that there is something very specific that is done the first run that specifically calls for something in their kernel, but I kind of doubt it. What it likely does do, however, is call something specific in their boot.img.

The boot image is actually not just the kernel, it has 2 files:

--kernel zImage --ramdisk initramfs.cpio.gz

The zImage is the actual kernel.

The ramdisk is full of files:

$ find ./
charger init.environ.rc init.target.rc seapp_contexts
data init.qcom.power.rc init.trace.rc selinux_version
default.prop init.qcom.rc init.usb.rc sepolicy
dev init.qcom.usb.rc init.zygote32.rc service_contexts
file_contexts init.rc proc sys
fstab.qcom init.recovery.usb.rc property_contexts system
init init.slim.rc res ueventd.qcom.rc
init.carrier.rc init.superuser.rc sbin ueventd.rc

Some of these files, namely the ones that start with init.*, have specific instructions. This one is from the SlimLP kernel. Note that it has a init.slim.rc file. This file says:

$ cat init.slim.rc
# Extras

import /init.superuser.rc

on init
export TERMINFO /system/etc/terminfo
export TERM linux

# Set up the BFQIO hierarchy
chmod 0755 /sys/fs/cgroup
mkdir /sys/fs/cgroup/bfqio 0755 root system
mount cgroup none /sys/fs/cgroup/bfqio bfqio
chown root system /sys/fs/cgroup/bfqio/tasks
chmod 0666 /sys/fs/cgroup/bfqio/tasks

# Soft realtime class for display service
mkdir /sys/fs/cgroup/bfqio/rt-display 0755 root system
write /sys/fs/cgroup/bfqio/rt-display/bfqio.ioprio_class 1
write /sys/fs/cgroup/bfqio/rt-display/bfqio.ioprio 7
chown system system /sys/fs/cgroup/bfqio/rt-display/tasks
chmod 0664 /sys/fs/cgroup/bfqio/rt-display/tasks

on post-fs-data
mkdir /data/.ssh 0750 root shell

on boot
start sysinit

chown system system /sys/block/mmcblk0/queue/scheduler
chmod 0664 /sys/block/mmcblk0/queue/scheduler
restorecon /sys/block/mmcblk0/queue/scheduler

chown system system /dev/cpuctl/apps/cpu.notify_on_migrate
chmod 0664 /dev/cpuctl/apps/cpu.notify_on_migrate

chown system system /dev/cpuctl/cpu.notify_on_migrate
chmod 0664 /dev/cpuctl/cpu.notify_on_migrate

# LiveDisplay sysfs
chown system system /sys/devices/virtual/graphics/fb0/aco
chmod 0660 /sys/devices/virtual/graphics/fb0/aco
chown system system /sys/devices/virtual/graphics/fb0/cabc
chmod 0660 /sys/devices/virtual/graphics/fb0/cabc
chown system system /sys/devices/virtual/graphics/fb0/rgb
chmod 0660 /sys/devices/virtual/graphics/fb0/rgb
chown system system /sys/devices/virtual/graphics/fb0/sre
chmod 0660 /sys/devices/virtual/graphics/fb0/sre

# Define TCP delayed ack settings for WiFi & LTE
chown system system /sys/kernel/ipv4/tcp_delack_seg
chown system system /sys/kernel/ipv4/tcp_use_userconfig
setprop net.tcp.delack.default 1
setprop net.tcp.delack.wifi 20
setprop net.tcp.delack.lte 8
setprop net.tcp.usercfg.default 0
setprop net.tcp.usercfg.wifi 1
setprop net.tcp.usercfg.lte 1

# Persistent properties (only created if persist exists)
mkdir /persist/properties 0770 system system

# sysinit (/system/etc/init.d)
service sysinit /system/bin/sysinit
user root
oneshot
disabled

# adb over network
on property:service.adb.tcp.port=5555
stop adbd
start adbd

on property:service.adb.tcp.port=-1
stop adbd
start adbd

# Configure IO scheduler
on property:sys.io.scheduler=*
write /sys/block/mmcblk0/queue/scheduler ${sys.io.scheduler}

on property:persist.sys.io.scheduler=*
setprop sys.io.scheduler ${persist.sys.io.scheduler}

# Set slice_idle to 0 for CFQ
on property:sys.io.scheduler=cfq
write /sys/block/mmcblk0/queue/iosched/slice_idle 0

# Set slice_idle to 0 for BFQ
on property:sys.io.scheduler=bfq
write /sys/block/mmcblk0/queue/iosched/slice_idle 0

So, as we can see, it uses chmod (change/modify Linux command) to set special permissions (0660 - which in this case is the user and group but not others have permission to read and write to that file).

My guess is that the RR rom has a specific file or option that needs to be set for the first run to work, but is not needed later. Another thought is that is calls a script in the rom that check for first run, if it is the first run, it does something.... Just a guess though. I would have to break down their boot image to see for sure, which takes time.

Hope that helps! Clear as mud? And thanks for the questions! :D